Files
ctms/docs/plans/2026-03-30-remove-nginx-design.md
T
2026-03-30 22:53:39 +08:00

1.4 KiB

Remove In-Repo Nginx Design

Goal: Remove all in-repository Nginx runtime, build, publish, and documentation responsibilities while keeping the frontend as an independently deployable image behind an external reverse proxy.

Decisions

  • Remove the nginx/ directory and every repository-owned Nginx configuration reference.
  • Keep docker-compose.yaml as the deployment entrypoint, but change the production topology to frontend + backend + db.
  • Keep frontend as a standalone runtime image that serves the built SPA directly.
  • Keep backend as the only API container and let the external reverse proxy route /api and /health to it.
  • Update historical docs so they describe the current topology instead of preserving obsolete Nginx-based guidance.

Architecture

  • db remains the persistent PostgreSQL service.
  • backend remains the FastAPI service exposed on port 8000.
  • frontend becomes a standalone container image built from frontend/Dockerfile and serves the compiled SPA on its own port.
  • The external reverse proxy is now the only public entrypoint and is responsible for routing browser traffic to frontend and API traffic to backend.

Operational Notes

  • The frontend still assumes same-origin API access, so the external proxy must route /api/* and /health to backend.
  • Verification should prove that no runtime, CI, or document references to repository-managed Nginx remain.