add taiga

This commit is contained in:
whitney 2025-09-02 15:08:48 -07:00
parent c3b3737731
commit 64cc36b31f
4 changed files with 114 additions and 0 deletions

View File

@ -0,0 +1,21 @@
DOMAIN=www.example.com
TAIGA_SECRET_KEY=change-this-to-a-secure-random-string
TAIGA_ADMIN_USERNAME=admin
TAIGA_ADMIN_EMAIL=admin@example.com
TAIGA_ADMIN_PASSWORD=admin
# Postgres
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
POSTGRES_USER=taiga_user
POSTGRES_PASSWORD=securepassword
POSTGRES_DB=taiga
# RabbitMQ
RABBITMQ_HOST=rabbitmq
RABBITMQ_USER=taiga_user
RABBITMQ_PASSWORD=securepassword
CELERY_ENABLED=False
CELERY_BROKER=amqp://${RABBITMQ_USER}:${RABBITMQ_PASSWORD}@${RABBITMQ_HOST}:5672/
CELERY_ALWAYS_EAGER=False

1
productivity/taiga/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.env

View File

@ -0,0 +1,12 @@
# Taiga
Open source Agile project management tool.
## Setup
1. Fill out `.env` from the example. You are supposed to be able to set admin credentials here but I had issues with that. Use a util like `openssl` for key generation.
2. Setup credentials using python util:
```
docker exec -it taiga-back python3 manage.py createsuperuser --username admin --email admin@example.com
```
```
```
Note: I had issues doing this call while RabbitMQ was enabled via this Celery util. I set `CELERY_ENABLED=false` to get the call to work. This is supposed to have us use some slower utility as an alternative. AI assured me I could re-enable after the fact but I did not just to be safe.

View File

@ -0,0 +1,80 @@
networks:
traefik:
external: true
taiga:
driver: bridge
services:
taiga-front:
image: taigaio/taiga-front:latest
container_name: taiga-front
restart: always
environment:
- TAIGA_API_URL=https://${DOMAIN}/api/v1
- TAIGA_EVENTS_URL=wss://${DOMAIN}/events
networks:
- taiga
- traefik
depends_on:
- taiga-back
labels:
- traefik.http.routers.taiga.rule=Host(`${DOMAIN}`)
- traefik.http.routers.taiga.tls=true
- traefik.http.routers.taiga.tls.certresolver=lets-encrypt
- traefik.http.services.taiga.loadbalancer.server.port=80
taiga-back:
image: taigaio/taiga-back:latest
container_name: taiga-back
restart: always
env_file:
- .env
volumes:
- /pwspool/software/taiga/back/data:/taiga-back/data
- /pwspool/software/taiga/back/media:/taiga-back/media
networks:
- taiga
- traefik
depends_on:
- postgres
- rabbitmq
- taiga-events
labels:
- traefik.http.routers.taiga-back.rule=Host(`${DOMAIN}`) && PathPrefix(`/api`)
- traefik.http.routers.taiga-back.tls=true
- traefik.http.routers.taiga-back.tls.certresolver=lets-encrypt
- traefik.http.services.taiga-back.loadbalancer.server.port=8000
taiga-events:
image: taigaio/taiga-events:latest
container_name: taiga-events
restart: always
environment:
- TAIGA_SECRET=${TAIGA_SECRET_KEY}
- TAIGA_BACK_HOST=http://taiga-back:8000
networks:
- taiga
postgres:
image: postgres:13
container_name: taiga-db
restart: always
networks:
- taiga
environment:
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- /pwspool/software/taiga/db:/var/lib/postgresql/data
rabbitmq:
image: rabbitmq:3-management
container_name: taiga-rabbitmq
restart: always
networks:
- taiga
environment:
- RABBITMQ_DEFAULT_USER=${RABBITMQ_USER}
- RABBITMQ_DEFAULT_PASS=${RABBITMQ_PASSWORD}