47 lines
1.3 KiB
Bash
Executable File
47 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
SEED_ROOT=/opt/plezy-demo
|
|
SEED_CONFIG="${SEED_ROOT}/seed-config"
|
|
SEED_CACHE="${SEED_ROOT}/seed-cache"
|
|
JELLYFIN_PID=""
|
|
|
|
stop_jellyfin() {
|
|
if [ -n "${JELLYFIN_PID}" ] && kill -0 "${JELLYFIN_PID}" 2>/dev/null; then
|
|
kill -TERM "${JELLYFIN_PID}"
|
|
wait "${JELLYFIN_PID}" || true
|
|
fi
|
|
}
|
|
|
|
on_exit() {
|
|
exit_status=$?
|
|
if [ "${exit_status}" -ne 0 ] && [ -f "${SEED_ROOT}/seed-jellyfin.log" ]; then
|
|
cat "${SEED_ROOT}/seed-jellyfin.log" >&2
|
|
fi
|
|
stop_jellyfin
|
|
}
|
|
trap on_exit EXIT
|
|
trap 'exit 130' INT
|
|
trap 'exit 143' TERM
|
|
|
|
mkdir -p "${SEED_CONFIG}/config" "${SEED_CONFIG}/log" "${SEED_CACHE}"
|
|
JELLYFIN_DATA_DIR="${SEED_CONFIG}" \
|
|
JELLYFIN_CONFIG_DIR="${SEED_CONFIG}/config" \
|
|
JELLYFIN_LOG_DIR="${SEED_CONFIG}/log" \
|
|
JELLYFIN_CACHE_DIR="${SEED_CACHE}" \
|
|
XDG_CACHE_HOME="${SEED_CACHE}" \
|
|
JELLYFIN_PublishedServerUrl="http://127.0.0.1:8096" \
|
|
/jellyfin/jellyfin >"${SEED_ROOT}/seed-jellyfin.log" 2>&1 &
|
|
JELLYFIN_PID=$!
|
|
|
|
python3 "${SEED_ROOT}/maestro_real_jellyfin.py" bootstrap \
|
|
--url http://127.0.0.1:8096 \
|
|
--timeout 180 \
|
|
--include-codecs
|
|
|
|
stop_jellyfin
|
|
JELLYFIN_PID=""
|
|
rm -rf "${SEED_CONFIG}/log" "${SEED_CACHE}" "${SEED_ROOT}/seed-jellyfin.log"
|
|
printf '%s\n' 'Plezy Jellyfin demo seed v1' >"${SEED_CONFIG}/.plezy-demo-seed"
|
|
trap - EXIT INT TERM
|