mirror of
https://github.com/runyanjake/olomana.git
synced 2026-06-25 08:04:52 -07:00
2.0 KiB
2.0 KiB
Taiga
Open source Agile project management tool.
Architecture
Traffic flows: Traefik → taiga-gateway (nginx) → internal services
taiga-gateway— nginx reverse proxy; the only service on the Traefik networktaiga-back— Django backend APItaiga-async— Celery worker (same image as back, different entrypoint)taiga-front— Angular frontendtaiga-events— WebSocket events servicetaiga-protected— Protected media token verificationtaiga-db— PostgreSQLtaiga-async-rabbitmq— RabbitMQ for Celery async taskstaiga-events-rabbitmq— RabbitMQ for real-time WebSocket events
Setup
- Copy
.env.exampleto.envand fill out all values. Useopenssl rand -base64 32for key/password generation. - Start the stack:
docker compose up -d - Create the admin user:
docker exec -it taiga-back python3 manage.py createsuperuser --username admin --email admin@example.com
Runbook
Start / stop
docker compose up -d
docker compose down
View logs
docker compose logs -f # all services
docker compose logs -f taiga-back # one service
Restart a single service
docker compose restart taiga-back
Create or reset admin user
docker exec -it taiga-back python3 manage.py createsuperuser
Update images
docker compose pull
docker compose up -d
Database backup / restore
docker exec taiga-db pg_dump -U taiga_user taiga > backup.sql
docker exec -i taiga-db psql -U taiga_user taiga < backup.sql
Notes
- Two separate RabbitMQ instances are required: one for Celery async tasks, one for WebSocket events.
EMAIL_USE_TLSandEMAIL_USE_SSLare mutually exclusive — only set one toTrue.EMAIL_BACKEND=consolelogs emails to stdout (useful for testing). Switch tosmtpfor real email.- Static files are stored in the
taiga-staticnamed Docker volume and shared betweentaiga-back,taiga-async, andtaiga-gateway.