40 lines
1.4 KiB
Bash
Executable File
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
|