Setting Up a Dev Environment
Make sure you have just installed. If you intend to download backups from S3, you will also need to have the minio-CLI tool installed:
pixi global install just minio-client
Quick Start
From the repo root, run the postinstall routine:
just postinstall
This will copy over required .env files in deployments/dev/.env and pre-populate with sensible defaults.
Adapt these as needed (in particular the HOST_URL).
Then launch a docker-compose based deployment:
just deploy
Services become available at specified ports.
Common Commands
just deploy --rebuild # rebuild images (after Dockerfile/dependency changes)
just deploy --detached # run in background
just db-up # start only the database
just db-down # stop the database
just compose # docker compose shorthand with local dev settings already set
Loading Data from Backup
Backups are produced routinely via a GitHub action and stored to /opt/virdx/vxplatform/backups on the jumphost as well as in the configured MinIO backup bucket on http://192.168.10.101:10000/.
You can manually insert a backup either via a local file:
just import-backup-file --path=./my-backup.dump
Or pull directly from S3:
# Uses default endpoint (http://192.168.10.101:10000) and path (backups-dev/staging/latest.dump)
just import-backup-s3 --access-key=... --secret-key=...
# Override path for a different backup
just import-backup-s3 --path=backups-dev/prod/latest.dump --access-key=... --secret-key=...
Configuring S3 backends
By default, just deploy starts a local MinIO container. When passing the --skip-minio flag, the MinIO containers will be foregone.
In any case, you must set environment variables & secrets correctly.
For the local MinIO container, do not set S3_ENDPOINT nor S3_BUCKET. In deployments/dev/.env.secrets, set keys to:
S3_ACCESS_KEY=minioadmin
S3_SECRET_KEY=minioadmin
When wanting to use external S3 deployments, you need to configure environment variables accordingly:
# in .env
S3_ENDPOINT=http://192.168.10.101:10000
S3_BUCKET=dataplatform-dev
# in .env.secrets
S3_ACCESS_KEY=<your_access_key>
S3_SECRET_KEY=<your_secret_key>