diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cda6fd5..3d61f3e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -57,6 +57,8 @@ jobs: file: ./docker/prod/django/Dockerfile push: true provenance: false + build-args: | + VERSION=nightly tags: ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:nightly platforms: linux/amd64,linux/arm64 cache-from: type=gha @@ -70,6 +72,8 @@ jobs: file: ./docker/prod/django/Dockerfile push: true provenance: false + build-args: | + VERSION=${{ github.event.release.tag_name }} tags: | ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:latest ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:${{ github.event.release.tag_name }} @@ -85,6 +89,8 @@ jobs: file: ./docker/prod/django/Dockerfile push: true provenance: false + build-args: | + VERSION=${{ github.event.inputs.tag }} tags: ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:${{ github.event.inputs.tag }} platforms: linux/amd64,linux/arm64 cache-from: type=gha diff --git a/app/WYGIWYH/settings.py b/app/WYGIWYH/settings.py index 14d9a09..c3ca8d7 100644 --- a/app/WYGIWYH/settings.py +++ b/app/WYGIWYH/settings.py @@ -31,10 +31,8 @@ SECRET_KEY = os.getenv("SECRET_KEY", "") # SECURITY WARNING: don't run with debug turned on in production! DEBUG = os.getenv("DEBUG", "false").lower() == "true" -ALLOWED_HOSTS = os.environ.get("DJANGO_ALLOWED_HOSTS", "localhost 127.0.0.1").split(" ") -CSRF_TRUSTED_ORIGINS = os.environ.get("URL", "http://localhost http://127.0.0.1").split( - " " -) +ALLOWED_HOSTS = os.getenv("DJANGO_ALLOWED_HOSTS", "localhost 127.0.0.1").split(" ") +CSRF_TRUSTED_ORIGINS = os.getenv("URL", "http://localhost http://127.0.0.1").split(" ") # Application definition @@ -128,11 +126,11 @@ WSGI_APPLICATION = "WYGIWYH.wsgi.application" DATABASES = { "default": { "ENGINE": "django.db.backends.postgresql", - "NAME": os.environ.get("SQL_DATABASE"), - "USER": os.environ.get("SQL_USER", "user"), - "PASSWORD": os.environ.get("SQL_PASSWORD", "password"), - "HOST": os.environ.get("SQL_HOST", "localhost"), - "PORT": os.environ.get("SQL_PORT", "5432"), + "NAME": os.getenv("SQL_DATABASE"), + "USER": os.getenv("SQL_USER", "user"), + "PASSWORD": os.getenv("SQL_PASSWORD", "password"), + "HOST": os.getenv("SQL_HOST", "localhost"), + "PORT": os.getenv("SQL_PORT", "5432"), } } @@ -388,3 +386,4 @@ PWA_SERVICE_WORKER_PATH = BASE_DIR / "templates" / "pwa" / "serviceworker.js" ENABLE_SOFT_DELETE = os.getenv("ENABLE_SOFT_DELETE", "false").lower() == "true" KEEP_DELETED_TRANSACTIONS_FOR = int(os.getenv("KEEP_DELETED_ENTRIES_FOR", "365")) +APP_VERSION = os.getenv("APP_VERSION", "unknown") diff --git a/app/apps/common/templatetags/settings.py b/app/apps/common/templatetags/settings.py new file mode 100644 index 0000000..b7496d6 --- /dev/null +++ b/app/apps/common/templatetags/settings.py @@ -0,0 +1,9 @@ +from django import template +from django.conf import settings + +register = template.Library() + + +@register.simple_tag(name="settings") +def settings_value(name): + return getattr(settings, name, "") diff --git a/app/templates/includes/navbar/user_menu.html b/app/templates/includes/navbar/user_menu.html index 4010a85..7c21eae 100644 --- a/app/templates/includes/navbar/user_menu.html +++ b/app/templates/includes/navbar/user_menu.html @@ -1,3 +1,4 @@ +{% load settings %} {% load i18n %} diff --git a/docker/dev/django/Dockerfile b/docker/dev/django/Dockerfile index 920ca66..8c54d2a 100644 --- a/docker/dev/django/Dockerfile +++ b/docker/dev/django/Dockerfile @@ -10,6 +10,9 @@ RUN pip wheel --wheel-dir /usr/src/app/wheels -r requirements.txt FROM python:3.11-slim-bookworm AS python-run-stage +ARG VERSION=dev +ENV APP_VERSION=$VERSION + WORKDIR /usr/src/app ENV PYTHONDONTWRITEBYTECODE=1 \ diff --git a/docker/prod/django/Dockerfile b/docker/prod/django/Dockerfile index bd9684e..f780cfe 100644 --- a/docker/prod/django/Dockerfile +++ b/docker/prod/django/Dockerfile @@ -18,6 +18,10 @@ RUN --mount=type=cache,target=/root/.npm \ npm run build FROM python:3.11-slim-bookworm AS python-run-stage + +ARG VERSION=dev +ENV APP_VERSION=$VERSION + COPY --from=webpack_build /usr/src/frontend/build /usr/src/frontend/build WORKDIR /usr/src/app