mirror of
https://github.com/torrentpier/torrentpier
synced 2025-08-22 06:13:58 -07:00
Update setup-docker.sh
This commit is contained in:
parent
2951fbeaef
commit
3206fab2c9
1 changed files with 62 additions and 50 deletions
|
@ -1,4 +1,5 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "🐳 Setting up TorrentPier for Docker..."
|
||||
echo ""
|
||||
|
@ -19,17 +20,17 @@ cp .env .env.backup
|
|||
echo "💾 Backup created: .env.backup"
|
||||
|
||||
# Enable server-side cron
|
||||
if grep -q "APP_CRON_ENABLED=true" .env; then
|
||||
sed -i 's/APP_CRON_ENABLED=true/APP_CRON_ENABLED=false/' .env
|
||||
if grep -q "^APP_CRON_ENABLED=true" .env; then
|
||||
sed -i 's/^APP_CRON_ENABLED=true/APP_CRON_ENABLED=false/' .env
|
||||
fi
|
||||
|
||||
if grep -q "DB_HOST=localhost" .env; then
|
||||
sed -i 's/DB_HOST=localhost/DB_HOST=torrentpier-db/' .env
|
||||
if grep -q "^DB_HOST=localhost" .env; then
|
||||
sed -i 's/^DB_HOST=localhost/DB_HOST=torrentpier-db/' .env
|
||||
echo "✅ Updated DB_HOST for Docker"
|
||||
fi
|
||||
|
||||
if grep -q "DB_USERNAME=root" .env; then
|
||||
sed -i 's/DB_USERNAME=root/DB_USERNAME=torrentpier_user/' .env
|
||||
if grep -q "^DB_USERNAME=root" .env; then
|
||||
sed -i 's/^DB_USERNAME=root/DB_USERNAME=torrentpier_user/' .env
|
||||
echo "✅ Updated DB_USERNAME to torrentpier_user"
|
||||
fi
|
||||
|
||||
|
@ -42,10 +43,11 @@ if [ -z "$DB_PASSWORD" ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
ESCAPED_PASSWORD=$(printf '%s\n' "$DB_PASSWORD" | sed 's/[&/\]/\\&/g')
|
||||
# More robust password escaping for sed
|
||||
ESCAPED_PASSWORD=$(printf '%s\n' "$DB_PASSWORD" | sed 's/[[\.*^$()+?{|]/\\&/g')
|
||||
|
||||
if grep -q "DB_PASSWORD=" .env; then
|
||||
sed -i "s|DB_PASSWORD=.*|DB_PASSWORD=$ESCAPED_PASSWORD|" .env
|
||||
if grep -q "^DB_PASSWORD=" .env; then
|
||||
sed -i "s/^DB_PASSWORD=.*/DB_PASSWORD=$ESCAPED_PASSWORD/" .env
|
||||
echo "✅ Updated DB_PASSWORD in .env"
|
||||
else
|
||||
echo "DB_PASSWORD=$DB_PASSWORD" >> .env
|
||||
|
@ -54,19 +56,25 @@ fi
|
|||
|
||||
echo ""
|
||||
read -p "🌐 Enter your host (IP or domain, e.g. 192.168.1.100 or example.com): " TP_HOST
|
||||
echo ""
|
||||
|
||||
if [ -z "$TP_HOST" ]; then
|
||||
echo ""
|
||||
echo "❌ Error: Host cannot be empty!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Basic validation for host format
|
||||
if [[ ! "$TP_HOST" =~ ^[a-zA-Z0-9.-]+$ ]]; then
|
||||
echo "❌ Error: Invalid host format! Use only letters, numbers, dots, and hyphens."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TP_HOST=$(echo "$TP_HOST" | sed -E 's|^https?://||')
|
||||
TP_HOST=$(echo "$TP_HOST" | sed 's|/||g')
|
||||
ESCAPED_HOST=$(printf '%s\n' "$TP_HOST" | sed 's/[&/\]/\\&/g')
|
||||
ESCAPED_HOST=$(printf '%s\n' "$TP_HOST" | sed 's/[[\.*^$()+?{|]/\\&/g')
|
||||
|
||||
if grep -q "TP_HOST=" .env; then
|
||||
sed -i "s|TP_HOST=.*|TP_HOST=$ESCAPED_HOST|" .env
|
||||
if grep -q "^TP_HOST=" .env; then
|
||||
sed -i "s/^TP_HOST=.*/TP_HOST=$ESCAPED_HOST/" .env
|
||||
echo "✅ Updated TP_HOST to $TP_HOST"
|
||||
else
|
||||
echo "TP_HOST=$TP_HOST" >> .env
|
||||
|
@ -85,18 +93,22 @@ ENABLE_SSL=$(echo "$ENABLE_SSL" | tr '[:upper:]' '[:lower:]')
|
|||
|
||||
if [ "$ENABLE_SSL" = "y" ] || [ "$ENABLE_SSL" = "yes" ]; then
|
||||
SSL_ENABLED="on"
|
||||
if grep -q "TP_PORT" .env; then
|
||||
sed -i "s|TP_PORT=.*|TP_PORT=443|" .env
|
||||
if grep -q "^TP_PORT=" .env; then
|
||||
sed -i "s/^TP_PORT=.*/TP_PORT=443/" .env
|
||||
else
|
||||
echo "TP_PORT=443" >> .env
|
||||
fi
|
||||
else
|
||||
SSL_ENABLED="off"
|
||||
if grep -q "TP_PORT" .env; then
|
||||
sed -i "s|TP_PORT=.*|TP_PORT=80|" .env
|
||||
if grep -q "^TP_PORT=" .env; then
|
||||
sed -i "s/^TP_PORT=.*/TP_PORT=80/" .env
|
||||
else
|
||||
echo "TP_PORT=80" >> .env
|
||||
fi
|
||||
fi
|
||||
|
||||
if grep -q "SSL_ENABLED" .env; then
|
||||
sed -i "s|SSL_ENABLED=.*|SSL_ENABLED=$SSL_ENABLED|" .env
|
||||
if grep -q "^SSL_ENABLED=" .env; then
|
||||
sed -i "s/^SSL_ENABLED=.*/SSL_ENABLED=$SSL_ENABLED/" .env
|
||||
echo "✅ Updated SSL_ENABLED to $SSL_ENABLED"
|
||||
else
|
||||
echo "" >> .env
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue