Files
arena-dashboard/entrypoint.sh
T

26 lines
791 B
Bash

#!/bin/sh
set -eu
INTERVAL=${CHECK_INTERVAL_HOURS:-3}
CRON_ENV=/run/arena-dashboard.env
# cron starts jobs with a minimal environment, so persist the variables that
# probe.py needs instead of relying on the daemon inheriting container env.
umask 077
{
printf 'DB_PATH=%s\n' "${DB_PATH:-/data/arena.db}"
printf 'OMNIROUTE_URL=%s\n' "${OMNIROUTE_URL:-http://192.168.1.101:20128}"
printf 'OMNIROUTE_API_KEY=%s\n' "${OMNIROUTE_API_KEY:-}"
printf 'CHECK_TIMEOUT=%s\n' "${CHECK_TIMEOUT:-30}"
printf 'CHECK_CONCURRENCY=%s\n' "${CHECK_CONCURRENCY:-5}"
} > "$CRON_ENV"
cat <<EOF | crontab -
0 */$INTERVAL * * * set -a; . $CRON_ENV; set +a; /usr/local/bin/python3 /app/app/probe.py >> /proc/1/fd/1 2>&1
EOF
cron
cd /app/app
exec uvicorn main:app --host 0.0.0.0 --port 8000 --workers 1