#!/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;"