Skip to content

Install

  1. Clone the repository.

    Terminal window
    git clone https://github.com/CMLPlatform/relab
    cd relab
  2. Install local tooling if you plan to modify code.

    Terminal window
    just setup
  3. Create local backend secrets.

    Terminal window
    just deploy-secrets-template dev

    Runtime secrets live in the gitignored secrets/dev/; replace a value there only when you need a real credential for an integration. For backend-only overrides such as OAuth, email, or the bootstrap superuser, create backend/.env.dev:

    backend/.env.dev
    GOOGLE_OAUTH_CLIENT_ID=google-oauth-client-id
    GITHUB_OAUTH_CLIENT_ID=github-oauth-client-id
    EMAIL_PROVIDER=smtp
    SMTP_HOST=smtp.example.com
    SMTP_USERNAME=you@example.com
    EMAIL_FROM=Your Name <you@example.com>
    EMAIL_REPLY_TO=you@example.com
    BOOTSTRAP_SUPERUSER_EMAIL=you@example.com
  4. Start the database and cache, then run the migrations.

    Terminal window
    just dev-db
    just dev-migrate

    To seed sample data, run SEED_DUMMY_DATA=true just dev-migrate. To seed the CPV or HS taxonomies too:

    Terminal window
    BACKEND_MIGRATIONS_INCLUDE_TAXONOMY_SEED_DEPS=true just dev-migrate
  5. Start the stack.

    Terminal window
    just dev

    just dev-up starts the stack without file watching.

  6. Open the local services.

  7. Verify the backend is healthy.

    Terminal window
    curl http://127.0.0.1:8010/health
  8. To run the checks:

    Terminal window
    just ci

To run the stack for other people on a production or staging host, continue with Configure.

For camera-assisted capture, install the Raspberry Pi Camera Plugin with its install guide. The Pi connects outbound to the backend over a WebSocket relay, so it needs no public IP or port forwarding. Set PAIRING_BACKEND_URL on the Pi, then pair it as the platform camera guide describes.