my-homelab-configs/infra/arr-stack/bootstrap.sh

61 lines
1.7 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ENV_FILE="${ARR_ENV_FILE:-${SCRIPT_DIR}/.env}"
if [[ ! -f "${ENV_FILE}" ]]; then
cp "${SCRIPT_DIR}/.env.example" "${ENV_FILE}"
fi
set -a
# shellcheck disable=SC1090
. "${ENV_FILE}"
set +a
ARR_ROOT="${ARR_ROOT:-/data/arr}"
PUID="${PUID:-1000}"
PGID="${PGID:-1000}"
sudo mkdir -p \
"${ARR_ROOT}/config/flaresolverr" \
"${ARR_ROOT}/config/prowlarr" \
"${ARR_ROOT}/config/radarr" \
"${ARR_ROOT}/config/sonarr" \
"${ARR_ROOT}/config/qbittorrent" \
"${ARR_ROOT}/config/kapowarr" \
"${ARR_ROOT}/config/suwayomi" \
"${ARR_ROOT}/config/maintainerr" \
"${ARR_ROOT}/downloads/complete" \
"${ARR_ROOT}/downloads/incomplete" \
"${ARR_ROOT}/downloads/torrents" \
"${ARR_ROOT}/media/movies" \
"${ARR_ROOT}/media/tv" \
"${ARR_ROOT}/media/comics" \
"${ARR_ROOT}/media/manga"
sudo chown -R "${PUID}:${PGID}" "${ARR_ROOT}"
docker compose --env-file "${ENV_FILE}" -f "${SCRIPT_DIR}/docker-compose.yml" up -d
cat <<EOF
ARR stack requested.
Storage root:
${ARR_ROOT}
Web UIs:
Prowlarr: http://127.0.0.1:${PROWLARR_PORT:-9696}
Radarr: http://127.0.0.1:${RADARR_PORT:-7878}
Sonarr: http://127.0.0.1:${SONARR_PORT:-8989}
qBittorrent: http://127.0.0.1:${QBITTORRENT_PORT:-8080}
FlareSolverr: http://127.0.0.1:${FLARESOLVERR_PORT:-8191}
Kapowarr: http://127.0.0.1:${KAPOWARR_PORT:-5656}
Suwayomi: http://127.0.0.1:${SUWAYOMI_PORT:-4567}
Maintainerr: http://127.0.0.1:${MAINTAINERR_PORT:-6246}
Next:
Update ${ENV_FILE} with generated API keys, then use docs/bootstrap.md for
safe app wiring and import-list guidance.
EOF