Configuration
Installation Architecture¶
TDM is deployed using a Docker Compose-based multi-container architecture. Most services are preconfigured, minimizing the need for manual setup. Core components such as PostgreSQL, Keycloak, and RabbitMQ are ready to use out of the box.
An Nginx instance acts as a router, managing traffic for client-accessible services. This architecture provides the following advantages:
SSL Offloading¶
Nginx terminates SSL/TLS connections, allowing backend services to operate without handling encryption. This reduces computational overhead and simplifies certificate management.
Load Balancing and Scaling¶
Nginx distributes incoming requests across backend services using algorithms such as round-robin or least-connections, ensuring efficient resource usage and high availability.
Request Routing¶
Advanced routing configurations (e.g., path-based routing) and caching mechanisms improve response times and optimize resource utilization.
Network Security and Isolation¶
TDM leverages Docker networking features to enhance security and minimize the application’s attack surface.
- All inter-service communication occurs within the Docker network, preventing external exposure.
- Middleware components (e.g., PostgreSQL, Keycloak, RabbitMQ) and application services are isolated from the public network by default.
- Only client-facing services are exposed externally.
This architecture ensures that sensitive internal communications remain protected and aligns with best practices for containerized application security.