mirror of
https://github.com/eduardogsilva/wireguard_webadmin.git
synced 2025-06-27 16:57:01 +00:00
Add support for additional allowed hosts in environment configuration
This commit is contained in:
parent
06068fdc4c
commit
8708850143
@ -4,4 +4,9 @@ SERVER_ADDRESS=my_server_address
|
|||||||
DEBUG_MODE=False
|
DEBUG_MODE=False
|
||||||
|
|
||||||
# Choose a timezone from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
# Choose a timezone from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||||
TIMEZONE=America/Sao_Paulo
|
TIMEZONE=America/Sao_Paulo
|
||||||
|
|
||||||
|
# If you need additional hosts to be allowed, you can specify them here.
|
||||||
|
# The SERVER_ADDRESS will always be allowed.
|
||||||
|
# Example: EXTRA_ALLOWED_HOSTS=app1.example.com,app2.example.com:8443,app3.example.com
|
||||||
|
#EXTRA_ALLOWED_HOSTS=app1.example.com,app2.example.com:8443,app3.example.com
|
@ -104,9 +104,16 @@ This mode is recommended for running the web admin interface. The container depl
|
|||||||
|
|
||||||
```env
|
```env
|
||||||
# Configure SERVER_ADDRESS to match the address of the server. If you don't have a DNS name, you can use the IP address.
|
# Configure SERVER_ADDRESS to match the address of the server. If you don't have a DNS name, you can use the IP address.
|
||||||
# A misconfigured SERVER_ADDRESS will cause the app to have CSRF errors.
|
# A missconfigured SERVER_ADDRESS will cause the app to have CSRF errors.
|
||||||
SERVER_ADDRESS=my_server_address
|
SERVER_ADDRESS=my_server_address
|
||||||
DEBUG_MODE=False
|
DEBUG_MODE=False
|
||||||
|
|
||||||
|
# Choose a timezone from https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||||
|
TIMEZONE=America/Sao_Paulo
|
||||||
|
|
||||||
|
# If you need additional hosts to be allowed, you can specify them here.
|
||||||
|
# The SERVER_ADDRESS will always be allowed.
|
||||||
|
#EXTRA_ALLOWED_HOSTS=app1.example.com,app2.example.com:8443,app3.example.com
|
||||||
```
|
```
|
||||||
|
|
||||||
Replace `my_server_address` with your actual server address.
|
Replace `my_server_address` with your actual server address.
|
||||||
|
@ -6,10 +6,11 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
environment:
|
environment:
|
||||||
- SERVER_ADDRESS=127.0.0.1
|
- SERVER_ADDRESS=${SERVER_ADDRESS}
|
||||||
- DEBUG_MODE=True
|
- DEBUG_MODE=${DEBUG_MODE}
|
||||||
- COMPOSE_VERSION=02r
|
- COMPOSE_VERSION=02r
|
||||||
- TZ=${TIMEZONE}
|
- TZ=${TIMEZONE}
|
||||||
|
- EXTRA_ALLOWED_HOSTS=${EXTRA_ALLOWED_HOSTS}
|
||||||
volumes:
|
volumes:
|
||||||
- wireguard:/etc/wireguard
|
- wireguard:/etc/wireguard
|
||||||
- static_volume:/app_static_files/
|
- static_volume:/app_static_files/
|
||||||
|
@ -5,10 +5,11 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
image: eduardosilva/wireguard_webadmin:latest
|
image: eduardosilva/wireguard_webadmin:latest
|
||||||
environment:
|
environment:
|
||||||
- SERVER_ADDRESS=127.0.0.1
|
- SERVER_ADDRESS=${SERVER_ADDRESS}
|
||||||
- DEBUG_MODE=True
|
- DEBUG_MODE=True
|
||||||
- COMPOSE_VERSION=02r
|
- COMPOSE_VERSION=02r
|
||||||
- TZ=${TIMEZONE}
|
- TZ=${TIMEZONE}
|
||||||
|
- EXTRA_ALLOWED_HOSTS=${EXTRA_ALLOWED_HOSTS}
|
||||||
volumes:
|
volumes:
|
||||||
- wireguard:/etc/wireguard
|
- wireguard:/etc/wireguard
|
||||||
- static_volume:/app_static_files/
|
- static_volume:/app_static_files/
|
||||||
|
@ -9,6 +9,7 @@ services:
|
|||||||
- DEBUG_MODE=${DEBUG_MODE}
|
- DEBUG_MODE=${DEBUG_MODE}
|
||||||
- COMPOSE_VERSION=02r
|
- COMPOSE_VERSION=02r
|
||||||
- TZ=${TIMEZONE}
|
- TZ=${TIMEZONE}
|
||||||
|
- EXTRA_ALLOWED_HOSTS=${EXTRA_ALLOWED_HOSTS}
|
||||||
volumes:
|
volumes:
|
||||||
- wireguard:/etc/wireguard
|
- wireguard:/etc/wireguard
|
||||||
- static_volume:/app_static_files/
|
- static_volume:/app_static_files/
|
||||||
|
@ -21,10 +21,21 @@ if [ ! -f /app_secrets/rrdtool_key ]; then
|
|||||||
cat /proc/sys/kernel/random/uuid > /app_secrets/rrdtool_key
|
cat /proc/sys/kernel/random/uuid > /app_secrets/rrdtool_key
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
SERVER_HOSTNAME=$(echo $SERVER_ADDRESS | cut -d ':' -f 1)
|
||||||
|
EXTRA_ALLOWED_HOSTS_STRING=""
|
||||||
|
CSRF_EXTRA_TRUSTED_ORIGINS=""
|
||||||
|
if [ -n "$EXTRA_ALLOWED_HOSTS" ]; then
|
||||||
|
IFS=',' read -ra ADDR <<< "$EXTRA_ALLOWED_HOSTS"
|
||||||
|
for i in "${ADDR[@]}"; do
|
||||||
|
EXTRA_ALLOWED_HOSTS_STRING+=", '$(echo $i | cut -d ':' -f 1)'"
|
||||||
|
CSRF_EXTRA_TRUSTED_ORIGINS+=", 'https://$i'"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
cat > /app/wireguard_webadmin/production_settings.py <<EOL
|
cat > /app/wireguard_webadmin/production_settings.py <<EOL
|
||||||
DEBUG = $DEBUG_VALUE
|
DEBUG = $DEBUG_VALUE
|
||||||
ALLOWED_HOSTS = ['wireguard-webadmin', '$SERVER_ADDRESS']
|
ALLOWED_HOSTS = ['wireguard-webadmin', '${SERVER_HOSTNAME}'${EXTRA_ALLOWED_HOSTS_STRING}]
|
||||||
CSRF_TRUSTED_ORIGINS = ['http://wireguard-webadmin', 'https://$SERVER_ADDRESS']
|
CSRF_TRUSTED_ORIGINS = ['http://wireguard-webadmin', 'https://$SERVER_ADDRESS'${CSRF_EXTRA_TRUSTED_ORIGINS}]
|
||||||
SECRET_KEY = '$(openssl rand -base64 32)'
|
SECRET_KEY = '$(openssl rand -base64 32)'
|
||||||
EOL
|
EOL
|
||||||
|
|
||||||
|
@ -3,9 +3,9 @@ certifi==2025.1.31
|
|||||||
charset-normalizer==3.4.1
|
charset-normalizer==3.4.1
|
||||||
crispy-bootstrap4==2024.10
|
crispy-bootstrap4==2024.10
|
||||||
Django==5.2
|
Django==5.2
|
||||||
django-crispy-forms==2.3
|
django-crispy-forms==2.4
|
||||||
idna==3.10
|
idna==3.10
|
||||||
pillow==11.2.0
|
pillow==11.2.1
|
||||||
pypng==0.20220715.0
|
pypng==0.20220715.0
|
||||||
pytz==2025.2
|
pytz==2025.2
|
||||||
qrcode==8.1
|
qrcode==8.1
|
||||||
|
@ -147,6 +147,6 @@ STATICFILES_DIRS = [
|
|||||||
DNS_CONFIG_FILE = '/etc/dnsmasq/wireguard_webadmin_dns.conf'
|
DNS_CONFIG_FILE = '/etc/dnsmasq/wireguard_webadmin_dns.conf'
|
||||||
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
||||||
|
|
||||||
WIREGUARD_WEBADMIN_VERSION = 9965
|
WIREGUARD_WEBADMIN_VERSION = 9966
|
||||||
|
|
||||||
from wireguard_webadmin.production_settings import *
|
from wireguard_webadmin.production_settings import *
|
||||||
|
Loading…
x
Reference in New Issue
Block a user