Vinteros Labs

Getting Started

Get a licensed Flink Manager instance up and running in a few minutes using the prebuilt Docker image. For other install paths (release bundle, systemd), see the Installation guide.

License reminder: Flink Manager is commercial software. Make sure you have a valid license from vinteros-labs.com before installing — see the License guide.

1. Requirements

RequirementMinimumNotes
DockerAny recent versionRecommended way to run Flink Manager
Java22+ (JDK)Only needed when running the release bundle directly
PostgreSQL14+For persistent deployments. Not needed for a quick test (in-memory profile)
Apache Flink cluster2.xThe cluster you want to manage
Flink SQL Gateway2.x (optional)Needed only for the SQL workbench features

2. Quick test without a database

For a first look, run Flink Manager with the in-memory profile: no external database is needed, and data is kept in memory (lost on restart). This is for quick tests only — for production, use the default profile with PostgreSQL (see Installation).

Create a .env file next to your docker-compose.yml:

# .env — the compose file refuses to start without these
DB_PASSWORD=change-me
JWT_SECRET=<random-base64-secret>
AUTH_SECRET_KEY=<random-32-bytes-base64>
# docker-compose.yml
services:
  flink-manager:
    image: vinteroslabs/flink-manager:latest
    pull_policy: always
    ports:
      - "${SERVER_PORT:-8080}:${SERVER_PORT:-8080}"
    environment:
      FLINK_SERVER_URL: "${FLINK_SERVER_URL:-http://jobmanager:8081}"
      FLINK_SQL_GATEWAY_URL: "${FLINK_SQL_GATEWAY_URL:-http://jobmanager:8083}"
      FLINK_SAVEPOINT_DIR: "${FLINK_SAVEPOINT_DIR:-/tmp/flink-savepoints}"
      DB_URL: "${DB_URL:-jdbc:postgresql://db:5432/flink-manager}"
      DB_USERNAME: "${DB_USERNAME:-flinkmgr}"
      DB_PASSWORD: "${DB_PASSWORD:?Set DB_PASSWORD in .env}"
      JWT_SECRET: "${JWT_SECRET:?Set JWT_SECRET in .env}"
      JWT_EXPIRATION_MS: "${JWT_EXPIRATION_MS:-43200000}"
      AUTH_SECRET_KEY: "${AUTH_SECRET_KEY:?Set AUTH_SECRET_KEY in .env}"
      AUTH_UI_BASE_URL: "${AUTH_UI_BASE_URL:-http://localhost:8080/flink-manager}"
      CORS_ALLOWED_ORIGINS: "${CORS_ALLOWED_ORIGINS:-}"
      SERVER_PORT: "${SERVER_PORT:-8080}"
      SPRING_PROFILES_ACTIVE: "${SPRING_PROFILES_ACTIVE:-in-memory-db}"
docker compose up -d
  • SPRING_PROFILES_ACTIVE defaults to in-memory-db in this template — no PostgreSQL needed. Data is not persisted: everything is lost when the container restarts. This profile is for quick tests only, not recommended beyond a first look.
  • The database variables (DB_URL, DB_USERNAME, DB_PASSWORD) are unused by the in-memory profile but are kept in the template so switching to a persistent deployment later is just a profile change.
  • CORS_ALLOWED_ORIGINS can stay empty: the console is served by the application itself, so the browser talks to the API on the same origin and no cross-origin permission is needed. Set it only if you serve the console from a different origin (e.g. behind a reverse proxy on another domain) — see Configuration.
  • To make this same compose file production-ready, set SPRING_PROFILES_ACTIVE=default in .env and point DB_URL at your PostgreSQL — see Installation.

3. Log in

Open http://localhost:8080/flink-manager/ and sign in with the seeded administrator account:

UsernamePasswordRole
adminadminFull administrative access
Change the default password immediately after first login (Configuration → Users & Roles). The operator, developer and viewer demo accounts are also seeded and should be removed or repurposed before going to production.

4. Point it at your Flink cluster

The FLINK_SERVER_URL passed at startup is only a bootstrap default. You can review or change the cluster connection at any time in the UI under Configuration → Flink Cluster — values saved there take effect at runtime, without a restart.

If you plan to use the SQL workbench, also set the SQL Gateway endpoint (FLINK_SQL_GATEWAY_URL or the same page).

5. Activate your license

Go to Configuration → License and paste the license token you received from Vinteros Labs. Until a valid license is installed, protected operations are locked. For a quick evaluation you can get a free trial license instantly from the license page — see the License guide for details.

6. Verify

CheckURL
Consolehttp://localhost:8080/flink-manager/
Health endpointhttp://localhost:8080/actuator/health
REST API basehttp://localhost:8080/api/flink
API docs (Swagger)http://localhost:8080/swagger-ui.html

Next steps