Skip to content

Configuration options

Ivole32 edited this page Feb 22, 2026 · 2 revisions

This document lists the configuration variables defined in api/config/config.py, their default values, where they come from, and a short description.

Name Default / Example Source Description
API_KEY_SECRET None environment (.env) Secret used for API key signing/verifying. Generated by the setup script; required for production. Keep secret.
ENABLE_LEGACY_ROUTES True code default Enable legacy API routes (/api/legacy). Set to False to disable backwards-compatible endpoints.
DEMO_MODE True code default Enables demo behaviour (e.g., default token shown in docs, ...).
RESET_DATABASE_WHEN_DEMO True code default If DEMO_MODE is enabled, reset the database on startup when True.
API_TITLE "Linux API" code default Short title shown in API docs.
API_DESCRIPTION "A Linux API server..." code default Long description shown in API docs.
API_VERSION "dev" code default Version segment used in API_PREFIX. Change for releases.
API_PREFIX f"/api/{API_VERSION}""/api/dev" by default computed Base path prefix for all API routes. Depends on API_VERSION.
LEGACY_API_PREFIX "/api/legacy" code default Base prefix for legacy (old) routes.
API_DOCS_ENABLED True code default Enables automatic API documentation endpoints. Set False to hide docs.
ALLOWED_HOSTS ['*'] code default Hosts allowed to access the API. Use specific hostnames in production.
ROUTE_DISABLE_CONFIG [] code default List of specific routes (strings) to disable. Example: ['/api/dev/system/info/processes'].
ROUTE_DISABLED_REASON "The route is currenty disabled." code default Message returned when a disabled route is accessed.
ROUTE_DISABLED_RETRY_AFTER 600 (seconds) code default How long (seconds) clients should wait before retrying a disabled route.
API_RATE_LIMIT_ENABLED True code default Global toggle for API rate limiting.
API_DEFAULT_RATE_LIMITS ['100/minute'] code default Default rate-limit rules applied when rate limiting is enabled.
USERNAME_MIN_LENGTH 4 code default Minimum allowed username length.
USERNAME_MAX_LENGTH 12 code default Maximum allowed username length.
POSTGRES_HOST "127.0.0.1" code default Hostname or IP of the PostgreSQL server. In Docker use service name.
POSTGRES_PORT 5432 code default Port number for PostgreSQL.
POSTGRES_USER None environment (.env) Database username—expected to be set via environment or .env. Required for DB connection.
POSTGRES_PASSWORD None environment (.env) Database password—expected to be set via environment or .env. Required for DB connection.
POSTGRES_DATABASE None environment (.env) Database name—expected to be set via environment or .env.
POSTGRES_MIN_CONNECTIONS 1 code default Minimum pool connections.
POSTGRES_MAX_CONNECTIONS 5 code default Maximum pool connections. Adjust for load.
POSTGRES_CONNECT_TIMEOUT 5.0 (seconds) code default Connection timeout in seconds. Must be a float.
POSTGRES_RETRIES 2 code default Number of connection retry attempts.
POSTGRES_RETRY_DELAY 2.0 (seconds) code default Delay between retries in seconds.
POSTGRES_HEALTHCHECK_TIMEOUT 15.0 (seconds) code default Timeout for DB health checks.
POSTGRES_HEALTHCHECK_INTERVALL 5.0 (seconds) code default Interval between DB health checks (note: spelled INTERVALL in code).
CORS_ALLOWED_ORIGINS ['*'] code default Allowed CORS origins. Use explicit origins in production for security.
CORS_ALLOWED_METHODS ['GET','POST','DELETE','OPTIONS'] code default Allowed HTTP methods for CORS.
CORS_ALLOWED_HEADERS ['*'] code default Allowed CORS headers.
CORS_MAX_AGE 600 (seconds) code default How long preflight responses may be cached.
BACKUP_DATABASE_BEFORE_MIGRATION True code default Create DB backup before running migrations (recommended).
BACKUP_DATABASE_AT_STARTUP False code default Create a DB backup on every application startup if True.
DATABASE_BACKUP_DIR r"C:\Users\<not_for_you>\Documents\GitHub\Linux-API\backup" code default Local path where DB backups are stored. Edit for your environment.
AUTO_MIGRATE_DATABASE_ON_STARTUP True code default Automatically apply DB migrations on startup. Disable to manage migrations manually.
ALEMBIC_INI_FILE r"C:\Users\<not_for_you>\Documents\GitHub\Linux-API\alembic.ini" code default Path to alembic.ini used for migrations. Update if your repo path differs.

Clone this wiki locally