Configuration
Eventyay uses Pydantic Settings to manage configuration. You can configure the application using environment variables, a .env file, TOML configuration files, or Docker secrets.
Configuration Sources
Eventyay reads configuration from the following sources, in order of priority (from highest to lowest):
Secret files in the
.secrets/directory or Docker Secrets.Environment variables (prefixed with
EVY_).``.env`` file in the current working directory.
Local TOML configuration file (
eventyay.local.toml).Environment-specific TOML configuration file (
eventyay.{active_environment}.toml).
The active environment is determined by the EVY_RUNNING_ENVIRONMENT environment variable (defaults to development). Possible values are production, development, and testing.
TOML Example
If you prefer to use a TOML configuration file (e.g., eventyay.production.toml), it should look like this:
debug = false
secret_key = "your-very-secret-key"
postgres_db = "eventyay-db"
redis_url = "redis://localhost/0"
site_url = "https://eventyay.example.com"
Environment Variables Example
If you prefer to use environment variables (or a .env file), you must prefix every setting with EVY_.
EVY_DEBUG=false
EVY_SECRET_KEY="your-very-secret-key"
EVY_POSTGRES_DB="eventyay-db"
EVY_REDIS_URL="redis://localhost/0"
EVY_SITE_URL="https://eventyay.example.com"
Available Settings
Below is a list of the most common configuration settings. For TOML, use the exact name. For environment variables, prefix the name with EVY_.
General Settings
debugWhether or not to run in debug mode. Default is
false. WARNING: Never set this totruein production!secret_keyThe secret to be used by Django for cryptographic signing. You must provide a secure, random string in production.
instance_nameThe name of this installation. Default:
eventyay.site_urlThe primary URL for the installation (e.g.,
https://eventyay.com).short_urlA shorter URL domain used for short links.
allowed_hostsA list of host/domain names that this Django site can serve.
Database Settings
postgres_dbThe PostgreSQL database name. Default:
eventyay-db.postgres_user,postgres_password,postgres_host,postgres_portConnection details for PostgreSQL. If left empty, “peer” authentication will be attempted.
Redis Settings
redis_urlThe URL for the Redis server used for caching, sessions, and Celery broker/backend. Default:
redis://localhost/0.
Email Settings
email_backendThe Django email backend class. Default is
django.core.mail.backends.console.EmailBackendfor local development. Set todjango.core.mail.backends.smtp.EmailBackendfor production.email_host,email_portThe SMTP Host and port to connect to. Default:
localhostand587.email_host_user,email_host_passwordThe SMTP authentication credentials.
email_use_tlsWhether to use TLS for SMTP connections. Default:
true.default_from_emailThe default email address used in the
Fromheader for outgoing emails.
Plugins & Modules
plugins_defaultA list of plugins that are enabled by default for all new events.
plugins_excludeA list of plugins that are completely disabled for the installation.
core_modulesCore application modules required for the Talk functionality.
Metrics & Sentry
sentry_dsnThe Data Source Name (DSN) for Sentry error tracking. Empty by default.
metrics_enabledWhether to expose prometheus metrics. Default:
false.metrics_user,metrics_passphraseBasic authentication credentials required to scrape the metrics endpoint.
Upload Limits
You can configure upload limits (in Megabytes) for different types of files:
upload_size_csv(Default: 10)upload_size_image(Default: 10)upload_size_pdf(Default: 10)upload_size_xlsx(Default: 2)upload_size_attachment(Default: 10)upload_size_mail(Default: 4)upload_size_question(Default: 20)upload_size_other(Default: 10)