#!/usr/bin/env sh set -o errexit set -o nounset start() { jellyfin \ -w /var/www/jellyfin \ -c /etc/jellyfin \ -d /var/lib/jellyfin \ -l /var/log/jellyfin \ -C /tmp/jellyfin \ "$@" & PID=$! } start "$@" JELLYFIN_HOST="http://localhost:8096" JELLYFIN_ADMIN_USERNAME="${JELLYFIN_ADMIN_USERNAME:-admin}" until setup="$(curl -sf --retry 10 --retry-connrefused "$JELLYFIN_HOST/System/Info/Public" | jq -r '.StartupWizardCompleted' 2>/dev/null)"; do echo "Waiting for Jellyfin to be ready..." sleep 1 done if [ "$setup" = "false" ] && [ -f /etc/jellyfin/setup.sh ]; then # shellcheck disable=SC1091 . /etc/jellyfin/setup.sh kill "$PID" wait "$PID" 2>/dev/null || true start "$@" fi trap 'kill -INT "$PID"' INT TERM wait "$PID" exit $?