| 1 | set -u |
| 2 | ROOT="/shared/projects/Sightline" |
| 3 | LOGS="$ROOT/_logs" |
| 4 | mkdir -p "$LOGS" |
| 5 | |
| 6 | export SIGHTLINE_DATABASE_URL="postgresql+psycopg2://sightline:sightline@127.0.0.1:5432/sightline" |
| 7 | export SIGHTLINE_REDIS_URL="redis://127.0.0.1:6379/0" |
| 8 | export SIGHTLINE_STORAGE_DIR="$ROOT/_storage" |
| 9 | export SIGHTLINE_ENVIRONMENT="poc" |
| 10 | export SIGHTLINE_SECRET_KEY="poc-$(hostname)-sightline-key" |
| 11 | |
| 12 | cd "$ROOT/backend" |
| 13 | source .venv/bin/activate |
| 14 | |
| 15 | echo "starting API on 0.0.0.0:8000 ..." |
| 16 | PYTHONPATH="$ROOT/backend" setsid nohup uvicorn app.main:app --host 0.0.0.0 --port 8000 \ |
| 17 | > "$LOGS/api.log" 2>&1 < /dev/null & |
| 18 | echo $! > "$LOGS/api.pid" |
| 19 | |
| 20 | echo "starting Celery worker ..." |
| 21 | PYTHONPATH="$ROOT/backend" setsid nohup celery -A app.workers.celery_app.celery_app worker \ |
| 22 | --loglevel=info --concurrency=2 > "$LOGS/worker.log" 2>&1 < /dev/null & |
| 23 | echo $! > "$LOGS/worker.pid" |
| 24 | |
| 25 | echo "starting satellite tracker ..." |
| 26 | cd "$ROOT/backend" |
| 27 | PYTHONPATH="$ROOT/backend" setsid nohup python live_satellites.py \ |
| 28 | > "$LOGS/sat_tracker.log" 2>&1 < /dev/null & |
| 29 | echo $! > "$LOGS/sat_tracker.pid" |
| 30 | |
| 31 | echo "starting frontend on 0.0.0.0:3000 ..." |
| 32 | cd "$ROOT/frontend" |
| 33 | setsid nohup npx next start -H 0.0.0.0 -p 3000 > "$LOGS/frontend.log" 2>&1 < /dev/null & |
| 34 | echo $! > "$LOGS/frontend.pid" |
| 35 | |
| 36 | echo "launched. logs in $LOGS/" |