From 4b59998e52cd5e4ae9db5b8ede157aec66f3d9a3 Mon Sep 17 00:00:00 2001 From: Nikhil <118773738+pablohashescobar@users.noreply.github.com> Date: Tue, 9 Dec 2025 21:05:26 +0530 Subject: [PATCH] [WEB-5592] chore: add static files update settings for static files support (#8251) * chore: add static files collection and update settings for static files support * chore: add WhiteNoise middleware for static file handling * chore(deps): upgrade WhiteNoise to version 6.11.0 and add static file reverse proxy in Caddyfile --- apps/api/bin/docker-entrypoint-api.sh | 3 +++ apps/api/plane/settings/common.py | 2 ++ apps/api/plane/static/logos/Logo.png | Bin 0 -> 19806 bytes apps/api/requirements/base.txt | 2 +- apps/proxy/Caddyfile.ce | 2 ++ 5 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 apps/api/plane/static/logos/Logo.png diff --git a/apps/api/bin/docker-entrypoint-api.sh b/apps/api/bin/docker-entrypoint-api.sh index 5a1da1570..7a6402864 100755 --- a/apps/api/bin/docker-entrypoint-api.sh +++ b/apps/api/bin/docker-entrypoint-api.sh @@ -32,4 +32,7 @@ python manage.py create_bucket # Clear Cache before starting to remove stale values python manage.py clear_cache +# Collect static files +python manage.py collectstatic --noinput + exec gunicorn -w "$GUNICORN_WORKERS" -k uvicorn.workers.UvicornWorker plane.asgi:application --bind 0.0.0.0:"${PORT:-8000}" --max-requests 1200 --max-requests-jitter 1000 --access-logfile - diff --git a/apps/api/plane/settings/common.py b/apps/api/plane/settings/common.py index a9e9925c2..8f28b9e98 100644 --- a/apps/api/plane/settings/common.py +++ b/apps/api/plane/settings/common.py @@ -36,6 +36,7 @@ INSTALLED_APPS = [ "django.contrib.auth", "django.contrib.contenttypes", "django.contrib.sessions", + "django.contrib.staticfiles", # Inhouse apps "plane.analytics", "plane.app", @@ -58,6 +59,7 @@ INSTALLED_APPS = [ MIDDLEWARE = [ "corsheaders.middleware.CorsMiddleware", "django.middleware.security.SecurityMiddleware", + "whitenoise.middleware.WhiteNoiseMiddleware", "plane.authentication.middleware.session.SessionMiddleware", "django.middleware.common.CommonMiddleware", "django.middleware.csrf.CsrfViewMiddleware", diff --git a/apps/api/plane/static/logos/Logo.png b/apps/api/plane/static/logos/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..385ed57aac8ec50ed27e4f07f5d9b5be65aae575 GIT binary patch literal 19806 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 UzltBzIRF3v07*qoM6N<$g40LaUH||9 literal 0 HcmV?d00001 diff --git a/apps/api/requirements/base.txt b/apps/api/requirements/base.txt index 7f2c64be4..52c18c706 100644 --- a/apps/api/requirements/base.txt +++ b/apps/api/requirements/base.txt @@ -21,7 +21,7 @@ celery==5.4.0 django_celery_beat==2.6.0 django-celery-results==2.5.1 # file serve -whitenoise==6.6.0 +whitenoise==6.11.0 # fake data faker==25.0.0 # filters diff --git a/apps/proxy/Caddyfile.ce b/apps/proxy/Caddyfile.ce index 48a7177eb..ea6bb795a 100644 --- a/apps/proxy/Caddyfile.ce +++ b/apps/proxy/Caddyfile.ce @@ -15,6 +15,8 @@ reverse_proxy /auth/* api:8000 + reverse_proxy /static/* api:8000 + reverse_proxy /{$BUCKET_NAME}/* plane-minio:9000 reverse_proxy /* web:3000