30 lines
886 B
Bash
Executable File
30 lines
886 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# Get environment variables with defaults
|
|
FLASK_DEBUG="${FLASK_DEBUG:-False}"
|
|
FLASK_ENV="${FLASK_ENV:-production}"
|
|
FLASK_PORT="${FLASK_PORT:-5172}"
|
|
FLASK_HOST="${FLASK_HOST:-0.0.0.0}"
|
|
|
|
echo "Starting Mailcow Alias Manager..."
|
|
echo "Environment: $FLASK_ENV"
|
|
echo "Debug mode: $FLASK_DEBUG"
|
|
echo "Port: $FLASK_PORT"
|
|
|
|
# Check if we should run in production mode
|
|
if [ "$FLASK_ENV" = "production" ] && [ "$FLASK_DEBUG" != "True" ] && [ "$FLASK_DEBUG" != "true" ] && [ "$FLASK_DEBUG" != "1" ]; then
|
|
echo "Starting with Gunicorn (production mode)..."
|
|
exec gunicorn --bind $FLASK_HOST:$FLASK_PORT \
|
|
--workers 4 \
|
|
--threads 2 \
|
|
--timeout 120 \
|
|
--access-logfile - \
|
|
--error-logfile - \
|
|
--log-level info \
|
|
"app:app"
|
|
else
|
|
echo "Starting with Flask development server (debug mode)..."
|
|
exec python app.py
|
|
fi
|