45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
"""Settings for the container image, from environment variables."""
|
|
|
|
import os
|
|
|
|
from dpdapisite.settings import * # noqa: F403
|
|
|
|
DEBUG = False
|
|
SECRET_KEY = os.environ["SECRET_KEY"]
|
|
ALLOWED_HOSTS = os.getenv("ALLOWED_HOSTS", "").split(",")
|
|
CSRF_TRUSTED_ORIGINS = [f"https://{host}" for host in ALLOWED_HOSTS if host]
|
|
|
|
# A DB_HOST starting with / is a unix socket
|
|
DATABASES = {
|
|
"default": {
|
|
"ENGINE": "django.db.backends.mysql",
|
|
"NAME": os.getenv("DB_NAME", "prod_mail"),
|
|
"USER": os.getenv("DB_USER", "mailserver"),
|
|
"PASSWORD": os.environ["DB_PASSWORD"],
|
|
"HOST": os.getenv("DB_HOST", "/run/mysqld/mysqld.sock"),
|
|
"CONN_MAX_AGE": 60,
|
|
"CONN_HEALTH_CHECKS": True,
|
|
},
|
|
}
|
|
|
|
# TLS ends at the host's nginx
|
|
SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https")
|
|
SECURE_SSL_REDIRECT = True
|
|
SESSION_COOKIE_SECURE = True
|
|
CSRF_COOKIE_SECURE = True
|
|
|
|
if dsn := os.getenv("SENTRY_DSN"):
|
|
import sentry_sdk
|
|
from sentry_sdk.integrations.django import DjangoIntegration
|
|
|
|
sentry_sdk.init(
|
|
dsn=dsn,
|
|
environment=os.getenv("SENTRY_ENVIRONMENT", "production"),
|
|
release=os.getenv("SENTRY_RELEASE", "N/A"),
|
|
integrations=[DjangoIntegration()],
|
|
send_default_pii=False,
|
|
traces_sample_rate=0,
|
|
send_client_reports=False,
|
|
auto_session_tracking=False,
|
|
)
|