Commit Graph

138 Commits

Author SHA1 Message Date
38594d30a2 Add favicon configuration to Caddyfile
- Added favicon.ico redirect to favicon.png (301 redirect)
- Added favicon.png serving from /app/dist directory
- This fixes favicon loading issues in browsers
- Both favicon.ico and favicon.png requests are now handled correctly
2025-10-02 00:09:10 +02:00
76874bc98a Fix: Remove invalid rate_limit directive from Caddyfile
- Removed rate_limit directive which is not supported in Caddy
- Caddyfile now uses only valid Caddy directives
- This fixes the configuration error that was preventing Caddy from starting
2025-10-01 23:41:34 +02:00
a77634bb13 Clean up: Remove obsolete nginx/certbot files and update README
- Deleted all nginx configuration files and directory
- Removed obsolete SSL setup scripts (check-ssl-*, setup-ssl-*, setup-simple.sh)
- Updated README.md to reflect Caddy-based production deployment
- Kept only essential scripts: setup-caddy.sh, rebuild-prod.sh, start-with-email.ps1
- Production deployment now uses docker-compose-prod.yml with automatic SSL
2025-10-01 23:36:52 +02:00
8ffe459d50 Replace Nginx/Certbot with Caddy for automatic SSL
- Replaced nginx and certbot services with caddy in docker-compose-prod.yml
- Added Caddyfile configuration with automatic SSL and security headers
- Created setup-caddy.sh script for easy deployment
- Caddy automatically handles Let's Encrypt certificates without manual setup
- Much simpler SSL management compared to nginx/certbot combination
2025-10-01 23:34:43 +02:00
c28d4fc4ec Add simple SSL check script using direct Docker commands
- Created check-ssl-simple.sh that uses direct Docker commands instead of docker-compose
- Uses alpine:latest container directly with volume mount
- Avoids Certbot communication issues that cause hanging
- Provides clean SSL certificate inspection without external dependencies
2025-10-01 23:26:32 +02:00
6b10c256a0 Fix: Use certbot service instead of alpine in SSL check script
- Changed from alpine to certbot service which is defined in docker-compose-prod.yml
- This fixes the 'no such service: alpine' error
- Script now uses the existing certbot container to check SSL certificates
2025-10-01 23:25:09 +02:00
6987d48bd6 Add direct SSL certificate check script
- Created check-ssl-direct.sh that checks SSL certificates without using Certbot
- Uses Alpine container to directly inspect the certbot-certs volume
- Avoids hanging issues with Certbot communication
- Can automatically enable HTTPS if certificates are found
2025-10-01 23:23:56 +02:00
97d17d67ee Add simple setup script without SSL complexity
- Created setup-simple.sh that starts the application with HTTP-only
- Avoids SSL certificate checking that was causing hangs
- Provides a working baseline before SSL setup
- Users can manually configure SSL later if needed
2025-10-01 23:21:01 +02:00
98858c1760 Add SSL certificate permissions diagnostic script
- Created check-ssl-permissions.sh to diagnose SSL certificate access issues
- Script checks certificate files, permissions, and ownership
- Attempts to repair permissions if needed
- This helps identify if SSL setup issues are permission-related
2025-10-01 23:19:45 +02:00
b3272d565b Fix: Add timeout and fallback for SSL certificate check
- Added 30-second timeout to certificate check to prevent hanging
- Added fallback to HTTP-only configuration if SSL setup fails
- Script now continues even if certificate verification fails
- This prevents the script from hanging indefinitely
2025-10-01 23:18:01 +02:00
e29f4374c0 Fix: Handle existing SSL certificates in setup script
- Added check for existing SSL certificates before attempting to create new ones
- Restore original HTTPS nginx.conf after certificate verification
- This prevents the script from hanging when certificates already exist
2025-10-01 23:16:07 +02:00
23ea0d801e Fix: Resolve Nginx SSL certificate loading issue
- Created nginx-http-only.conf for initial startup without SSL
- Added setup-ssl-improved.sh script that:
  - Starts app first, then HTTP-only Nginx
  - Creates SSL certificates via Certbot
  - Switches to HTTPS configuration after certificate creation
- This prevents Nginx from failing on missing SSL certificates during initial startup
2025-10-01 23:13:31 +02:00
b10df50688 add rebuild script 2025-10-01 23:11:02 +02:00
ffc21a76e7 Fix: Resolve permission issues with .storage directories
- Install su-exec in Dockerfile for user switching
- Modified start.sh to create directories as root, then change ownership
- Container starts as root but switches to nextjs user for app execution
- This prevents permission denied errors when creating .storage directories
2025-10-01 23:07:33 +02:00
857b60e1f5 Fix: Use startup script to create .storage directories at runtime
- Changed from bind mount to named volume for .storage
- Added start.sh script that creates required directories before starting the app
- This prevents ENOENT errors when initializing admin user
2025-10-01 23:05:21 +02:00
713da5a802 Fix: Create .storage directories in Dockerfile to prevent ENOENT errors 2025-10-01 23:01:35 +02:00
12b31d28d5 fix(client-entry): füge CSS-Fallback für Production-Build hinzu 2025-10-01 22:54:23 +02:00
84d6f5c07a fix(client-entry): korrigiere TypeScript-Typen für cssFiles Array 2025-10-01 22:51:01 +02:00
f4d9f60fc9 fix(client-entry): verwende korrekte Asset-Pfade aus Vite-Manifest für Production-Build 2025-10-01 22:49:57 +02:00
2c2a173b96 fix(server): füge statische Datei-Serving für Production-Build hinzu 2025-10-01 22:47:06 +02:00
3d5c6ffeaf fix(server): korrigiere Import-Position für @hono/node-server 2025-10-01 22:42:18 +02:00
72834a6977 fix(server): füge @hono/node-server hinzu und korrigiere Server-Start für Node.js 2025-10-01 22:41:11 +02:00
18b75fdde3 fix(server): füge Server-Start-Konfiguration hinzu für Hono-App 2025-10-01 22:38:44 +02:00
143051a90a fix(server-build): ersetze @/server-Pfad-Aliase durch relative Imports mit .js-Erweiterungen 2025-10-01 22:33:49 +02:00
1e1070dbb5 fix(server-build): füge .js-Erweiterungen zu allen lib-Imports in bookings.ts hinzu 2025-10-01 22:31:40 +02:00
19e52f7af6 fix(server-build): füge .js-Erweiterungen zu lib-Imports in RPC-Dateien hinzu 2025-10-01 22:29:23 +02:00
a80cb86cd5 fix(server-runtime): entferne Import von @vitejs/plugin-react im Server-HTML-Renderer; nutze Vite HMR Script direkt 2025-10-01 22:20:34 +02:00
74f55486bc fix(server-build): füge .js-Erweiterungen zu allen relativen Imports hinzu für ESNext-Module-Kompatibilität 2025-10-01 22:17:23 +02:00
c6c1455612 fix(server-build): ersetze import.meta.env.PROD durch process.env.NODE_ENV für Server-Build Kompatibilität 2025-10-01 22:15:18 +02:00
9d71842714 fix(server-build): Server-Build auf ESNext/bundler umgestellt für oRPC und import.meta Kompatibilität 2025-10-01 22:14:12 +02:00
b3df04a92d fix(server-build): korrigiere Import von router in bookings.ts - nutze './index' statt '..' 2025-10-01 22:12:51 +02:00
3d1bbe7265 fix(server-build): entferne Pfadalias '@/server/*' im Server-Code, nutze relative Imports; passe RPC-Route-Import und OpenAI-Import an; Server-Build nutzt CommonJS/Node Resolution 2025-10-01 22:11:30 +02:00
f44164c957 fix(build): entferne allowImportingTsExtensions für Server-Build (TS5096) 2025-10-01 22:06:51 +02:00
9da96d7af9 build(server): separater TS-Build für Server (server-dist) und Runtime auf Node JS statt ts-node; Dockerfile startet server-dist/index.js 2025-10-01 22:05:01 +02:00
4f901400a3 fix(runtime): füge tsconfig.server.json hinzu und setze TS_NODE_PROJECT für NodeNext-Loader 2025-10-01 22:01:39 +02:00
1cf727433d chore(lockfile): pnpm-lock.yaml aktualisiert nach Hinzufügen von ts-node 2025-10-01 21:58:02 +02:00
647016ff85 fix(runtime): füge ts-node als Dependency hinzu für ESM-Loader im Production-Container 2025-10-01 21:56:35 +02:00
fe3acccb93 fix(runtime): installiere ts-node im Production-Image, damit Node --loader ts-node/esm funktioniert 2025-10-01 21:47:35 +02:00
a7733c95f6 fix(build): füge index.html hinzu und konfiguriere Vite Build für Hono-Setup 2025-10-01 21:42:21 +02:00
4696948c6c fix(build): korrigiere mutate-Aufruf - oRPC Mutation erwartet direktes Objekt, kein input-Wrapper 2025-10-01 21:41:10 +02:00
73612caa1e fix(build): oRPC Query/Mutation options korrekt verwendet (input wrapper), interne RPC-Client-Typisierung gelockert und createToken-Aufrufe angepasst 2025-10-01 21:39:40 +02:00
fb30bb6395 fix(build): entferne Context-Header-Nutzung aus bookings.create (RateLimit nur per E-Mail) 2025-10-01 21:33:27 +02:00
4acb639e66 fix(build): Types in admin-calendar, oRPC React Query Helpers in booking-status, Router-Namenskonflikt, entferne unsupported allowedHosts aus Vite 2025-10-01 21:28:21 +02:00
52280b1b3b feat(setup-ssl): automatische sudo-Unterstützung für Docker/Compose, alle Aufrufe vereinheitlicht 2025-10-01 21:24:26 +02:00
f9d42b4c1e chore(compose): entferne version und behebe depends_on-Zyklus (nginx ↔ app) 2025-10-01 21:23:00 +02:00
18f97e4e5f fix(setup-ssl): Docker Compose Kompatibilität - unterstützt sowohl docker-compose als auch docker compose 2025-10-01 21:21:39 +02:00
17f1ff698e docker compose 2025-10-01 21:20:15 +02:00
71a107de52 fix(setup-ssl): .env nicht sourcen, DOMAIN/ADMIN_EMAIL robust parsen (Leerzeichen-kompatibel) 2025-10-01 21:18:42 +02:00
58fb163bbc feat: Produktions-Deployment mit Nginx und SSL
- docker-compose-prod.yml: Produktionsumgebung mit Nginx Reverse Proxy
- nginx/nginx.conf: Optimierte Nginx-Konfiguration mit SSL und Sicherheits-Headers
- Rate Limiting für API-Endpunkte (10/s) und Login (5/min)
- Automatische SSL-Zertifikate via Let's Encrypt/Certbot
- Gzip-Kompression und Performance-Optimierungen

Setup-Scripts:
- scripts/setup-ssl.sh: Bash-Script für Linux/macOS
- scripts/setup-ssl.ps1: PowerShell-Script für Windows
- Automatische Domain-Konfiguration aus .env (DOMAIN, ADMIN_EMAIL)
- Ein-Klick-Setup für SSL-Zertifikate

Dokumentation:
- docs/production-deployment.md: Vollständige Deployment-Anleitung
- Troubleshooting, Monitoring, Backup-Strategien
- Sicherheitsempfehlungen und Best Practices

Features:
- Automatische SSL-Zertifikat-Erneuerung (alle 12h)
- HSTS, CSP, XSS-Schutz
- Health Checks und Monitoring
- Persistente Daten über Docker Volumes
2025-10-01 21:13:49 +02:00
1d97e05000 feat: Google Apps Script für automatische Test-Formular-Erstellung
- Automatische Generierung eines Google Forms aus der Test-Checkliste
- ~180 Checkbox-Items über 14 Sections
- Testergebnis-Bereich mit Fehlerberichten und Gesamtbewertung
- Kein API-Key erforderlich - läuft direkt im Google Account
- Schritt-für-Schritt-Anleitung im Code-Kommentar
- Exportierbar nach Google Sheets
- Mehrfach verwendbar für verschiedene Test-Runden
2025-10-01 13:39:12 +02:00