Files
x360-web-queue/setup.sh
T
2026-10-15 14:15:10 +02:00

40 lines
1.4 KiB
Bash
Executable File

#!/bin/sh
set -eu
cd "$(dirname "$0")"
. ./xbox-paths.sh
XBOX_DIR=$(xbox_host_directory)
xbox_prepare_directories "$XBOX_DIR"
if [ -f ./data/queue.sqlite3 ] && [ ! -f "$XBOX_DIR/queue.sqlite3" ]; then
echo 'Wykryto poprzednia kolejke w ./data/queue.sqlite3.' >&2
echo 'Zanim uruchomisz nowa wersje, wykonaj: ./migrate-to-xbox.sh' >&2
exit 1
fi
if [ -f .env ]; then
echo '.env juz istnieje; nie nadpisuje hasel.'
else
umask 077
PASSWORD=$(head -c 48 /dev/urandom | od -An -tx1 | tr -d ' \n')
SECRET=$(head -c 48 /dev/urandom | od -An -tx1 | tr -d ' \n')
sed -e "s/^WEB_PASSWORD=.*/WEB_PASSWORD=$PASSWORD/" -e "s/^ARIA2_SECRET=.*/ARIA2_SECRET=$SECRET/" .env.example > .env
# Persist a customized host directory so future `docker compose up` uses it.
if [ "$XBOX_DIR" != /xbox ]; then
grep -v '^XBOX_HOST_DIR=' .env > .env.tmp
printf 'XBOX_HOST_DIR=%s\n' "$XBOX_DIR" >> .env.tmp
mv .env.tmp .env
fi
chmod 600 .env
echo 'Utworzono .env (login admin, losowe haslo).'
echo "Haslo panelu: $PASSWORD"
fi
echo "Dane hosta: $XBOX_DIR (pobrane: $XBOX_DIR/downloads, robocze: $XBOX_DIR/work)"
if command -v docker >/dev/null 2>&1 && [ "${XBOX_SKIP_DOCKER:-0}" != 1 ]; then
docker compose up -d --build
echo "Panel: http://ADRES_IP_WIRTUALKI:${WEB_PORT:-8088}"
else
echo 'Uruchom Docker Engine z Compose i wykonaj: docker compose up -d --build'
fi