version: "3.5" x-environment: &default-back-environment # Database settings POSTGRES_DB: taiga POSTGRES_USER: taiga POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_HOST: taiga-db # Taiga settings TAIGA_SECRET_KEY: ${TAIGA_SECRET_KEY} TAIGA_SITES_SCHEME: "https" TAIGA_SITES_DOMAIN: "taiga.mydomain.com:443" TAIGA_SSL_BY_REVERSE_PROXY: "True" TAIGA_SUBPATH: "" # "" or "/subpath" # Email settings. Uncomment following lines and configure your SMTP server EMAIL_BACKEND: "django.core.mail.backends.smtp.EmailBackend" DEFAULT_FROM_EMAIL: "username@email.com" EMAIL_USE_TLS: "True" EMAIL_USE_SSL: "True" # Use following settings if you want to use Office365 to send emails EMAIL_HOST: "smtp.office365.com" EMAIL_PORT: 587 EMAIL_HOST_USER: "username@email.com" EMAIL_HOST_PASSWORD: "changeme" # Rabbitmq settings # Should be the same as in taiga-async-rabbitmq and taiga-events-rabbitmq RABBITMQ_USER: taiga RABBITMQ_PASS: ${RABBITMQ_PASS} # Telemetry settings ENABLE_TELEMETRY: "False" x-volumes: &default-back-volumes - taiga-static-data:/taiga-back/static - taiga-media-data:/taiga-back/media # - ./config.py:/taiga-back/settings/config.py services: taiga-db: image: postgres:12.3 container_name: taiga-db environment: POSTGRES_DB: taiga POSTGRES_USER: taiga POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} volumes: - taiga-db-data:/var/lib/postgresql/data networks: - taiga taiga-back: image: taigaio/taiga-back:latest container_name: taiga-backend environment: *default-back-environment volumes: *default-back-volumes networks: - taiga depends_on: - taiga-db - taiga-events-rabbitmq - taiga-async-rabbitmq taiga-async: image: taigaio/taiga-back:latest container_name: taiga-async entrypoint: ["/taiga-back/docker/async_entrypoint.sh"] environment: *default-back-environment volumes: *default-back-volumes networks: - taiga depends_on: - taiga-db - taiga-back - taiga-async-rabbitmq taiga-async-rabbitmq: image: rabbitmq:3.8-management-alpine container_name: taiga-async-rabbitmq environment: RABBITMQ_ERLANG_COOKIE: secret-erlang-cookie RABBITMQ_DEFAULT_USER: taiga RABBITMQ_DEFAULT_PASS: ${RABBITMQ_DEFAULT_PASS} RABBITMQ_DEFAULT_VHOST: taiga volumes: - taiga-async-rabbitmq-data:/var/lib/rabbitmq networks: - taiga taiga-front: image: taigaio/taiga-front:latest container_name: taiga-frontend environment: TAIGA_URL: "https://taiga.mydomain.com:443" TAIGA_WEBSOCKETS_URL: "wss://taiga.mydomain.com:443" TAIGA_SSL_BY_REVERSE_PROXY: "True" TAIGA_SUBPATH: "" # "" or "/subpath" networks: - taiga # volumes: # - ./conf.json:/usr/share/nginx/html/conf.json taiga-events: image: taigaio/taiga-events:latest container_name: taiga-events environment: RABBITMQ_USER: taiga RABBITMQ_PASS: ${RABBITMQ_PASS} TAIGA_SECRET_KEY: ${TAIGA_SECRET_KEY} networks: - taiga depends_on: - taiga-events-rabbitmq taiga-events-rabbitmq: image: rabbitmq:3.8-management-alpine container_name: taiga-events-rabbitmq environment: RABBITMQ_ERLANG_COOKIE: secret-erlang-cookie RABBITMQ_DEFAULT_USER: taiga RABBITMQ_DEFAULT_PASS: ${RABBITMQ_DEFAULT_PASS} RABBITMQ_DEFAULT_VHOST: taiga volumes: - taiga-events-rabbitmq-data:/var/lib/rabbitmq networks: - taiga taiga-protected: image: taigaio/taiga-protected:latest container_name: taiga-protected environment: MAX_AGE: 360 SECRET_KEY: ${TAIGA_SECRET_KEY} networks: - taiga taiga-gateway: image: nginx:1.19-alpine container_name: taiga-gateway volumes: - ./taiga-gateway/taiga.conf:/etc/nginx/conf.d/default.conf - taiga-static-data:/taiga/static - taiga-media-data:/taiga/media networks: - taiga - reverseproxy-nw depends_on: - taiga-front - taiga-back - taiga-events volumes: taiga-static-data: taiga-media-data: taiga-db-data: taiga-async-rabbitmq-data: taiga-events-rabbitmq-data: networks: taiga: reverseproxy-nw: external: true