Files
docker-compose-collection/composes-files/taiga.yml
2022-05-11 14:08:27 +02:00

222 lines
6.6 KiB
YAML

# Docker-compose mis à disposition par Mickael "PAPAMICA" Asseline
# Date de mise à jour : 29/04/2021
# Variables d'environnement à déclarer :
# - URL : lien du service
# - URL_WS : lien pour les websockets ("ws://localhost:9000")
# - SERVICE : nom du service (exemple : plex)
# - DATA_LOCATION : localisation des données (exemple /apps/"service")
# - URL_LOKI : lien du serveur loki (exemple : ndd/loki/api/v1/push)
# - DB_USER : nom d'utilisateur pour la base de données (exemple : papamica)
# - DB_PASSWORD : mot de passe pour la base de données
# - SECRET : mot de passe de du service
# Fonctionne avec Portainer
version: "2"
services:
taiga-db:
image: postgres:12.3
container_name: $SERVICE-db
environment:
POSTGRES_DB: taiga
POSTGRES_USER: $DB_USER
POSTGRES_PASSWORD: $DB_PASSWORD
volumes:
- $DATA_LOCATION/db:/var/lib/postgresql/data
networks:
- proxy
logging:
driver: loki
options:
loki-url: "$URL_LOKI"
loki-external-labels: service={{.Name}}
taiga-back:
image: taigaio/taiga-back:latest
container_name: $SERVICE-back
environment:
# Database settings
POSTGRES_DB: taiga
POSTGRES_USER: $DB_USER
POSTGRES_PASSWORD: $DB_PASSWORD
POSTGRES_HOST: taiga-db
# Taiga settings
TAIGA_SECRET_KEY: $SECRET
TAIGA_SITES_DOMAIN: $URL
TAIGA_SITES_SCHEME: "https"
# Email settings. Uncomment following lines and configure your SMTP server
# EMAIL_BACKEND: "django.core.mail.backends.smtp.EmailBackend"
# DEFAULT_FROM_EMAIL: "no-reply@example.com"
# EMAIL_USE_TLS: "False"
# EMAIL_USE_SSL: "False"
# EMAIL_HOST: "smtp.host.example.com"
# EMAIL_PORT: 587
# EMAIL_HOST_USER: "user"
# EMAIL_HOST_PASSWORD: "password"
# Rabbitmq settings
# Should be the same as in taiga-async-rabbitmq and taiga-events-rabbitmq
RABBITMQ_USER: taiga
RABBITMQ_PASS: taiga
# Telemetry settings
ENABLE_TELEMETRY: "True"
volumes:
- $DATA_LOCATION/static-data:/taiga-back/static
- $DATA_LOCATION/media-data:/taiga-back/media
networks:
- proxy
logging:
driver: loki
options:
loki-url: "$URL_LOKI"
loki-external-labels: service={{.Name}}
depends_on:
- taiga-db
- taiga-events-rabbitmq
- taiga-async-rabbitmq
taiga-async:
image: taigaio/taiga-back:latest
container_name: $SERVICE-async
entrypoint: ["/taiga-back/docker/async_entrypoint.sh"]
environment:
# Database settings
POSTGRES_DB: taiga
POSTGRES_USER: $DB_USER
POSTGRES_PASSWORD: $DB_PASSWORD
POSTGRES_HOST: taiga-db
# Taiga settings
TAIGA_SECRET_KEY: $SECRET
TAIGA_SITES_DOMAIN: $URL
TAIGA_SITES_SCHEME: "https"
# Email settings. Uncomment following lines and configure your SMTP server
# EMAIL_BACKEND: "django.core.mail.backends.smtp.EmailBackend"
# DEFAULT_FROM_EMAIL: "no-reply@example.com"
# EMAIL_USE_TLS: "False"
# EMAIL_USE_SSL: "False"
# EMAIL_HOST: "smtp.host.example.com"
# EMAIL_PORT: 587
# EMAIL_HOST_USER: "user"
# EMAIL_HOST_PASSWORD: "password"
# Rabbitmq settings
# Should be the same as in taiga-async-rabbitmq and taiga-events-rabbitmq
RABBITMQ_USER: taiga
RABBITMQ_PASS: taiga
# Telemetry settings
ENABLE_TELEMETRY: "True"
volumes:
- $DATA_LOCATION/static-data:/taiga-back/static
- $DATA_LOCATION/media-data:/taiga-back/media
networks:
- proxy
logging:
driver: loki
options:
loki-url: "$URL_LOKI"
loki-external-labels: service={{.Name}}
depends_on:
- taiga-db
- taiga-back
- taiga-async-rabbitmq
taiga-async-rabbitmq:
image: rabbitmq:3-management-alpine
container_name: $SERVICE-rabbitmq
environment:
RABBITMQ_ERLANG_COOKIE: secret-erlang-cookie
RABBITMQ_DEFAULT_USER: taiga
RABBITMQ_DEFAULT_PASS: taiga
RABBITMQ_DEFAULT_VHOST: taiga
volumes:
- $DATA_LOCATION/async-rabbitmq-data:/var/lib/rabbitmq
networks:
- proxy
logging:
driver: loki
options:
loki-url: "$URL_LOKI"
loki-external-labels: service={{.Name}}
taiga-front:
image: taigaio/taiga-front:latest
container_name: $SERVICE-front
environment:
TAIGA_URL: $URL
TAIGA_WEBSOCKETS_URL: $URL_WS #"ws://localhost:9000"
networks:
- proxy
logging:
driver: loki
options:
loki-url: "$URL_LOKI"
loki-external-labels: service={{.Name}}
# volumes:
# - ./conf.json:/usr/share/nginx/html/conf.json
labels:
- "traefik.enable=true"
- "traefik.http.routers.$SERVICE.entrypoints=http"
- "traefik.http.routers.$SERVICE.rule=Host(`$URL`)"
- "traefik.http.middlewares.$SERVICE-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.$SERVICE.middlewares=$SERVICE-https-redirect"
- "traefik.http.routers.$SERVICE-secure.entrypoints=https"
- "traefik.http.routers.$SERVICE-secure.rule=Host(`$URL`)"
- "traefik.http.routers.$SERVICE-secure.tls=true"
- "traefik.http.routers.$SERVICE-secure.tls.certresolver=http"
- "traefik.http.services.$SERVICE-secure.loadbalancer.server.port=9000"
- "traefik.docker.network=proxy"
taiga-events:
image: taigaio/taiga-events:latest
container_name: $SERVICE-events
environment:
RABBITMQ_USER: taiga
RABBITMQ_PASS: taiga
TAIGA_SECRET_KEY: "taiga-back-secret-key"
networks:
- proxy
logging:
driver: loki
options:
loki-url: "$URL_LOKI"
loki-external-labels: service={{.Name}}
depends_on:
- taiga-events-rabbitmq
taiga-events-rabbitmq:
image: rabbitmq:3-management-alpine
container_name: $SERVICE-evet-rabbitmq
environment:
RABBITMQ_ERLANG_COOKIE: secret-erlang-cookie
RABBITMQ_DEFAULT_USER: taiga
RABBITMQ_DEFAULT_PASS: taiga
RABBITMQ_DEFAULT_VHOST: taiga
volumes:
- $DATA_LOCATION/events-rabbitmq-data:/var/lib/rabbitmq
networks:
- proxy
logging:
driver: loki
options:
loki-url: "$URL_LOKI"
loki-external-labels: service={{.Name}}
taiga-protected:
image: taigaio/taiga-protected:latest
container_name: $SERVICE-protected
environment:
MAX_AGE: 360
SECRET_KEY: "taiga-back-secret-key"
networks:
- proxy
logging:
driver: loki
options:
loki-url: "$URL_LOKI"
loki-external-labels: service={{.Name}}
networks:
proxy:
external:
name: proxy