#!/bin/bash echo "πŸš€ Setup: Neue Verzeichnisstruktur" echo "====================================" echo "" # Farben GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # Schritt 1: Verzeichnisse erstellen echo -e "${YELLOW}πŸ“ Schritt 1: Verzeichnisse erstellen${NC}" mkdir -p /root/entwicklung mkdir -p /root/livesysteme mkdir -p /root/backups/entwicklung/pfandsystem mkdir -p /root/backups/livesysteme/borbaecker echo -e "${GREEN}βœ… Verzeichnisse erstellt${NC}" echo "" # Schritt 2: Backend stoppen echo -e "${YELLOW}⏸️ Schritt 2: Services stoppen${NC}" pkill -f "node.*server.js" 2>/dev/null || true echo -e "${GREEN}βœ… Backend gestoppt${NC}" echo "" # Schritt 3: Docker Container stoppen echo -e "${YELLOW}🐳 Schritt 3: Docker Container stoppen${NC}" cd /root docker compose down 2>/dev/null || true echo -e "${GREEN}βœ… Docker Container gestoppt${NC}" echo "" # Schritt 4: Dev-Version verschieben echo -e "${YELLOW}πŸ”„ Schritt 4: Dev-Version verschieben${NC}" echo "Dies kann einige Minuten dauern..." # Wichtige Dateien/Ordner verschieben mv /root/backend /root/entwicklung/pfandsystem/ 2>/dev/null || true mv /root/src /root/entwicklung/pfandsystem/ 2>/dev/null || true mv /root/public /root/entwicklung/pfandsystem/ 2>/dev/null || true mv /root/dist /root/entwicklung/pfandsystem/ 2>/dev/null || true mv /root/docker-compose.yml /root/entwicklung/pfandsystem/ 2>/dev/null || true mv /root/package.json /root/entwicklung/pfandsystem/ 2>/dev/null || true mv /root/package-lock.json /root/entwicklung/pfandsystem/ 2>/dev/null || true mv /root/vite.config.js /root/entwicklung/pfandsystem/ 2>/dev/null || true mv /root/index.html /root/entwicklung/pfandsystem/ 2>/dev/null || true mv /root/.env /root/entwicklung/pfandsystem/ 2>/dev/null || true mv /root/fix-manifest-link.cjs /root/entwicklung/pfandsystem/ 2>/dev/null || true mv /root/Dockerfile /root/entwicklung/pfandsystem/ 2>/dev/null || true # Git verschieben mv /root/.git /root/entwicklung/pfandsystem/ 2>/dev/null || true mv /root/.gitignore /root/entwicklung/pfandsystem/ 2>/dev/null || true # Dokumentation verschieben mv /root/*.md /root/entwicklung/pfandsystem/ 2>/dev/null || true echo -e "${GREEN}βœ… Dev-Version verschoben${NC}" echo "" # Schritt 5: Live-Version klonen echo -e "${YELLOW}πŸ“₯ Schritt 5: Live-Version klonen${NC}" cd /root/livesysteme/borbaecker git clone ssh://git@49.13.154.75:2244/christian/pfandsystem.git . 2>/dev/null || echo "Git bereits geklont" echo -e "${GREEN}βœ… Live-Version geklont${NC}" echo "" # Schritt 6: Traefik-Configs anpassen echo -e "${YELLOW}πŸ”§ Schritt 6: Traefik-Configs erstellen${NC}" # Dev-Config cat > /root/traefik/dynamic/pfandsystem-dev.yml << 'EOF' http: routers: pfandsystem-dev-api: rule: "Host(`pfandsystem.backdigital.de`) && PathPrefix(`/api`)" service: pfandsystem-dev-api entryPoints: - web - websecure tls: certResolver: letsencrypt priority: 100 pfandsystem-dev-uploads: rule: "Host(`pfandsystem.backdigital.de`) && PathPrefix(`/uploads`)" service: pfandsystem-dev-api entryPoints: - web - websecure tls: certResolver: letsencrypt priority: 100 services: pfandsystem-dev-api: loadBalancer: servers: - url: "http://172.17.0.1:3001" EOF # Alte Config lΓΆschen rm /root/traefik/dynamic/local-backend.yml 2>/dev/null || true echo -e "${GREEN}βœ… Traefik-Configs erstellt${NC}" echo "" # Schritt 7: Backup-Scripte erstellen echo -e "${YELLOW}πŸ’Ύ Schritt 7: Backup-Scripte erstellen${NC}" # Dev-Backup cat > /root/entwicklung/pfandsystem/backup-dev.sh << 'EOF' #!/bin/bash BACKUP_DIR="/root/backups/entwicklung/pfandsystem" TIMESTAMP=$(date +%Y%m%d_%H%M%S) BACKUP_NAME="backup_${TIMESTAMP}" mkdir -p "${BACKUP_DIR}/${BACKUP_NAME}" # Datenbank docker exec pfandsystem-dev-mysql mysqldump -upfandsystem -ppfandsystem_secure_password pfandsystem > "${BACKUP_DIR}/${BACKUP_NAME}/database.sql" 2>/dev/null || echo "DB-Backup fehlgeschlagen" # Uploads cp -r /root/entwicklung/pfandsystem/backend/uploads "${BACKUP_DIR}/${BACKUP_NAME}/" 2>/dev/null || true # .env cp /root/entwicklung/pfandsystem/.env "${BACKUP_DIR}/${BACKUP_NAME}/frontend.env" 2>/dev/null || true cp /root/entwicklung/pfandsystem/backend/.env "${BACKUP_DIR}/${BACKUP_NAME}/backend.env" 2>/dev/null || true # Komprimieren cd "${BACKUP_DIR}" tar -czf "${BACKUP_NAME}.tar.gz" "${BACKUP_NAME}" rm -rf "${BACKUP_NAME}" # Alte Backups lΓΆschen find "${BACKUP_DIR}" -name "backup_*.tar.gz" -mtime +7 -delete echo "βœ… Dev-Backup: ${BACKUP_NAME}.tar.gz" EOF chmod +x /root/entwicklung/pfandsystem/backup-dev.sh echo -e "${GREEN}βœ… Backup-Scripte erstellt${NC}" echo "" # Schritt 8: Docker-Compose anpassen echo -e "${YELLOW}🐳 Schritt 8: Docker-Compose anpassen${NC}" cd /root/entwicklung/pfandsystem sed -i 's/container_name: pfandsystem-/container_name: pfandsystem-dev-/g' docker-compose.yml 2>/dev/null || true echo -e "${GREEN}βœ… Docker-Compose angepasst${NC}" echo "" # Schritt 9: .env anpassen echo -e "${YELLOW}βš™οΈ Schritt 9: .env Dateien anpassen${NC}" sed -i 's|UPLOAD_DIR=/root/backend/uploads|UPLOAD_DIR=/root/entwicklung/pfandsystem/backend/uploads|g' /root/entwicklung/pfandsystem/backend/.env 2>/dev/null || true echo -e "${GREEN}βœ… .env angepasst${NC}" echo "" # Schritt 10: Traefik neu starten echo -e "${YELLOW}πŸ”„ Schritt 10: Traefik neu starten${NC}" docker restart pfandsystem-traefik sleep 3 echo -e "${GREEN}βœ… Traefik neu gestartet${NC}" echo "" # Zusammenfassung echo "" echo "==========================================" echo -e "${GREEN}βœ… Setup abgeschlossen!${NC}" echo "==========================================" echo "" echo "πŸ“ Verzeichnisse:" echo " Dev: /root/entwicklung/pfandsystem" echo " Live: /root/livesysteme/borbaecker" echo "" echo "πŸ’Ύ Backups:" echo " Dev: /root/backups/entwicklung/pfandsystem" echo " Live: /root/backups/livesysteme/borbaecker" echo "" echo "πŸ”§ NΓ€chste Schritte:" echo " 1. Dev-System starten:" echo " cd /root/entwicklung/pfandsystem" echo " docker compose up -d" echo " cd backend && npm start &" echo "" echo " 2. Live-System konfigurieren:" echo " Siehe: /root/entwicklung/pfandsystem/MIGRATION_UND_SETUP.md" echo "" echo " 3. Cron-Jobs einrichten:" echo " crontab -e" echo " 0 6-23 * * * /root/entwicklung/pfandsystem/backup-dev.sh" echo ""