From 6a1b5dd4ced84a74c52a47a2bb6859276025cbe0 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Thu, 22 Jan 2026 16:45:21 +0100 Subject: [PATCH] Update wger-install.sh --- install/wger-install.sh | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/install/wger-install.sh b/install/wger-install.sh index d6b262c44..34d4f6394 100644 --- a/install/wger-install.sh +++ b/install/wger-install.sh @@ -20,7 +20,7 @@ $STD apt-get install -y \ libpq-dev msg_ok "Installed Dependencies" -NODE_VERSION="22" NODE_MODULE="yarn,sass" setup_nodejs +NODE_VERSION="22" NODE_MODULE="sass" setup_nodejs setup_uv PG_VERSION="16" setup_postgresql @@ -32,6 +32,9 @@ msg_info "Setting up wger" mkdir -p /opt/wger/{static,media} chmod o+w /opt/wger/media cd /opt/wger +$STD corepack enable +$STD npm install +$STD npm run build:css:sass $STD uv venv $STD uv pip install . SECRET_KEY=$(openssl rand -base64 40) @@ -46,6 +49,21 @@ DJANGO_MEDIA_ROOT=/opt/wger/media DJANGO_STATIC_ROOT=/opt/wger/static SECRET_KEY=${SECRET_KEY} EOF +cat <<'WSGI' >/opt/wger/wsgi_wrapper.py +import os +from pathlib import Path + +env_file = Path('/opt/wger/.env') +if env_file.exists(): + for line in env_file.read_text().splitlines(): + if line.strip() and not line.startswith('#') and '=' in line: + key, value = line.split('=', 1) + os.environ.setdefault(key.strip(), value.strip()) + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings.main') + +from wger.wsgi import application +WSGI set -a && source /opt/wger/.env && set +a export DJANGO_SETTINGS_MODULE=settings.main $STD uv run python manage.py migrate @@ -55,7 +73,7 @@ msg_ok "Set up wger" msg_info "Creating Service" cat </etc/apache2/sites-available/wger.conf - + Require all granted @@ -64,18 +82,8 @@ cat </etc/apache2/sites-available/wger.conf WSGIApplicationGroup %{GLOBAL} WSGIDaemonProcess wger python-path=/opt/wger python-home=/opt/wger/.venv WSGIProcessGroup wger - WSGIScriptAlias / /opt/wger/wger/wsgi.py + WSGIScriptAlias / /opt/wger/wsgi_wrapper.py WSGIPassAuthorization On - SetEnv DJANGO_SETTINGS_MODULE settings.main - SetEnv DJANGO_DB_ENGINE django.db.backends.postgresql - SetEnv DJANGO_DB_DATABASE ${PG_DB_NAME} - SetEnv DJANGO_DB_USER ${PG_DB_USER} - SetEnv DJANGO_DB_PASSWORD ${PG_DB_PASS} - SetEnv DJANGO_DB_HOST localhost - SetEnv DJANGO_DB_PORT 5432 - SetEnv DJANGO_MEDIA_ROOT /opt/wger/media - SetEnv DJANGO_STATIC_ROOT /opt/wger/static - SetEnv SECRET_KEY ${SECRET_KEY} Alias /static/ /opt/wger/static/