# 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`. - The repository publish flow should only build and push `ctms-backend` and `ctms-frontend`. - Verification should prove that no runtime, CI, or document references to repository-managed Nginx remain.