# taigaio/taiga-docker architecture

> Architecture diagram of the GitHub repository taigaio/taiga-docker, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/taigaio/taiga-docker
- Repository: https://github.com/taigaio/taiga-docker

## Overview

This repository packages Taiga for Docker Compose deployment rather than implementing Taiga’s application logic. The documented workflow is to configure `.env`, start the stack with `launch-taiga.sh`, access Taiga, and optionally run backend management commands. The README documents database, queue, email, and gateway configuration. No source excerpts were provided, so service-level wiring is limited to relationships explicitly described in the README.

Main entry points: [`docker-compose.yml`](https://github.com/taigaio/taiga-docker/blob/main/docker-compose.yml) (Compose services), [`.env`](https://github.com/taigaio/taiga-docker/blob/main/.env) (Environment config), [`taiga-gateway`](https://github.com/taigaio/taiga-docker/tree/main/taiga-gateway) (Taiga gateway), [`launch-taiga.sh`](https://github.com/taigaio/taiga-docker/blob/main/launch-taiga.sh) (Launch script)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_deploy["Deployment"]
  node_env["Environment config<br/>[.env]"]
  node_launcher["Launch script<br/>[launch-taiga.sh]"]
  node_compose["Compose services<br/>[docker-compose.yml]"]
  node_initcompose["Init services"]
  node_gatewayconfig["Gateway config<br/>[taiga.conf]"]
end

subgraph group_runtime["Taiga runtime"]
  node_gateway["Taiga gateway"]
  node_backend["Taiga backend<br/>[docker-compose.yml]"]
  node_manage["Management commands<br/>[taiga-manage.sh]"]
end

subgraph group_integrations["External services"]
  node_database[("PostgreSQL<br/>[docker-compose.yml]")]
  node_queue["RabbitMQ<br/>[docker-compose.yml]"]
  node_smtp["SMTP service"]
end

node_operator(("Operator"))
node_browser(("Taiga user"))

node_operator -->|"configures"| node_env
node_operator -->|"starts"| node_launcher
node_launcher -->|"starts stack"| node_compose
node_env -->|"provides settings"| node_compose
node_env -->|"provides settings"| node_initcompose
node_compose -->|"defines service"| node_backend
node_compose -->|"defines service"| node_database
node_compose -->|"defines service"| node_queue
node_compose -->|"defines service"| node_gateway
node_gatewayconfig -->|"configures"| node_gateway
node_operator -->|"runs command"| node_manage
node_manage -->|"runs management command"| node_backend
node_backend -->|"connects to"| node_database
node_backend -->|"uses"| node_queue
node_backend -.->|"sends email"| node_smtp
node_browser -->|"accesses Taiga"| node_gateway

click node_env "https://github.com/taigaio/taiga-docker/blob/main/.env"
click node_launcher "https://github.com/taigaio/taiga-docker/blob/main/launch-taiga.sh"
click node_compose "https://github.com/taigaio/taiga-docker/blob/main/docker-compose.yml"
click node_initcompose "https://github.com/taigaio/taiga-docker/blob/main/docker-compose-inits.yml"
click node_gatewayconfig "https://github.com/taigaio/taiga-docker/blob/main/taiga-gateway/taiga.conf"
click node_gateway "https://github.com/taigaio/taiga-docker/tree/main/taiga-gateway"
click node_backend "https://github.com/taigaio/taiga-docker/blob/main/docker-compose.yml"
click node_manage "https://github.com/taigaio/taiga-docker/blob/main/taiga-manage.sh"
click node_database "https://github.com/taigaio/taiga-docker/blob/main/docker-compose.yml"
click node_queue "https://github.com/taigaio/taiga-docker/blob/main/docker-compose.yml"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_env,node_launcher,node_compose,node_initcompose,node_gatewayconfig,node_browser toneBlue
class node_gateway,node_backend,node_manage toneAmber
class node_database,node_queue,node_smtp toneMint
class node_operator toneIndigo
```

## Components

### Deployment

- [Environment config](https://github.com/taigaio/taiga-docker/blob/main/.env): `.env`
- [Launch script](https://github.com/taigaio/taiga-docker/blob/main/launch-taiga.sh): `launch-taiga.sh`
- [Compose services](https://github.com/taigaio/taiga-docker/blob/main/docker-compose.yml): `docker-compose.yml`
- [Init services](https://github.com/taigaio/taiga-docker/blob/main/docker-compose-inits.yml): `docker-compose-inits.yml`
- [Gateway config](https://github.com/taigaio/taiga-docker/blob/main/taiga-gateway/taiga.conf): `taiga-gateway/taiga.conf`

### Taiga runtime

- [Taiga gateway](https://github.com/taigaio/taiga-docker/tree/main/taiga-gateway): `taiga-gateway`
- [Taiga backend](https://github.com/taigaio/taiga-docker/blob/main/docker-compose.yml): `docker-compose.yml`
- [Management commands](https://github.com/taigaio/taiga-docker/blob/main/taiga-manage.sh): `taiga-manage.sh`

### External services

- [PostgreSQL](https://github.com/taigaio/taiga-docker/blob/main/docker-compose.yml): `docker-compose.yml`
- [RabbitMQ](https://github.com/taigaio/taiga-docker/blob/main/docker-compose.yml): `docker-compose.yml`
- **SMTP service**

### Other components

- **Operator**
- **Taiga user**

## Connections

- Operator → Environment config: configures
- Operator → Launch script: starts
- Launch script → Compose services: starts stack
- Environment config → Compose services: provides settings
- Environment config → Init services: provides settings
- Compose services → Taiga backend: defines service
- Compose services → PostgreSQL: defines service
- Compose services → RabbitMQ: defines service
- Compose services → Taiga gateway: defines service
- Gateway config → Taiga gateway: configures
- Operator → Management commands: runs command
- Management commands → Taiga backend: runs management command
- Taiga backend → PostgreSQL: connects to
- Taiga backend → RabbitMQ: uses
- Taiga backend → SMTP service: sends email
- Taiga user → Taiga gateway: accesses Taiga
