Hello,
I’m trying to install it from portainer, with the following yml format, its works but all the services have no published ports, and I don’t know how they communicate with each other (I change the name of services using underscore instead of dash, for example from taiga-back to taiga_back).
version: "3.9"
volumes:
taiga_db_volume:
taiga_back_static_volume:
taiga_back_media_volume:
taiga_async_rabbitmq_volume:
taiga_events_rabbitmq_volume:
networks:
taiga_network:
services:
taiga_db:
image: postgres:12.3
volumes:
- taiga_db_volume:/var/lib/postgresql/data
environment:
POSTGRES_DB: taiga
POSTGRES_USER: xxxxxxxxxxxxxx
POSTGRES_PASSWORD: xxxxxxxxxxxxxx
networks:
- taiga_network
taiga_async_rabbitmq:
image: rabbitmq:3.8-management-alpine
volumes:
- taiga_async_rabbitmq_volume:/var/lib/rabbitmq
environment:
RABBITMQ_ERLANG_COOKIE: secret-erlang-cookie
RABBITMQ_DEFAULT_USER: xxxxxxxxxxxxxx
RABBITMQ_DEFAULT_PASS: xxxxxxxxxxxxxx
RABBITMQ_DEFAULT_VHOST: xxxxxxxxxxxxxx
networks:
- taiga_network
taiga_events_rabbitmq:
image: rabbitmq:3.8-management-alpine
volumes:
- taiga_events_rabbitmq_volume:/var/lib/rabbitmq
environment:
RABBITMQ_ERLANG_COOKIE: secret-erlang-cookie
RABBITMQ_DEFAULT_USER: xxxxxxxxxxxxxx
RABBITMQ_DEFAULT_PASS: xxxxxxxxxxxxxx
RABBITMQ_DEFAULT_VHOST: xxxxxxxxxxxxxx
networks:
- taiga_network
taiga_back:
image: taigaio/taiga-back:latest
environment:
- TAIGA_SCHEME=https
- TAIGA_DOMAIN=xxxxxxxxxxxxxx
- SUBPATH=""
- WEBSOCKETS_SCHEME=ws
- TAIGA_SECRET_KEY=xxxxxxxxxxxxxx
- POSTGRES_USER=xxxxxxxxxxxxxx
- POSTGRES_PASSWORD=xxxxxxxxxxxxxx
- POSTGRES_HOST=taiga_db
- EMAIL_BACKEND=smtp
- EMAIL_HOST=xxxxxxxxxxxxxx
- EMAIL_PORT=587
- EMAIL_HOST_USER=xxxxxxxxxxxxxx
- EMAIL_HOST_PASSWORD=xxxxxxxxxxxxxx
- EMAIL_DEFAULT_FROM=xxxxxxxxxxxxxx
- EMAIL_USE_TLS=True
- EMAIL_USE_SSL=False
- RABBITMQ_USER=xxxxxxxxxxxxxx
- RABBITMQ_PASS=xxxxxxxxxxxxxx
- RABBITMQ_VHOST=taiga
- RABBITMQ_ERLANG_COOKIE=secret-erlang-cookie
- ATTACHMENTS_MAX_AGE=360
- ENABLE_TELEMETRY=False
- PUBLIC_REGISTER_ENABLED=false
- SESSION_COOKIE_SECURE=true
- CSRF_COOKIE_SECURE=true
volumes:
- taiga_back_static_volume:/taiga-back/static
- taiga_back_media_volume:/taiga-back/media
networks:
- taiga_network
taiga_async:
image: taigaio/taiga-back:latest
entrypoint:
- /taiga-back/docker/async_entrypoint.sh
environment:
- TAIGA_SCHEME=https
- TAIGA_DOMAIN=xxxxxxxxxxxxxx
- SUBPATH=""
- WEBSOCKETS_SCHEME=ws
- TAIGA_SECRET_KEY=xxxxxxxxxxxxxx
- POSTGRES_USER=xxxxxxxxxxxxxx
- POSTGRES_PASSWORD=xxxxxxxxxxxxxx
- POSTGRES_HOST=taiga_db
- EMAIL_BACKEND=smtp
- EMAIL_HOST=xxxxxxxxxxxxxx
- EMAIL_PORT=587
- EMAIL_HOST_USER=xxxxxxxxxxxxxx
- EMAIL_HOST_PASSWORD=xxxxxxxxxxxxxx
- EMAIL_DEFAULT_FROM=xxxxxxxxxxxxxx
- EMAIL_USE_TLS=True
- EMAIL_USE_SSL=False
- RABBITMQ_USER=xxxxxxxxxxxxxx
- RABBITMQ_PASS=xxxxxxxxxxxxxx
- RABBITMQ_VHOST=taiga
- RABBITMQ_ERLANG_COOKIE=secret-erlang-cookie
- ATTACHMENTS_MAX_AGE=360
- ENABLE_TELEMETRY=False
- PUBLIC_REGISTER_ENABLED=false
- SESSION_COOKIE_SECURE=true
- CSRF_COOKIE_SECURE=true
volumes:
- taiga_back_static_volume:/taiga-back/static
- taiga_back_media_volume:/taiga-back/media
networks:
- taiga_network
taiga_front:
image: taigaio/taiga-front:latest
environment:
TAIGA_URL: https://xxxxxxxxxxxxxx
TAIGA_WEBSOCKETS_URL: wss://xxxxxxxxxxxxxx
TAIGA_SUBPATH: ""
PUBLIC_REGISTER_ENABLED: "false"
networks:
- taiga_network
taiga_protected:
image: taigaio/taiga-protected:latest
environment:
ATTACHMENTS_MAX_AGE: 360
SECRET_KEY: xxxxxxxxxxxxxx
networks:
- taiga_network
taiga_events:
image: taigaio/taiga-events:latest
environment:
RABBITMQ_USER: xxxxxxxxxxxxxx
RABBITMQ_PASS: xxxxxxxxxxxxxx
SECRET_KEY: xxxxxxxxxxxxxx
networks:
- taiga_network
Can I install it with this way (portainer to run the compose & nginx proxy manager for handling the traffic) ? or I need to install nginx (taiga-gateway service), and if so what the configuration for nginx to link with these services?
Thanks
yami
February 15, 2024, 9:17am
2
hi @wajdyessam welcome to our community!
I’m not portainer user so maybe on this topic another user may help. Regarding containers, they don’t need to expose ports to the host in order to communicate; containers use a network , and communicate thanks to a hostname (which is the service name in a docker-compose environment for instance).
Now, the gateway is an important piece for running Taiga, and it’s the recommended way; that said, you can use just one nginx in the host. You’ll need to craft the configuration yourself using the configuration for this container .
Cheers!
1 Like
Thanks for quick answer, its works after adding the nginx conf file and use the service name with -.
here the updated yml that works on portainer:
version: "3.9"
volumes:
taiga_db_volume:
taiga_back_static_volume:
taiga_back_media_volume:
taiga_async_rabbitmq_volume:
taiga_events_rabbitmq_volume:
x-backend-variables: &backend-variables
environment:
- TAIGA_SITES_SCHEME=https
- TAIGA_SITES_DOMAIN=xxxxxxxxxxxxx
- SUBPATH=""
- WEBSOCKETS_SCHEME=ws
- TAIGA_SECRET_KEY=xxxxxxxxxxxxx
- POSTGRES_USER=xxxxxxxxxxxxx
- POSTGRES_PASSWORD=xxxxxxxxxxxxx
- POSTGRES_HOST=taiga-db
- EMAIL_BACKEND=smtp
- EMAIL_HOST=xxxxxxxxxxxxx
- EMAIL_PORT=587
- EMAIL_HOST_USER=xxxxxxxxxxxxx
- EMAIL_HOST_PASSWORD=xxxxxxxxxxxxx
- EMAIL_DEFAULT_FROM=xxxxxxxxxxxxx
- EMAIL_USE_TLS=True
- EMAIL_USE_SSL=False
- RABBITMQ_USER=xxxxxxxxxxxxx
- RABBITMQ_PASS=xxxxxxxxxxxxx
- RABBITMQ_VHOST=taiga
- RABBITMQ_ERLANG_COOKIE=xxxxxxxxxxxxx
- ATTACHMENTS_MAX_AGE=360
- ENABLE_TELEMETRY=False
- PUBLIC_REGISTER_ENABLED=false
- SESSION_COOKIE_SECURE=true
- CSRF_COOKIE_SECURE=true
x-rabbitmq-variables: &rabbitmq-variables
environment:
- RABBITMQ_ERLANG_COOKIE=xxxxxxxxxxxxx
- RABBITMQ_DEFAULT_USER=xxxxxxxxxxxxx
- RABBITMQ_DEFAULT_PASS=xxxxxxxxxxxxx
- RABBITMQ_DEFAULT_VHOST=taiga
networks:
taiga_network:
services:
taiga-db:
image: postgres:12.3
volumes:
- taiga_db_volume:/var/lib/postgresql/data
environment:
POSTGRES_DB: taiga
POSTGRES_USER: xxxxxxxxxxxxx
POSTGRES_PASSWORD: xxxxxxxxxxxxx
networks:
- taiga_network
taiga-back:
image: taigaio/taiga-back:latest
<<: *backend-variables
volumes:
- taiga_back_static_volume:/taiga-back/static
- taiga_back_media_volume:/taiga-back/media
networks:
- taiga_network
taiga-async:
image: taigaio/taiga-back:latest
entrypoint:
- /taiga-back/docker/async_entrypoint.sh
<<: *backend-variables
volumes:
- taiga_back_static_volume:/taiga-back/static
- taiga_back_media_volume:/taiga-back/media
networks:
- taiga_network
taiga-front:
image: taigaio/taiga-front:latest
environment:
TAIGA_URL: https://xxxxxxxxxxxxx
TAIGA_WEBSOCKETS_URL: wss://xxxxxxxxxxxxx
TAIGA_SUBPATH: ""
PUBLIC_REGISTER_ENABLED: "false"
networks:
- taiga_network
taiga-protected:
image: taigaio/taiga-protected:latest
environment:
ATTACHMENTS_MAX_AGE: 360
SECRET_KEY: xxxxxxxxxxxxx
networks:
- taiga_network
taiga-events:
image: taigaio/taiga-events:latest
environment:
RABBITMQ_USER: xxxxxxxxxxxxx
RABBITMQ_PASS: xxxxxxxxxxxxx
SECRET_KEY: xxxxxxxxxxxxx
networks:
- taiga_network
taiga-async-rabbitmq:
image: rabbitmq:3.8-management-alpine
volumes:
- taiga_async_rabbitmq_volume:/var/lib/rabbitmq
<<: *rabbitmq-variables
networks:
- taiga_network
taiga-events-rabbitmq:
image: rabbitmq:3.8-management-alpine
volumes:
- taiga_events_rabbitmq_volume:/var/lib/rabbitmq
<<: *rabbitmq-variables
networks:
- taiga_network
taiga-gateway:
image: nginx:1.19-alpine
ports:
- 8083:80
volumes:
- /root/taiga.conf:/etc/nginx/conf.d/default.conf
- taiga_back_static_volume:/taiga-back/static
- taiga_back_media_volume:/taiga-back/media
networks:
- taiga_network
Edit: I have an issue on loading images, but its resolved now, this is my conf for reference after changing the alais name to taiga-back
server {
server_name xxxxxxxxxxxxxxx;
listen 80 default_server;
client_max_body_size 100M;
charset utf-8;
# Frontend
location / {
proxy_pass http://taiga-front/;
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
}
# API
location /api/ {
proxy_pass http://taiga-back:8000/api/;
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
}
# Admin
location /admin/ {
proxy_pass http://taiga-back:8000/admin/;
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
}
# Static
location /static/ {
alias /taiga-back/static/;
}
# Media
location /_protected/ {
internal;
alias /taiga-back/media/;
add_header Content-disposition "attachment";
}
# Unprotected section
location /media/exports/ {
alias /taiga-back/media/exports/;
add_header Content-disposition "attachment";
}
location /media/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://taiga-protected:8003/;
proxy_redirect off;
}
# Events
location /events {
proxy_pass http://taiga-events:8888/events;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_connect_timeout 7d;
proxy_send_timeout 7d;
proxy_read_timeout 7d;
}
}
Everything is works now
Thanks
1 Like