Installation
Prepare environment
docker network create dokploy-network # once, when using Traefik / Dokploy
cd deploy/bondery
cp .env.example .envFill domains and secrets — see Configuration for the full variable list.
Start services
docker compose up -dWithout Traefik (laptop smoke test):
cp docker-compose.override.yml.example docker-compose.override.yml
docker compose up -d
curl -sf http://localhost:26631/health/live
curl -sf http://localhost:26632/health/liveFirst-boot database
docker compose up runs api pre_start init containers before the main API container starts — they apply prisma migrate deploy, functions.sql, OAuth client provisioning, platform admin promotion, and SeaweedFS bucket creation. No manual step needed on first boot.
pre_start is skipped on ordinary api restarts when the init definition is unchanged. It runs again when api is recreated (new image, config change, or explicit recreate).
Requires Docker Compose v2.38+ (pre_start support). Check with docker compose version.
Verify
curl -sf https://api.example.com/health/ready
curl -sf https://app.example.com/health/ready
curl -sf https://app.example.com/api/health/readyManually test: OAuth login, API key auth, avatar upload, and a reminder if you use scheduled jobs.