docker-taiga / taiga

docker-compose.yml for simple taiga setup
215 stars 75 forks source link

How hard would it be to make this work behind traefik instead of nginx #14

Closed Leopere closed 1 year ago

Leopere commented 5 years ago

I have Traefik working already I don't need to reverse engineer nginx if at all possible. Is it possible to do that with this?

michaelr-iq commented 5 years ago

As an alternative, you could just route from your Traefik into the nginx without the need to reverse engineer anything. An example of this working with Apache can be found in my comment here:

https://github.com/docker-taiga/taiga/issues/18#issuecomment-497077042

Leopere commented 5 years ago

Ah so what you're suggesting is that this works so long as I layer Traefik on top of Nginx on top of Taiga?

Do you have an example docker-compose.yml?

x4x commented 4 years ago

hi, I also try to run treafik on top of the nginx proxy.

labels:
  - "traefik.enable=true"
  - "traefik.backend=taiga"
  - "traefik.port=80"
  - "traefik.frontend.rule=Host:taiga.docker00.hqwien.sfu.local"
  - "traefik.frontend.passHostHeader=true"
networks:
  - default
  - traefik-net

By adding this to the proxy i managed to laod some parts but it still shows me a blank page.

mich4xD commented 4 years ago

Hey @x4x, @Leopere

I've attached my configuration for the nginx's traefik labels below:

project-proxy:
    image: dockertaiga/proxy
    container_name: project-proxy
    hostname: project-proxy
    restart: unless-stopped
    depends_on:
      - project-backend
      - project-frontend
      - project-events
    networks:
      - project-network
      - proxy-network
    ports:
      - ${TAIGA_PROXY_PORT_BINDING}:80
    volumes:
      - project-proxy-conf:/taiga-conf
    environment:
      - TAIGA_HOST=${TAIGA_HOST}
      - TAIGA_BACK_HOST=project-backend
      - TAIGA_FRONT_HOST=project-frontend
      - EVENTS_HOST=project-events
      - ENABLE_SSL=no
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=proxy-network"
      - "traefik.http.routers.project.service=project"
      - "traefik.http.routers.project.rule=Host(`project.${YOUR_DOMAIN}`)"
      - "traefik.http.routers.project.entrypoints=websecure"
      - "traefik.http.routers.project.tls.certresolver=proxyresolver"
      - "traefik.http.services.project.loadbalancer.server.port=80"

my TAIGA_HOST is "TAIGA_HOST=project.@DOMAIN_NAME"

you can dive into the example in the project's docker compose on the following setup: https://github.com/shrideio/shoebox/

please let me know if you have any further questions.

Leopere commented 4 years ago

@mich4xD I don't mean to be hopeless but can you make sure to use github's code blocking to make sure that your posted config isn't damaged?

mich4xD commented 4 years ago

@Leopere, Yeah, it failed to keep the spacing for me when using just a single `. Worked fine with ``` though!

Let me know if you had any other questions in regards to this because I was looking into various docker ready taiga images and internal routing of these using traefik!

Leopere commented 4 years ago

I think I managed to make this function.

On Tue, Jun 16, 2020 at 4:05 PM Michael Roizman notifications@github.com wrote:

@Leopere https://github.com/Leopere, Yeah, it failed to keep the spacing for me when using just a single `. Worked fine with ``` though!

Let me know if you had any other questions in regards to this because I was looking into various docker ready taiga images and internal routing of these using traefik!

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/docker-taiga/taiga/issues/14#issuecomment-644984330, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIE2VU4JYSCGCLZV4EBKBLRW7GBXANCNFSM4GXJAFFQ .

hellerbarde commented 4 years ago

Is there any interest in a working config still? I think I got it running pretty well directly behind my existing traefik, without nginx. I'll post it if someone could tell me how to configure email in this application... ;)

mich4xD commented 4 years ago

@hellerbarde you can take a look at the bottom of this page for instructions of how to set the SMTP server with the config for the back end container: https://github.com/shrideio/shoebox/blob/master/src/project/README.md

You do need to restart the container to have it take effect.

You can use a service like send grid to get an smtp server, or just a gmail account with the "enable less secure apps" setting enabled.

Leopere commented 4 years ago

I should see if i can get this working for Swarm

On Tue, Jul 7, 2020 at 11:14 PM Michael Roizman notifications@github.com wrote:

@hellerbarde https://github.com/hellerbarde you can take a look at the bottom of this page for instructions of how to set the SMTP server with the config for the back end container: https://github.com/shrideio/shoebox/blob/master/src/project/README.md

You can use a service like send grid to get an smtp server, or just a gmail account with the "enable less secure apps" setting enabled.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/docker-taiga/taiga/issues/14#issuecomment-655256580, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIE2VVDB6KOOXNA4ACUSMLR2PQABANCNFSM4GXJAFFQ .

dhilipsiva commented 4 years ago

@Leopere Sorry for coming late to the party. I actually have a working setup that runs on Traefik: https://github.com/reckonsys/coffeemachine . It also installs Gogs, Drone and Odoo. But you just just delete those services form the compose file.

Leopere commented 4 years ago

@dhilipsiva always good to break these things up into their own stack files ideally. But that's awesome Odoo is a tricky one for sure, I use Gitea over Gogs I'm not sure why I'd made that decision at this point but I'm very happy with Gitea, it has a dark theme which is wonderful.

Leopere commented 4 years ago

@dhilipsiva will you be merging in the docker-taiga/taiga repositories support for plugins? I'm mostly just looking for clean containers that are no BS that can be piled into a docker swarm stack compose file.

I don't really need any other magic personally.

dhilipsiva commented 4 years ago

@Leopere I don't maintain docker-taiga repos :stuck_out_tongue: Probably the maintainers of docker-taiga can answer that question. I don't have any plans to make a clean taiga build as well. I just use these tools to scratch my own itch at my workplace :stuck_out_tongue_closed_eyes:

SoerenKemmann commented 3 years ago

Is there any interest in a working config still? I think I got it running pretty well directly behind my existing traefik, without nginx. I'll post it if someone could tell me how to configure email in this application... ;)

@hellerbarde Could you post your working config? I am having the same issue as "x4x" ... some parts are loading, but page remains blank.

Thx a lot Anyone else who has a working config is welcome as well ;-)

Leopere commented 3 years ago

It would be nice to get this running but it seems like a hostile environment to people actually looking to self host the application.

Sent from my phone, pardon my brevity.

On Jun 13, 2021, at 5:41 PM, SoerenKemmann @.***> wrote:

 Is there any interest in a working config still? I think I got it running pretty well directly behind my existing traefik, without nginx. I'll post it if someone could tell me how to configure email in this application... ;)

@hellerbarde Could you post your working config? I am having the same issue as "x4x" ... some parts are loading, but page remains blank.

Thx a lot Anyone else who has a working config is welcome as well ;-)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

reyman commented 3 years ago

@hellerbarde I'm also interested by such config :)

MaximilianKindshofer commented 2 years ago

I am not sure if its still relevant but here is a working config:


version: "3.5"

x-environment:
  &default-back-environment
  # Database settings
  POSTGRES_DB: taiga
  POSTGRES_USER: taiga
  POSTGRES_PASSWORD: taiga
  POSTGRES_HOST: taiga-db
  # Taiga settings
  TAIGA_SECRET_KEY: "taiga-back-secret-key"
  TAIGA_SITES_SCHEME: "https"
  TAIGA_SITES_DOMAIN: "taiga.domain.tld"
  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: "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"

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
    environment:
      POSTGRES_DB: taiga
      POSTGRES_USER: taiga
      POSTGRES_PASSWORD: taiga
    volumes:
      - taiga-db-data:/var/lib/postgresql/data

  taiga-back:
    image: taigaio/taiga-back:latest
    environment: *default-back-environment
    volumes: *default-back-volumes
    depends_on:
      - taiga-db
      - taiga-events-rabbitmq
      - taiga-async-rabbitmq

  taiga-async:
    image: taigaio/taiga-back:latest
    entrypoint: ["/taiga-back/docker/async_entrypoint.sh"]
    environment: *default-back-environment
    volumes: *default-back-volumes
    depends_on:
      - taiga-db
      - taiga-back
      - taiga-async-rabbitmq

  taiga-async-rabbitmq:
    image: rabbitmq:3.8-management-alpine
    environment:
      RABBITMQ_ERLANG_COOKIE: secret-erlang-cookie
      RABBITMQ_DEFAULT_USER: taiga
      RABBITMQ_DEFAULT_PASS: taiga
      RABBITMQ_DEFAULT_VHOST: taiga
    volumes:
      - taiga-async-rabbitmq-data:/var/lib/rabbitmq

  taiga-front:
    image: taigaio/taiga-front:latest
    environment:
      TAIGA_URL: "https://taiga.domain.tld"
      TAIGA_WEBSOCKETS_URL: "wss://taiga.domain.tld"
      TAIGA_SUBPATH: "" # "" or "/subpath"
    # volumes:
    #   - ./conf.json:/usr/share/nginx/html/conf.json

  taiga-events:
    image: taigaio/taiga-events:latest
    environment:
      RABBITMQ_USER: taiga
      RABBITMQ_PASS: taiga
      TAIGA_SECRET_KEY: "taiga-back-secret-key"
    depends_on:
      - taiga-events-rabbitmq

  taiga-events-rabbitmq:
    image: rabbitmq:3.8-management-alpine
    environment:
      RABBITMQ_ERLANG_COOKIE: secret-erlang-cookie
      RABBITMQ_DEFAULT_USER: taiga
      RABBITMQ_DEFAULT_PASS: taiga
      RABBITMQ_DEFAULT_VHOST: taiga
    volumes:
      - taiga-events-rabbitmq-data:/var/lib/rabbitmq

  taiga-protected:
    image: taigaio/taiga-protected:latest
    environment:
      MAX_AGE: 360
      SECRET_KEY: "taiga-back-secret-key"

  taiga-gateway:
    image: nginx:1.19-alpine
    ports:
      - "9000:80"
    volumes:
      - ./taiga-gateway/taiga.conf:/etc/nginx/conf.d/default.conf
      - taiga-static-data:/taiga/static
      - taiga-media-data:/taiga/media
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.taiga.rule=Host(`taiga.domain.tld`)"
      - "traefik.http.routers.taiga.tls.certresolver=le"
      - "traefik.http.routers.taiga.entrypoints=https"
      - "traefik.http.routers.taiga.service=taiga"
      - "traefik.http.services.taiga.loadbalancer.server.port=80"
    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:
  default:
    external: true
    name: traefik2_net
Leopere commented 1 year ago

This software has always seemed far too complicated to run in house its really a shame that the deployments are so opinionated it makes it near impossible to use with compatible yet non standard[In their opinion] tooling.