Files
Mateusz Gruszczyński 5980a61a7e soma improvements
2026-07-14 13:18:35 +02:00

54 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
APP_DIR="${APP_DIR:-$SCRIPT_DIR}"
INSTANCE_DIR="${INSTANCE_DIR:-$APP_DIR/instance}"
ENV_FILE="${ENV_FILE:-$APP_DIR/.env}"
DB_FILE="${DB_FILE:-$INSTANCE_DIR/fueltrack.db}"
# Uruchamiaj aplikację zawsze z jej właściwego katalogu.
cd "$APP_DIR"
# Wczytaj .env niezależnie od katalogu wywołania skryptu.
if [[ -f "$ENV_FILE" ]]; then
set -a
# shellcheck disable=SC1090
source "$ENV_FILE"
set +a
fi
mkdir -p "$INSTANCE_DIR"
mkdir -p "$(dirname -- "$DB_FILE")"
export FLASK_ENV="${FLASK_ENV:-development}"
export APP_HOST="${APP_HOST:-0.0.0.0}"
export APP_PORT="${APP_PORT:-8000}"
export GUNICORN_WORKERS="${GUNICORN_WORKERS:-1}"
export GUNICORN_THREADS="${GUNICORN_THREADS:-8}"
export GUNICORN_TIMEOUT="${GUNICORN_TIMEOUT:-0}"
export GUNICORN_APP="${GUNICORN_APP:-wsgi:app}"
# Jeśli DATABASE_URL nie jest ustawione w .env, użyj bezwzględnej
# ścieżki do pliku SQLite.
if [[ -z "${DATABASE_URL:-}" ]]; then
export DATABASE_URL="sqlite:///$DB_FILE"
fi
echo "FuelTrack DEV"
echo "Katalog aplikacji: $APP_DIR"
echo "Adres: http://localhost:${APP_PORT}"
echo "Baza: $DATABASE_URL"
exec gunicorn \
--chdir "$APP_DIR" \
--reload \
--access-logfile - \
--error-logfile - \
--worker-class gthread \
--workers "$GUNICORN_WORKERS" \
--threads "$GUNICORN_THREADS" \
--timeout "$GUNICORN_TIMEOUT" \
--bind "$APP_HOST:$APP_PORT" \
"$GUNICORN_APP"