This guide uses Docker Compose to run Taiga in containers. Taiga is a project management platform for Agile, Scrum, and Kanban teams. The full Taiga stack includes multiple services.
For Docker installation, see Docker.
Create a docker-compose.yml file with the following content:
version: '3.8'
services:
postgres:
image: postgres:15
container_name: taiga-db
restart: unless-stopped
environment:
- POSTGRES_USER=taiga
- POSTGRES_PASSWORD=your-db-password
- POSTGRES_DB=taiga
volumes:
- ./db-data:/var/lib/postgresql/data
networks:
- taiga-net
redis:
image: redis:7
container_name: taiga-redis
restart: unless-stopped
volumes:
- ./redis-data:/data
networks:
- taiga-net
rabbitmq:
image: rabbitmq:3-management
container_name: taiga-rabbitmq
restart: unless-stopped
environment:
- RABBITMQ_DEFAULT_USER=taiga
- RABBITMQ_DEFAULT_PASS=your-rabbit-password
volumes:
- ./rabbitmq-data:/var/lib/rabbitmq
networks:
- taiga-net
taiga-back:
image: taigaio/taiga-back:latest
container_name: taiga-back
restart: unless-stopped
environment:
- SECRET_KEY=your-secret-key-change-me
- TAIGA_DB_HOST=postgres
- TAIGA_DB_NAME=taiga
- TAIGA_DB_USER=taiga
- TAIGA_DB_PASSWORD=your-db-password
- REDIS_HOST=redis
- RABBIT_HOST=rabbitmq
- RABBIT_USER=taiga
- RABBIT_PASSWORD=your-rabbit-password
volumes:
- ./media:/taiga-media
depends_on:
- postgres
- redis
- rabbitmq
networks:
- taiga-net
taiga-front:
image: taigaio/taiga-front:latest
container_name: taiga-front
restart: unless-stopped
environment:
- TAIGA_URL=http://taiga-back:8000
depends_on:
- taiga-back
networks:
- taiga-net
taiga-events:
image: taigaio/taiga-events:latest
container_name: taiga-events
restart: unless-stopped
environment:
- RABBIT_HOST=rabbitmq
- RABBIT_USER=taiga
- RABBIT_PASSWORD=your-rabbit-password
depends_on:
- rabbitmq
networks:
- taiga-net
taiga-protected:
image: taigaio/taiga-protected:latest
container_name: taiga-protected
restart: unless-stopped
ports:
- "8080:80"
environment:
- FRONT_URL=http://taiga-front:80
- EVENTS_URL=http://taiga-events:8888
- API_URL=http://taiga-back:8000
- SECRET_KEY=your-secret-key-change-me
depends_on:
- taiga-front
- taiga-events
- taiga-back
networks:
- taiga-net
networks:
taiga-net:
driver: bridge
Security Note: Replace the following before deployment:
your-db-password - Strong database passwordyour-rabbit-password - Strong RabbitMQ passwordyour-secret-key-change-me - Generate with: openssl rand -hex 32docker compose up -d
Wait for all containers to start (approximately 2-3 minutes for first run).
Open http://YOUR-SERVER:8080 to access Taiga.
On first access, you can register a new admin account.
For production deployments:
latestAdd these environment variables to taiga-back:
environment:
- EMAIL_BACKEND=django.core.mail.backends.smtp.EmailBackend
- EMAIL_HOST=smtp.example.com
- EMAIL_PORT=587
- EMAIL_HOST_USER=smtp-user
- EMAIL_HOST_PASSWORD=smtp-password
- DEFAULT_FROM_EMAIL=noreply@example.com
See Configuration and Security for production hardening.
Any questions?
Feel free to contact us. Find all contact information on our contact page.