61 lines
1.7 KiB
Bash
Executable File
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
|