Run a production IngaDB instance.
IngaDB runs as an API service beside PostgreSQL. Production readiness comes down to credentials, origin policy, schema health, backups, and verification of the live surface.
Deployment topology
Required configuration
| Variable | Purpose | Production guidance |
|---|---|---|
INGADB_API_KEY | Deployment access gate | Set a generated value; startup refuses an empty key. |
POSTGRES_PASSWORD | Database credential | Use a generated secret stored outside the compose file. |
INGADB_SECRET_KEY | At-rest credential encryption | Set a unique production value. |
CORS_ALLOWED_ORIGIN | Browser origin policy | Pin the exact application origin. |
HARNESS_ENABLED | Test-only destructive routes | Keep disabled. |
Start with authentication enabled
INGADB_API_KEY=$(openssl rand -hex 32) \
docker compose -f deploy/docker-compose.yml up -dHealth and readiness
GET /admin/status reports build identity, configured protection, and migration counts. Treat a difference between migration_count andmigrations_applied as a failed deployment.
curl -fsS https://api.your-domain.com/admin/statusHardening checklist
- 01Terminate TLS before the API.
Expose only HTTPS to clients and keep PostgreSQL on a private network.
- 02Use scoped credentials.
Prefer organization API keys for services and personal tokens for operators.
- 03Pin CORS.
Set one expected browser origin and confirm unknown origins are not echoed.
- 04Verify migrations.
Block rollout completion until every migration is applied.
- 05Keep the harness off.
Test-tenant teardown routes must remain disabled outside automated tests.
Backup and restore
IngaDB data and database-backed blobs are captured through PostgreSQL backups. Schedule the supplied backup process, retain copies outside the host, and verify the first restore into a clean instance. Migrations are idempotent after restore.
Post-deploy acceptance
The acceptance journey should create a graph, write topology, append evidence, compute a view, read its revision and deltas, and confirm a final fresh read. This verifies the actual request path rather than health status alone.
For deployment requirements and environment-specific guidance, contact [email protected].