$ account runtipi
Runtipi is a self-hosted homeserver orchestrator: a web-based control plane for installing, updating, backing up, and managing Docker Compose applications on a single server. In production it runs as a NestJS backend, a React frontend, and a shared TypeScript schema package, with PostgreSQL as the primary datastore, RabbitMQ for asynchronous job queues, Dockerode for container control, and Traefik as the reverse proxy and TLS/forward-auth gateway. The app-store model clones external git repositories containing app manifests and compose definitions, then validates and renders them through a dynamic form system. The architecture is a monolithic backend organized around modules for app lifecycle, marketplace, app stores, backups, auth, links, settings, and i18n; long-running operations are executed through a command/handler pattern with per-app async mutexes and schema-validated RabbitMQ event queues.