diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..95b6b57 --- /dev/null +++ b/config.toml @@ -0,0 +1,13 @@ +secret_key = "dev_sDo6gl1Yf8GIE7XEA2B4xF841eMOpfG1" +debug = false +hosts = ["localhost"] +trusted_origins = ["http://localhost"] +time_zone = "CET" + +[media] +root = "/var/lib/nummi" + +[databases.default] +ENGINE = "django.db.backends.postgresql" +NAME = "nummi" +USER = "nummi" diff --git a/nummi.env b/nummi.env deleted file mode 100644 index 345a556..0000000 --- a/nummi.env +++ /dev/null @@ -1,4 +0,0 @@ -NUMMI_MEDIA_ROOT="/var/lib/nummi" -NUMMI_SECRET="xxxxxx" -#NUMMI_DEBUG="True" -NUMMI_HOST="nummi.edgarpierre.fr" diff --git a/nummi/nummi/settings.py b/nummi/nummi/settings.py index 73cd510..c12bc8a 100644 --- a/nummi/nummi/settings.py +++ b/nummi/nummi/settings.py @@ -10,12 +10,21 @@ For the full list of settings and their values, see https://docs.djangoproject.com/en/4.0/ref/settings/ """ +import tomllib import os from pathlib import Path +CONFIG_PATH = os.environ.get("NUMMI_CONFIG", None) +if CONFIG_PATH is None: + CONFIG = dict() +else: + with open(CONFIG_PATH, "rb") as CONFIG_FILE: + CONFIG = tomllib.load(CONFIG_FILE) + # Build paths inside the project like this: BASE_DIR / 'subdir'. +MEDIA_CONF = CONFIG.get("media", {}) BASE_DIR = Path(__file__).resolve().parent.parent -MEDIA_ROOT = Path(os.environ.get("NUMMI_MEDIA_ROOT", "/var/lib/nummi")) +MEDIA_ROOT = Path(MEDIA_CONF.get("root", "/var/lib/nummi")) MEDIA_URL = "media/" @@ -23,13 +32,13 @@ MEDIA_URL = "media/" # See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = os.environ.get("NUMMI_SECRET", "dev_sDo6gl1Yf8GIE7XEA2B4xF841eMOpfG1") +SECRET_KEY = CONFIG.get("secret_key", "dev_sDo6gl1Yf8GIE7XEA2B4xF841eMOpfG1") # SECURITY WARNING: don't run with debug turned on in production! -DEBUG = os.environ.get("NUMMI_DEBUG", None) == "True" +DEBUG = CONFIG.get("debug", False) -ALLOWED_HOSTS = [os.environ.get("NUMMI_HOST", "localhost")] -CSRF_TRUSTED_ORIGINS = [f"https://{os.environ.get('NUMMI_HOST', 'localhost')}"] +ALLOWED_HOSTS = CONFIG.get("hosts", ["localhost"]) +CSRF_TRUSTED_ORIGINS = CONFIG.get("trusted_origins", ["http://localhost"]) # Application definition @@ -78,13 +87,13 @@ WSGI_APPLICATION = "nummi.wsgi.application" # Database # https://docs.djangoproject.com/en/4.0/ref/settings/#databases -DATABASES = { +DATABASES = CONFIG.get("databases", { "default": { "ENGINE": "django.db.backends.postgresql", "NAME": "nummi", "USER": "nummi", } -} +}) # Password validation @@ -110,7 +119,7 @@ AUTH_PASSWORD_VALIDATORS = [ # https://docs.djangoproject.com/en/4.0/topics/i18n/ LANGUAGE_CODE = "fr-fr" -TIME_ZONE = "CET" +TIME_ZONE = CONFIG.get("time_zone", "CET") USE_I18N = True USE_TZ = True LOCALE_PATHS = [