Skip to content

Install Reflex

This page helps you install the Reflex server and a first agent, and lists what to change before real use.

The server holds projects, jobs and secrets. The agent runs the scripts.

  • A BQA account to download releases and pull images. See Access, downloads and Maven.
  • Docker, or Java 21 or newer.
  • Ports 7000 (server) and 7001 (agent) free.
  1. Download reflex.zip from the releases page and unzip it.
  2. Log in to the image registry with a Gitea token that can read packages:
    Terminal window
    echo "$TOKEN" | docker login git.bqa-solutions.nl -u <username> --password-stdin
  3. Start the stack:
    Terminal window
    docker compose up -d

The bundled docker-compose.yaml runs the reflex and agent services. It mounts the projects, database and config folders next to the file. Do not delete the empty config/application.yaml files: Docker needs them as files.

  1. Download and unzip reflex.zip as above.
  2. Start both services:
    Terminal window
    chmod +x run.sh
    ./run.sh # uses the Java on your PATH
    ./run.sh true # downloads a JRE first

To run a service by hand, start java -jar reflex.jar in reflex/ and java -jar agent-<os>-<arch>.jar in agent/ (for example agent-linux-x64.jar).

For a systemd setup, see server/README.md.

Open http://localhost:7000 and sign in as admin / admin.

Change the password now: open your profile, enter the current password and a new one (at least 8 characters). The admin account is only created on the first start, so changing DEFAULT_PASSWORD later has no effect.

Scripts only run when a project has an online agent. Open the project, go to Agents, choose Add agent and follow the pair code or URL-and-key steps. With the bundled Compose file the URL is http://agent:7001.

See Agents for both methods.

The defaults are for evaluation. Change these before others use the server:

  • Encryption key. Generate one with java -jar reflex.jar --generate and set ENCRYPTION_KEY. If you lose it, stored secrets cannot be read.
  • Admin password. Set DEFAULT_PASSWORD before the first start, or change it in your profile.
  • Public URL. Set AUTH_URL to the HTTPS address users open.
  • Agent key. Replace the default dev in AGENT_KEY.
  • Database. Use PostgreSQL for more than one user. SQLite is the default.
  • Sign-in. Connect OpenID Connect or Microsoft Entra ID for single sign-on.
  • Backups. Back up the database, the projects folder and the encryption key.

Put a reverse proxy with HTTPS in front of the server. All settings are in Configuration.