Architecture
Overview
Technologies
Runtipi is built using a modern web architecture and emphasizes on end-to-end type safety. The following technologies are used:
- Traefik - Reverse proxy and load balancer
- Docker - Containerization
- TypeScript - Typed superset of JavaScript
- NestJS - Node.js framework
- React Router - Frontend application framework
- Drizzle-ORM - Type safe ORM
- PostgreSQL - Database
- RabbitMQ - Message broker
Reverse Proxy
Traefik is used as a reverse proxy and load balancer. It is configured to automatically detect new services and configure them to receive traffic from the internet. Each service can be configured for automatic HTTPS, and protected apps use Traefik forward-auth to delegate authentication back to Runtipi.
Applications
Docker is used to containerize the application. Each service is built into a Docker image and deployed using Docker Compose . Each app you install is deployed as a separate Docker Compose project. This allows you to easily manage each app independently. All apps are deployed to the same network, allowing them to communicate with each other.