#!/bin/bash # DOCX Template Server Startup Script case "$1" in "http") echo "🌐 Starte Server nur mit HTTP..." unset USE_HTTPS node server.js ;; "https") echo "🔒 Starte Server mit HTTPS (Port 3443)..." export USE_HTTPS=true node server.js ;; "both") echo "🚀 Starte Server mit HTTP und HTTPS..." node server.js ;; "dev") echo "🛠️ Entwicklungsmodus mit Auto-Reload..." npx nodemon server.js ;; "ssl-gen") echo "🔐 Generiere neue SSL-Zertifikate..." mkdir -p ssl cd ssl openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes \ -subj "/C=DE/ST=State/L=City/O=DOCX-Server/CN=localhost" echo "✅ SSL-Zertifikate erstellt in ssl/" ;; "ssl-info") echo "📋 SSL-Zertifikat Informationen:" if [ -f "ssl/cert.pem" ]; then openssl x509 -in ssl/cert.pem -text -noout | grep -E "(Subject:|Not Before|Not After|DNS:|IP Address:)" else echo "❌ Keine SSL-Zertifikate gefunden" echo "Führe './start.sh ssl-gen' aus, um Zertifikate zu erstellen" fi ;; "help"|"--help"|"-h"|"") echo "DOCX Template Server - Startup Script" echo "" echo "Verwendung: $0 [MODUS]" echo "" echo "Modi:" echo " http - Nur HTTP Server (Port 3000)" echo " https - Nur HTTPS Server (Port 3443) - benötigt SSL-Zertifikate" echo " both - HTTP + HTTPS Server (Standard)" echo " dev - Entwicklungsmodus mit Auto-Reload" echo " ssl-gen - Generiere neue SSL-Zertifikate" echo " ssl-info - Zeige SSL-Zertifikat Informationen" echo " help - Diese Hilfe anzeigen" echo "" echo "Beispiele:" echo " $0 both # HTTP + HTTPS" echo " $0 https # Nur HTTPS" echo " $0 ssl-gen # SSL-Zertifikate erstellen" echo "" echo "URLs:" echo " HTTP: http://localhost:3000" echo " HTTPS: https://localhost:3443" echo " WebDAV: /webdav/templates/ und /webdav/output/" ;; *) echo "❌ Unbekannter Modus: $1" echo "Verwende '$0 help' für Hilfe" exit 1 ;; esac