Skip to main content
Zou uses environment variables for configuration. All configuration is defined in zou/app/config.py.

Core Settings

boolean
default:"False"
Enable debug mode. Shows detailed error messages and enables auto-reload.
Never enable in production environments
string
default:"127.0.0.1"
Host address for debug server.
integer
default:"5000"
Port for debug server.
string
default:"mysecretkey"
Secret key for session encryption and JWT tokens.
Must be changed in production. Use a strong random string

Database Configuration

string
default:"postgresql+psycopg"
SQLAlchemy database driver. Uses psycopg (version 3) by default.
string
default:"localhost"
PostgreSQL database host address.
string
default:"5432"
PostgreSQL database port.
string
default:"postgres"
Database username for authentication.
string
default:"mysecretpassword"
Database password for authentication.
Change this in production environments
string
default:"zoudb"
Name of the PostgreSQL database.

Connection Pool Settings

integer
default:"30"
Number of database connections to maintain in the pool.
integer
default:"60"
Maximum number of connections that can be created beyond pool_size.
boolean
default:"True"
Verify connections before using them. Prevents using stale connections.
integer
default:"3600"
Recycle connections after this many seconds (prevents long-lived connections).
string
default:"commit"
Reset connections when returning to pool. Options: commit, rollback, none.Cleans up transaction state to prevent issues between requests.

Redis / Key-Value Store

string
default:"localhost"
Redis server host for caching, event streams, and job queues.
string
default:"6379"
Redis server port.
string
default:"None"
Redis password for authentication (if required).
string
default:"None"
Cache backend type. Set to enable caching.

Authentication & Security

string
default:"auth_local_classic"
Authentication strategy. Options:
  • auth_local_classic - Standard username/password authentication
  • LDAP authentication (requires additional LDAP configuration)
  • SAML authentication (requires additional SAML configuration)
integer
default:"12"
Bcrypt password hashing rounds. Higher values increase security but slow down authentication.
integer
default:"8"
Minimum password length requirement.
boolean
default:"False"
Require two-factor authentication for all users.
string
default:""
Comma-separated list of user emails exempt from mandatory 2FA requirement.Example: user1@example.com,user2@example.com
string
default:""
Semicolon-separated list of protected account emails that cannot be modified.
integer
default:"100"
Maximum number of users allowed in the system.

JWT Token Configuration

JWT tokens are managed automatically. The following are configured in code:
  • Access token expires: 7 days
  • Refresh token expires: 15 days
  • Token locations: cookies and headers
  • Cookie SameSite: Lax
integer
default:"604800"
Client-side cache max age in seconds (default: 7 days).

File Storage

string
default:"./previews"
Local folder path for storing preview files and thumbnails.Falls back to THUMBNAIL_FOLDER if set, otherwise uses ./previews.
boolean
default:"False"
Save original source files alongside generated previews.
string
default:"/tmp/zou"
Temporary directory for file processing.
string
default:"local"
File storage backend. Options:
  • local - Local filesystem storage
  • swift - OpenStack Swift object storage
  • s3 - Amazon S3 or S3-compatible storage
string
default:""
Prefix for storage bucket names.

Swift Storage Configuration

string
OpenStack Swift authentication URL.
string
Swift username for authentication.
string
Swift tenant/project name.
string
Swift authentication key/password.
string
Swift region name.
boolean
default:"False"
Automatically create containers if they don’t exist.
string
default:"3"
Swift authentication version.
boolean
default:"False"
Enable AES-256 encryption for stored files.
string
AES-256 encryption key for Swift storage.

S3 Storage Configuration

string
AWS region for S3 storage.
string
S3-compatible endpoint URL (for MinIO, Wasabi, etc.).
string
S3 access key ID.
string
S3 secret access key.
boolean
default:"False"
Automatically create S3 buckets if they don’t exist.
boolean
default:"False"
Enable AES-256 encryption for stored files.
string
AES-256 encryption key for S3 storage.
boolean
default:"False"
Enable file deletion functionality.

Event Stream

string
default:"localhost"
Host address for the event stream WebSocket server.
string
default:"5001"
Port for the event stream WebSocket server.
string
default:"./event_handlers"
Folder containing custom event handler scripts.

Mail Configuration

boolean
default:"True"
Enable email notifications.
string
default:"localhost"
SMTP server address.
string
default:"25"
SMTP server port.
string
default:""
SMTP username for authentication.
string
default:""
SMTP password for authentication.
boolean
default:"False"
Enable mail debugging output.
boolean
default:"False"
Include email body in debug output.
boolean
default:"False"
Use TLS for SMTP connection.
boolean
default:"False"
Use SSL for SMTP connection.
string
default:"no-reply@your-studio.com"
Default sender email address.
boolean
default:"True"
Check email address deliverability before sending.
string
default:"localhost:8080"
Domain name for email links.
string
default:"https"
Protocol for email links (http or https).

LDAP Authentication

string
default:"127.0.0.1"
LDAP server host address.
string
default:"389"
LDAP server port.
string
default:"cn=Users,dc=zou,dc=local"
LDAP base distinguished name.
string
default:""
LDAP group to restrict access.
string
default:"zou.local"
LDAP domain name.
boolean
default:"False"
Fall back to local authentication if LDAP fails.
boolean
default:"False"
Use Active Directory authentication mode.
boolean
default:"False"
Use simplified Active Directory authentication.
boolean
default:"False"
Use SSL/TLS for LDAP connection.

SAML Authentication

boolean
default:"False"
Enable SAML single sign-on authentication.
string
default:""
SAML identity provider name.
string
default:""
URL to SAML identity provider metadata.

Search Indexer

string
default:"localhost"
Meilisearch indexer host address.
string
default:"7700"
Meilisearch indexer port.
string
default:"http"
Protocol for indexer connection (http or https).
string
Meilisearch API key for authentication.
integer
default:"5000"
Indexer request timeout in milliseconds.

Job Queue

boolean
default:"False"
Enable background job queue processing.
boolean
default:"False"
Use remote job queue (Nomad) instead of local processing.
string
default:"zou-playlist"
Nomad job name for playlist processing.
string
default:""
Nomad job name for video normalization.
string
default:"zou-nomad-01.zou"
Nomad server host address.
string
default:"3600"
Job queue timeout in seconds.

Logging & Monitoring

string
default:"default"
Logging mode configuration.
string
default:"localhost"
Remote logging server host.
string
default:"2202"
Remote logging server port.
string
Authentication token for remote logging.
boolean
default:"False"
Log 404 file not found errors.

Sentry Error Tracking

boolean
default:"False"
Enable Sentry error tracking for API.
string
default:""
Sentry DSN (Data Source Name) for API.
float
default:"1.0"
Sentry sample rate for API (0.0 to 1.0).
string
default:"False"
Sentry debug URL configuration.
boolean
default:"False"
Enable Sentry error tracking for Kitsu frontend.
string
default:""
Sentry DSN for Kitsu frontend.
float
default:"0.1"
Sentry sample rate for Kitsu frontend (0.0 to 1.0).

Prometheus Metrics

boolean
default:"False"
Enable Prometheus metrics endpoint.

Localization

string
default:"Europe/Paris"
Default timezone for the application.
string
default:"en_US"
Default locale for the application.

Pagination

integer
default:"100"
Number of records per page for paginated API endpoints.

Plugins

string
default:"./plugins"
Folder containing custom plugins.

Telemetry

boolean
default:"True"
Indicate if this is a self-hosted instance.
string
URL for sending anonymized telemetry data (user and preview counts).Helps size the Kitsu community. Set by default based on DEBUG mode.
string
default:""
Crisp chat widget token.

Deprecated Variables

string
default:"default"
Default file tree template.
Deprecated - may be removed in future versions
string
Legacy preview folder path.
Deprecated - use PREVIEW_FOLDER instead

Example Configuration