Application Architecture
🔗 Application Architecture
0.3.0 is built around a monolithic Go server. It serves the HTML, caches requests with Redis, stores data in a Postgres database, acts as a WebSocket server, as well as proxies requests to Docker-managed services Keycloak, Gotenberg, and Coturn. As part of cloud deployment, only HTTP ports 80, 443, and Coturn related ports will be public-facing.
| Name | Docker | Purpose | Ports |
|---|---|---|---|
| Go server | Custom Go standard lib HTTP server. | 80, 443 | |
| db | x | Postgres in its managed alpine container. | 5432 |
| redis | x | Redis in its managed container. | 6379 |
| auth | x | Keycloak in its managed container. | 8080, 8443 |
| turn | x | Coturn in its managed container, using host network to handle port assignments. | 3478, 44400-44500 UDP |
| docs | x | Gotenberg container for file conversion to PDF. | 8000 |