- Enhanced deploy-backend.sh and update-backend.sh to create the adult verification directory under /opt/yourpart-data. - Updated permissions for the new directory to ensure proper access control. - Refactored file path handling in AdminService and SettingsService to utilize the new directory structure for adult verification files.
71 lines
1.8 KiB
Bash
Executable File
71 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Optionaler Parameter für STAGE (Standard: production)
|
|
STAGE=${1:-production}
|
|
|
|
echo "Deploying YourPart Backend..."
|
|
echo "Using STAGE: $STAGE"
|
|
|
|
# Zum Backend-Verzeichnis wechseln
|
|
cd backend
|
|
|
|
# Alle generierten Verzeichnisse löschen
|
|
echo "Lösche alle generierten Verzeichnisse..."
|
|
rm -rf node_modules/.cache/
|
|
rm -rf logs/
|
|
rm -rf tmp/
|
|
|
|
# Dependencies installieren
|
|
echo "Installing dependencies..."
|
|
npm ci --production
|
|
|
|
# Altes Backend löschen und neues kopieren
|
|
echo "Lösche altes Backend..."
|
|
sudo rm -rf /opt/yourpart/backend
|
|
|
|
echo "Erstelle Backend-Verzeichnis..."
|
|
sudo mkdir -p /opt/yourpart/backend
|
|
sudo mkdir -p /opt/yourpart-data/adult-verification
|
|
|
|
echo "Kopiere neues Backend..."
|
|
sudo cp -r * /opt/yourpart/backend/
|
|
|
|
# Berechtigungen setzen
|
|
echo "Setting permissions..."
|
|
sudo chown -R yourpart:yourpart /opt/yourpart/backend
|
|
sudo chmod -R 755 /opt/yourpart/backend
|
|
sudo chown -R yourpart:yourpart /opt/yourpart-data
|
|
sudo chmod -R 755 /opt/yourpart-data
|
|
|
|
# .env-Datei kopieren (falls vorhanden)
|
|
if [ -f .env ]; then
|
|
echo "Copying .env file..."
|
|
sudo cp .env /opt/yourpart/backend/
|
|
sudo chown yourpart:yourpart /opt/yourpart/backend/.env
|
|
sudo chmod 600 /opt/yourpart/backend/.env
|
|
fi
|
|
|
|
# Systemd-Service aktualisieren und neu laden
|
|
echo "Updating systemd service..."
|
|
sudo cp yourpart.service /etc/systemd/system/
|
|
sudo systemctl daemon-reload
|
|
|
|
# Datenbank-Synchronisation durchführen
|
|
echo "Running database synchronization..."
|
|
cd /opt/yourpart/backend
|
|
|
|
# STAGE für Schema-Updates verwenden
|
|
echo "Running database sync with STAGE=$STAGE..."
|
|
export STAGE=$STAGE && npm run sync-db
|
|
|
|
# Service neu starten
|
|
echo "Restarting yourpart service..."
|
|
sudo systemctl restart yourpart
|
|
|
|
# Kurz warten und Status prüfen
|
|
sleep 2
|
|
echo "Checking service status..."
|
|
sudo systemctl status yourpart --no-pager
|
|
|
|
echo "Backend deployment completed!"
|