ADR05 - Reverse Proxy

Title

Decision to Choose the System’s Reverse Proxy

Status

accepted

Context

We need a reverse proxy to consolidate the system to a single origin and to simplify data access.

The reverse proxy must:

  • provide simple and reliable HTTP and HTTPS routing between services

  • simplify production configuration

  • support containerized deployments

  • integrate well with Docker-based environments

Alternatives considered included:

  • Nginx (powerful but requires more manual configuration and reload handling)

  • Apache HTTP Server (feature-rich but comparatively heavyweight for this use case)

Decision

We propose using Traefik as the reverse proxy. Traefik provides automatic service discovery, native Docker integration, straightforward configuration through labels and built in support for TLS Certificates.

Consequences

Easier:

  • Minimal configuration routing for Docker containers

  • Good scalability for future microservice extensions

  • Simplified HTTPS and certificate management

More difficult:

  • Team members need familiarity with Traefik

  • Dependency on container-oriented workflows and conventions