zou/app/config.py.
Core Settings
boolean
default:"False"
Enable debug mode. Shows detailed error messages and enables auto-reload.
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.
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.
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.comstring
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 storageswift- OpenStack Swift object storages3- 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.
string
Legacy preview folder path.