Taiga
Agile project management platform.
Overview
Taiga is an open-source agile project management platform developed by Kaleidos that provides comprehensive tools for Scrum and Kanban methodologies. Built with Django REST framework for the backend and Angular for the frontend, Taiga offers features like user story management, sprint planning, burndown charts, swimlane boards, and team collaboration tools. It was created to bridge the gap between complex enterprise project management solutions and simple task tracking tools, providing agile teams with a powerful yet intuitive platform for managing their projects.
This deployment consists of four specialized services: taiga-back handles the Django-based REST API and business logic, taiga-front serves the Angular-based user interface, a PostgreSQL database for persistent data storage, and RabbitMQ for message queuing and real-time notifications. The configuration separates frontend and backend concerns, enabling independent scaling and maintenance while providing a complete agile project management solution accessible through a web browser.
This stack is ideal for development teams, startups, and organizations looking to implement agile methodologies with a self-hosted solution. The separation of frontend and backend services makes it suitable for teams that need to customize either component independently, while the inclusion of PostgreSQL ensures robust data integrity for project artifacts, user stories, and historical sprint data.
Key Features
- Complete Scrum implementation with epics, user stories, tasks, sprints, and burndown charts
- Kanban boards with swimlanes, WIP limits, and cumulative flow diagrams
- Real-time collaboration through RabbitMQ-powered WebSocket notifications
- Flexible role-based permissions with customizable project roles and member access
- Import capabilities from Trello, Jira, GitHub, and Asana for project migration
- Custom fields and attributes for tailoring workflow to specific team needs
- Multi-project support with individual configurations per project
- REST API for integration with external tools and custom development
Common Use Cases
- 1Software development teams implementing Scrum methodology with sprint planning and tracking
- 2Product teams managing feature backlogs and roadmaps with epic hierarchies
- 3Marketing and creative teams using Kanban boards for campaign and content workflows
- 4Consultancies managing multiple client projects with separate workspaces and permissions
- 5Organizations migrating from proprietary tools like Jira while maintaining project history
- 6Remote teams requiring real-time collaboration and progress visibility
- 7Companies needing custom agile workflows beyond standard Scrum or Kanban practices
Prerequisites
- Docker and Docker Compose installed with at least 2GB available RAM for all services
- Port 9000 available for the Taiga frontend interface
- Environment variables configured for DB_PASSWORD and SECRET_KEY
- Basic understanding of agile methodologies (Scrum/Kanban) for effective usage
- PostgreSQL knowledge helpful for database maintenance and backup procedures
- Domain name or reverse proxy configuration for production deployments beyond localhost
For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms
docker-compose.yml
docker-compose.yml
1services: 2 taiga-back: 3 image: taigaio/taiga-back:latest4 container_name: taiga-back5 restart: unless-stopped6 environment: 7 POSTGRES_HOST: db8 POSTGRES_DB: taiga9 POSTGRES_USER: taiga10 POSTGRES_PASSWORD: ${DB_PASSWORD}11 TAIGA_SECRET_KEY: ${SECRET_KEY}12 TAIGA_SITES_DOMAIN: "localhost:9000"13 TAIGA_SITES_SCHEME: "http"14 volumes: 15 - taiga_static:/taiga-back/static16 - taiga_media:/taiga-back/media17 depends_on: 18 - db19 - rabbitmq2021 taiga-front: 22 image: taigaio/taiga-front:latest23 container_name: taiga-front24 restart: unless-stopped25 environment: 26 TAIGA_URL: "http://localhost:9000"27 TAIGA_WEBSOCKETS_URL: "ws://localhost:9000"28 ports: 29 - "9000:80"30 depends_on: 31 - taiga-back3233 db: 34 image: postgres:15-alpine35 container_name: taiga-db36 restart: unless-stopped37 environment: 38 POSTGRES_USER: taiga39 POSTGRES_PASSWORD: ${DB_PASSWORD}40 POSTGRES_DB: taiga41 volumes: 42 - taiga_db:/var/lib/postgresql/data4344 rabbitmq: 45 image: rabbitmq:3-management-alpine46 container_name: taiga-rabbitmq4748volumes: 49 taiga_static: 50 taiga_media: 51 taiga_db: .env Template
.env
1DB_PASSWORD=changeme2SECRET_KEY=generate-long-random-keyUsage Notes
- 1Docs: https://docs.taiga.io/
- 2Access at http://localhost:9000 - register first user as admin
- 3Scrum: epics, user stories, sprints, burndown charts
- 4Kanban: swimlanes, WIP limits, cumulative flow
- 5Import from Trello, Jira, GitHub, Asana
- 6Customizable attributes, roles, and permissions
Individual Services(4 services)
Copy individual services to mix and match with your existing compose files.
taiga-back
taiga-back:
image: taigaio/taiga-back:latest
container_name: taiga-back
restart: unless-stopped
environment:
POSTGRES_HOST: db
POSTGRES_DB: taiga
POSTGRES_USER: taiga
POSTGRES_PASSWORD: ${DB_PASSWORD}
TAIGA_SECRET_KEY: ${SECRET_KEY}
TAIGA_SITES_DOMAIN: localhost:9000
TAIGA_SITES_SCHEME: http
volumes:
- taiga_static:/taiga-back/static
- taiga_media:/taiga-back/media
depends_on:
- db
- rabbitmq
taiga-front
taiga-front:
image: taigaio/taiga-front:latest
container_name: taiga-front
restart: unless-stopped
environment:
TAIGA_URL: http://localhost:9000
TAIGA_WEBSOCKETS_URL: ws://localhost:9000
ports:
- "9000:80"
depends_on:
- taiga-back
db
db:
image: postgres:15-alpine
container_name: taiga-db
restart: unless-stopped
environment:
POSTGRES_USER: taiga
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: taiga
volumes:
- taiga_db:/var/lib/postgresql/data
rabbitmq
rabbitmq:
image: rabbitmq:3-management-alpine
container_name: taiga-rabbitmq
Quick Start
terminal
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 taiga-back:5 image: taigaio/taiga-back:latest6 container_name: taiga-back7 restart: unless-stopped8 environment:9 POSTGRES_HOST: db10 POSTGRES_DB: taiga11 POSTGRES_USER: taiga12 POSTGRES_PASSWORD: ${DB_PASSWORD}13 TAIGA_SECRET_KEY: ${SECRET_KEY}14 TAIGA_SITES_DOMAIN: "localhost:9000"15 TAIGA_SITES_SCHEME: "http"16 volumes:17 - taiga_static:/taiga-back/static18 - taiga_media:/taiga-back/media19 depends_on:20 - db21 - rabbitmq2223 taiga-front:24 image: taigaio/taiga-front:latest25 container_name: taiga-front26 restart: unless-stopped27 environment:28 TAIGA_URL: "http://localhost:9000"29 TAIGA_WEBSOCKETS_URL: "ws://localhost:9000"30 ports:31 - "9000:80"32 depends_on:33 - taiga-back3435 db:36 image: postgres:15-alpine37 container_name: taiga-db38 restart: unless-stopped39 environment:40 POSTGRES_USER: taiga41 POSTGRES_PASSWORD: ${DB_PASSWORD}42 POSTGRES_DB: taiga43 volumes:44 - taiga_db:/var/lib/postgresql/data4546 rabbitmq:47 image: rabbitmq:3-management-alpine48 container_name: taiga-rabbitmq4950volumes:51 taiga_static:52 taiga_media:53 taiga_db:54EOF5556# 2. Create the .env file57cat > .env << 'EOF'58DB_PASSWORD=changeme59SECRET_KEY=generate-long-random-key60EOF6162# 3. Start the services63docker compose up -d6465# 4. View logs66docker compose logs -fOne-Liner
Run this command to download and set up the recipe in one step:
terminal
1curl -fsSL https://docker.recipes/api/recipes/taiga/run | bashTroubleshooting
- taiga-front shows connection errors: Verify TAIGA_URL and TAIGA_WEBSOCKETS_URL match your actual domain and protocol
- taiga-back fails to start with database connection errors: Check that DB_PASSWORD environment variable matches between taiga-back and db services
- Real-time notifications not working: Ensure rabbitmq container is running and taiga-back can connect to it
- Static files not loading properly: Verify taiga_static volume is properly mounted and taiga-back has write permissions
- First user registration fails: Confirm SECRET_KEY environment variable is set and consistent across restarts
- Import from external tools fails: Check that taiga-back has sufficient memory allocated and TAIGA_SITES_DOMAIN is correctly configured
Community Notes
Loading...
Loading notes...
Download Recipe Kit
Get all files in a ready-to-deploy package
Includes docker-compose.yml, .env template, README, and license
Components
taiga-backtaiga-frontpostgresrabbitmq
Tags
#taiga#agile#scrum#kanban
Category
Productivity & CollaborationAd Space
Shortcuts: C CopyF FavoriteD Download