Skip to main content
Change these secrets before your first production deployment. The defaults are intentionally weak and must not be used in production:
  • SECRET_KEY
  • DEFAULT_ADMIN_PASSWORD
  • INIT_TOKEN_SECRET
  • SESSION_TOKEN_SECRET
The API service (peermetrics/api) is the metric ingestion endpoint. It also creates the default admin user on first startup.
DEBUG
string
default:"False"
Enable Django debug mode. Set to "False" in production. Setting this to "True" exposes stack traces in HTTP responses.
DJANGO_SETTINGS_MODULE
string
default:"api.settings"
Django settings module. Use "api.settings" for the API service. Do not change this value.
SECRET_KEY
string
required
Django secret key used for cryptographic signing. Change this to a long, random string in production.
DEFAULT_ADMIN_USERNAME
string
default:"admin"
Username for the admin account created automatically on first startup.
DEFAULT_ADMIN_PASSWORD
string
required
Password for the auto-created admin account. Change this in production. Must match the value set in the web service.
DEFAULT_ADMIN_EMAIL
string
Email address for the auto-created admin account.
INIT_TOKEN_SECRET
string
required
Secret used to generate JWT tokens for SDK authentication. Change this to a long, random string in production.
SESSION_TOKEN_SECRET
string
required
Secret used to encrypt session cookies. Change this to a long, random string in production.
WEB_DOMAIN
string
default:"localhost:8080"
Hostname (and optional port) of the web service, for example localhost:8080 or app.example.com. Used to generate cross-service links.
URL_PREFIX
string
default:""
Subpath prefix when serving under a non-root path, for example /peermetrics. The nginx configuration must have matching location blocks. Leave empty when serving from the root.
REDIS_HOST
string
default:"redis://127.0.0.1:6379"
Redis connection URL. Update this to point to your Redis instance when it is not running on localhost.
DATABASE_HOST
string
PostgreSQL hostname or IP address.
DATABASE_PORT
string
default:"5432"
PostgreSQL port.
DATABASE_USER
string
PostgreSQL username.
DATABASE_PASSWORD
string
PostgreSQL password.
DATABASE_NAME
string
PostgreSQL database name.
CONN_MAX_AGE
string
default:"14400"
Django database connection max age in seconds. Persistent connections reduce overhead by reusing database connections. The default of 14400 (4 hours) is suitable for most deployments.
POST_CONFERENCE_CLEANUP
string
default:"True"
Delete raw stats events after a conference ends. The API summarizes these events into an aggregate at the end of each conference, so the raw events are no longer needed. Set to "True" to save storage. See the FAQ for details.
USE_GOOGLE_CLOUD_LOGGING
string
Enable Google Cloud Logging. Set to "True" when deploying to Google App Engine or any environment where you want logs forwarded to Cloud Logging. Optional.
USE_GOOGLE_TASK_QUEUE
string
Use Google Cloud Tasks instead of the default task queue. Set to "True" when deploying to App Engine. Optional.
GOOGLE_TASK_QUEUE_NAME
string
The name of the Cloud Tasks queue to use, for example queue-1. Required when USE_GOOGLE_TASK_QUEUE is "True".
APP_ENGINE_LOCATION
string
The App Engine region where the app is deployed, for example us-east1. Required when USE_GOOGLE_TASK_QUEUE is "True".
TASK_QUEUE_DOMAIN
string
The base URL that Cloud Tasks will use when calling the API, for example https://api.example.com/. Must end with a trailing slash. Required when USE_GOOGLE_TASK_QUEUE is "True".

Build docs developers (and LLMs) love