Deployment

CloudSeed ships a multi-stage Dockerfile. The build stages compile Tailwind CSS and the Rust release binary. The final Debian image contains the application binary, migrations, and static assets.

Build the image

just docker-build

Or build it directly:

docker build -t cloudseed .

Production requirements

Provide:

  1. A PostgreSQL database through APP_DATABASE_URL.
  2. A unique APP_SESSION_SECRET with at least 32 bytes.
  3. The public application URL through APP_BASE_URL.
  4. A verified APP_RESEND_FROM_EMAIL and APP_RESEND_API_KEY for magic-link delivery.
  5. Container routing to APP_PORT, which defaults to 5000.

The database role must be able to create the pgcrypto extension used by the job-queue migration. Migrations run automatically during application startup; no separate migration command is required.

Health checks

  • GET /health reports process health without querying PostgreSQL.
  • GET /health_db verifies database connectivity.

Use /health for a basic liveness probe and /health_db when readiness must include the database.

Platform setup

The repository intentionally provides a portable container rather than vendor-specific deployment manifests. Configure secrets, networking, TLS, database backups, and process restart behavior in your hosting platform.

The included docker-compose.yml is for local development. Do not deploy its default credentials to production.