infra: single postgres instance (casdoor DB merged) + Traefik v3 edge

- remove the separate casdoor-postgres container; casdoor uses the main
  postgres (db casdoor, created by sql/02-casdoor-db.sql on fresh volumes);
  data migrated via pg_dump/pg_restore (backups kept outside the repo)
- Traefik v3.6 as the public edge (ports 80/443): docker provider pinned to
  the dedicated traefik_network (fixed-name network), host rules for
  app/api/auth/s3/storage (env-overridable, localhost defaults), frontend
  nginx demoted to internal SPA server; docker-compose.prod.yml adds real
  domains + Let's Encrypt + HTTP→HTTPS redirect (redirect middleware in
  infra/traefik-dynamic.yml)
- v3.6 required (Traefik <=3.3 fails against Docker Engine 29.x); socket
  mounted rw (Docker Desktop rejects :ro)
- start.ps1: app URL now http://localhost, casdoor + db notes
This commit is contained in:
ali_mohaghegh
2026-09-01 17:28:33 +03:30
parent c5997ac243
commit 8825f333a7
5 changed files with 198 additions and 19 deletions
+9
View File
@@ -0,0 +1,9 @@
# Traefik dynamic config (file provider) — shared middlewares.
# The HTTP→HTTPS redirect is attached from docker-compose.prod.yml so that
# local development (http://localhost) keeps working without TLS.
http:
middlewares:
redirect-https:
redirectScheme:
scheme: https
permanent: true