41 lines
1.0 KiB
Bash
41 lines
1.0 KiB
Bash
#!/bin/bash
|
||
# deploy.sh – App auf Ubuntu-Server deployen
|
||
# Ausführen: bash deploy.sh
|
||
|
||
set -e
|
||
|
||
APP_DIR="/opt/leihvertraege"
|
||
SERVICE="leihvertraege"
|
||
|
||
echo "→ Abhängigkeiten installieren..."
|
||
npm ci
|
||
|
||
echo "→ App bauen..."
|
||
npm run build
|
||
|
||
echo "→ Dateien nach $APP_DIR kopieren..."
|
||
sudo mkdir -p "$APP_DIR"
|
||
sudo cp -r build "$APP_DIR/"
|
||
sudo cp package.json "$APP_DIR/"
|
||
sudo cp package-lock.json "$APP_DIR/"
|
||
|
||
echo "→ Produktions-Abhängigkeiten installieren..."
|
||
cd "$APP_DIR"
|
||
sudo npm ci --omit=dev
|
||
|
||
echo "→ .env prüfen..."
|
||
if [ ! -f "$APP_DIR/.env" ]; then
|
||
echo " ⚠ Keine .env gefunden – bitte anlegen!"
|
||
echo " cp .env.example $APP_DIR/.env && nano $APP_DIR/.env"
|
||
fi
|
||
|
||
echo "→ Systemd-Service installieren..."
|
||
sudo cp "$OLDPWD/leihvertraege.service" /etc/systemd/system/
|
||
sudo systemctl daemon-reload
|
||
sudo systemctl enable "$SERVICE"
|
||
sudo systemctl restart "$SERVICE"
|
||
|
||
echo "✓ Deployment abgeschlossen."
|
||
echo " Status: sudo systemctl status $SERVICE"
|
||
echo " Logs: sudo journalctl -u $SERVICE -f"
|