#!/usr/bin/env bash # ============================================================================= # VideoPress — startup script # Usage: ./start.sh [--prod] [PORT] # ============================================================================= set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" MODE="dev" PORT="" for arg in "$@"; do case "$arg" in --prod) MODE="prod" ;; --help|-h) echo "Usage: $0 [--prod] [PORT]" echo " --prod Run via Gunicorn+gevent (production)" echo " PORT Port number (default: 5000 dev / 8080 prod)" exit 0 ;; [0-9]*) PORT="$arg" ;; esac done [[ -z "$PORT" ]] && PORT=$( [[ "$MODE" == "prod" ]] && echo "8080" || echo "5000" ) echo "" echo "============================================================" echo " VideoPress | mode: $MODE | port: $PORT" echo "============================================================" echo "" check() { command -v "$1" &>/dev/null || { echo "ERROR: $1 not found. $2"; exit 1; }; } check python3 "Install Python 3.8+" check ffmpeg "sudo apt install ffmpeg" check ffprobe "Bundled with ffmpeg" python3 -c "import flask" 2>/dev/null || { echo "ERROR: Flask missing — pip install -r requirements.txt"; exit 1; } echo " ✓ Python $(python3 --version)" echo " ✓ Flask $(python3 -c 'import flask; print(flask.__version__)')" echo " ✓ FFmpeg available" echo " MEDIA_ROOT: ${MEDIA_ROOT:-/media (default)}" echo "" cd "$SCRIPT_DIR" if [[ "$MODE" == "prod" ]]; then python3 -c "import gunicorn" 2>/dev/null || { echo "ERROR: gunicorn missing — pip install -r requirements.txt"; exit 1; } python3 -c "import gevent" 2>/dev/null || { echo "ERROR: gevent missing — pip install -r requirements.txt"; exit 1; } echo " Starting Gunicorn on http://0.0.0.0:${PORT}" echo " Press Ctrl+C to stop." echo "============================================================" echo "" PORT="$PORT" exec gunicorn -c gunicorn.conf.py wsgi:application else echo " WARNING: Dev server only — use --prod or Docker for production." echo " Starting Flask on http://localhost:${PORT}" echo "============================================================" echo "" exec python3 run.py "$PORT" fi