Skip to main content
Every setting in config.json has a matching environment variable. When you set one, it takes priority over the value in the file — the file itself is never modified. This makes environment variables the preferred approach for Docker deployments, CI pipelines, and any situation where you want to keep secrets out of the filesystem.

Variable reference

Docker .env example

Create a .env file next to your docker-compose.yml and populate the variables relevant to your deployment:
For Docker Compose, put OCTOP_DATABASE_* in docker/.env and list those keys under environment: in docker-compose.yml. Compose uses .env for interpolation only; unset keys do not enter the container. Writing the same keys to the mounted ~/.octop/env also works.
Never store OCTOP_DATABASE_PASSWORD or OCTOP_ADMIN_PASSWORD directly in config.json for production deployments. Keep them in environment variables or a secrets manager, and ensure your .env file is excluded from version control (add it to .gitignore). Restrict config.json file permissions to the service account only (chmod 600 ~/.octop/config.json).