40 lines
1012 B
Bash
Executable File
40 lines
1012 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
echo "=== Starting HTTPS Proxy ==="
|
|
|
|
# Set default for WEBUI_PORT
|
|
export WEBUI_PORT="${WEBUI_PORT:-8443}"
|
|
|
|
# Generate certificates if needed
|
|
/certs/generate-certs.sh
|
|
|
|
# Replace env vars in nginx config template
|
|
envsubst '${WEBUI_PORT}' < /etc/nginx/nginx.conf.template > /etc/nginx/nginx.conf
|
|
|
|
# Ensure conf.d directory exists with empty config
|
|
mkdir -p /etc/nginx/conf.d
|
|
touch /etc/nginx/conf.d/proxy-targets.conf
|
|
|
|
# Load existing config and generate nginx config
|
|
if [ -f /data/proxy_config.json ]; then
|
|
echo "Loading existing proxy configuration..."
|
|
python3 -c "
|
|
import sys
|
|
sys.path.insert(0, '/app')
|
|
from app import load_config, generate_nginx_config
|
|
config = load_config()
|
|
generate_nginx_config(config)
|
|
print('Nginx config generated from saved configuration.')
|
|
"
|
|
fi
|
|
|
|
# Start gunicorn in background
|
|
echo "Starting WebUI..."
|
|
cd /app
|
|
gunicorn --bind 127.0.0.1:5000 --workers 2 --timeout 120 app:app &
|
|
|
|
# Start nginx in foreground
|
|
echo "Starting Nginx..."
|
|
exec nginx -g "daemon off;"
|