From 00588f846a6442d6491c87fd970e57ee76d888ad Mon Sep 17 00:00:00 2001 From: saxix Date: Fri, 21 Jun 2024 17:32:19 +0200 Subject: [PATCH] fixes Dockerfile and settings --- docker/bin/docker-entrypoint.sh | 3 +++ docker/conf/uwsgi.ini | 2 +- src/hope_dedup_engine/apps/core/apps.py | 1 + src/hope_dedup_engine/apps/core/checks.py | 19 +++++++++++++++++++ .../apps/core/management/commands/upgrade.py | 1 + src/hope_dedup_engine/config/settings.py | 3 +-- 6 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 src/hope_dedup_engine/apps/core/checks.py diff --git a/docker/bin/docker-entrypoint.sh b/docker/bin/docker-entrypoint.sh index 7c67a60f..455425be 100755 --- a/docker/bin/docker-entrypoint.sh +++ b/docker/bin/docker-entrypoint.sh @@ -4,10 +4,13 @@ export MEDIA_ROOT="${MEDIA_ROOT:-/var/run/app/media}" export STATIC_ROOT="${STATIC_ROOT:-/var/run/app/static}" export UWSGI_PROCESSES="${UWSGI_PROCESSES:-"4"}" +export DJANGO_SETTINGS_MODULE="${DJANGO_SETTINGS_MODULE:-"hope_dedup_engine.config.settings"}" mkdir -p "${MEDIA_ROOT}" "${STATIC_ROOT}" || echo "Cannot create dirs ${MEDIA_ROOT} ${STATIC_ROOT}" case "$1" in run) + django-admin check --deploy + django-admin upgrade set -- tini -- "$@" set -- gosu user:app uwsgi --ini /conf/uwsgi.ini ;; diff --git a/docker/conf/uwsgi.ini b/docker/conf/uwsgi.ini index 919740de..2492291d 100644 --- a/docker/conf/uwsgi.ini +++ b/docker/conf/uwsgi.ini @@ -3,7 +3,7 @@ http=0.0.0.0:8000 enable-threads=0 honour-range=1 master=1 -module=trash.wsgi +module=hope_dedup_engine.config.wsgi processes=$(UWSGI_PROCESSES) ;virtualenv=/code/.venv/ ;virtualenv=%(_) diff --git a/src/hope_dedup_engine/apps/core/apps.py b/src/hope_dedup_engine/apps/core/apps.py index 8b725e06..e52d1f67 100644 --- a/src/hope_dedup_engine/apps/core/apps.py +++ b/src/hope_dedup_engine/apps/core/apps.py @@ -8,3 +8,4 @@ class Config(AppConfig): def ready(self) -> None: super().ready() from hope_dedup_engine.utils import flags # noqa + from . import checks # noqa diff --git a/src/hope_dedup_engine/apps/core/checks.py b/src/hope_dedup_engine/apps/core/checks.py new file mode 100644 index 00000000..52673245 --- /dev/null +++ b/src/hope_dedup_engine/apps/core/checks.py @@ -0,0 +1,19 @@ +from django.core.checks import Error, register +from django.conf import settings +from pathlib import Path + +@register() +def example_check(app_configs, **kwargs): + errors = [] + for t in settings.TEMPLATES: + for d in t["DIRS"]: + if not Path(d).is_dir(): + errors.append( + Error( + f"'{d}' is not a directory", + hint="Remove this directory from settings.TEMPLATES.", + obj=settings, + id="hde.E001", + ) + ) + return errors diff --git a/src/hope_dedup_engine/apps/core/management/commands/upgrade.py b/src/hope_dedup_engine/apps/core/management/commands/upgrade.py index 513e2f01..c8a0168b 100644 --- a/src/hope_dedup_engine/apps/core/management/commands/upgrade.py +++ b/src/hope_dedup_engine/apps/core/management/commands/upgrade.py @@ -119,6 +119,7 @@ def handle(self, *args: Any, **options: Any) -> None: # noqa: C901 "stdout": self.stdout, } echo("Running upgrade", style_func=self.style.WARNING) + call_command("env", check=True) if self.run_check: diff --git a/src/hope_dedup_engine/config/settings.py b/src/hope_dedup_engine/config/settings.py index f9e4b333..a5442fe2 100644 --- a/src/hope_dedup_engine/config/settings.py +++ b/src/hope_dedup_engine/config/settings.py @@ -6,7 +6,6 @@ # BASE_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir)) SETTINGS_DIR = Path(__file__).parent PACKAGE_DIR = SETTINGS_DIR.parent -DEVELOPMENT_DIR = PACKAGE_DIR.parent.parent DEBUG = env.bool("DEBUG") @@ -129,7 +128,7 @@ TEMPLATES = [ { "BACKEND": "django.template.backends.django.DjangoTemplates", - "DIRS": [str(PACKAGE_DIR / "templates")], + "DIRS": [str(PACKAGE_DIR / "web/templates")], "APP_DIRS": False, "OPTIONS": { "loaders": [