Der zweite Stack unter docker/ war ein Duplikat aus Februar, das nie mitgepflegt wurde - und genau deshalb schwer zu finden und leicht falsch zu bedienen. Statt ihn zu loeschen (Caddy ist fuer Betreiber ohne eigenen Reverse-Proxy zurecht gewuenscht) ist er jetzt in den Hauptstack integriert: - caddy als optionaler Dienst mit `profiles: ["caddy"]` in docker-compose.yml. Ohne `--profile caddy` wird er nicht einmal angelegt - empirisch geprueft mit einem separaten Testprojekt: `up -d` startete nur den ungeschuetzten Dienst. Der laufende Stack bleibt damit unveraendert. - Caddyfile in den Projektstamm verschoben, proxy-Ziel auf den Dienstnamen `opencrm` angepasst, Zertifikate unter ./data/caddy wie alle anderen Daten. - DOMAIN, CADDY_DIR und CADDY_CONFIG_DIR in die .env.example aufgenommen. - docker/ entfernt (Dockerfile, entrypoint.sh, docker-compose.yml, .env.example, README.md). Das dortige Dockerfile basierte noch auf Alpine - genau die Variante, von der das Projekt wegen Prisma-/TLS-Problemen bewusst auf node:20-slim gewechselt ist. Das gepflegte backend/Dockerfile baut Frontend und Backend ebenso. - README: Abschnitt "Docker (Produktion)" ersetzt durch "Betrieb mit eigenem SSL", inkl. Hinweisen zu Let's-Encrypt-Limits, DNS-Voraussetzung, HTTPS_ENABLED und dem weiterhin offenen App-Port. Projektbaum und .dockerignore nachgezogen. Geprueft: docker-compose config gueltig, caddy validate gueltig, laufende Container unberuehrt. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
65 lines
1000 B
Plaintext
65 lines
1000 B
Plaintext
# Dependencies
|
|
node_modules
|
|
*/node_modules
|
|
|
|
# Build output (will be built in container)
|
|
frontend/dist
|
|
backend/dist
|
|
|
|
# Development files
|
|
.git
|
|
.gitignore
|
|
.vscode
|
|
.idea
|
|
*.md
|
|
|
|
|
|
# Environment files (use Docker environment instead)
|
|
.env
|
|
.env.local
|
|
.env.*.local
|
|
backend/.env
|
|
frontend/.env
|
|
|
|
# Logs
|
|
*.log
|
|
npm-debug.log*
|
|
|
|
# OS files
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# Test files
|
|
*.test.ts
|
|
*.test.tsx
|
|
*.spec.ts
|
|
*.spec.tsx
|
|
__tests__
|
|
coverage
|
|
|
|
# Pentester-/Dev-Helferscripte gehören NICHT ins Prod-Image (nur lokal/Staging
|
|
# via Repo-Checkout ausführen). Erzeugen sonst nur toten Ballast im Container.
|
|
backend/scripts/seed-magic-byte-test.ts
|
|
|
|
# Docker files in wrong location
|
|
docker-compose.yml
|
|
|
|
# Uploads and backups (mounted as volumes)
|
|
uploads
|
|
backups
|
|
backend/uploads
|
|
backend/backups
|
|
|
|
# Daten-Verzeichnis (Bind-Mounts zur Laufzeit, nicht im Build-Context)
|
|
data/
|
|
|
|
# Plesk-Test (nicht für Container)
|
|
plesktest/
|
|
|
|
# Backup-Klone des Repos
|
|
opencrm-backup-*/
|
|
|
|
# Prisma migrations (included, but not dev db)
|
|
*.db
|
|
*.db-journal
|