[SOLVED] Migrate taiga-docker 5 to 6

I tried to migrate our taiger-docker 5 to taiger-docker 6 on a new server.
For the migration i followed the steps on Upgrade from Taiga5 to Taiga6.
On the server is a proxy running which manages the https Certifcates.
After the migration taiga starts, but i cant login nor is there any data. There is no error message in the logs the containers.

Can somebody help me to find the problem?
Thank u very much

My docker-compose.yml is following:

version: "3.5"

x-environment:
  &default-back-environment
  # These environment variables will be used by taiga-back and taiga-async.
  # Database settings
  POSTGRES_DB: "taiga"
  POSTGRES_USER: "${POSTGRES_USER}"
  POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}"
  POSTGRES_HOST: "taiga-db"
  # Taiga settings
  TAIGA_SECRET_KEY: "${SECRET_KEY}"
  TAIGA_SITES_SCHEME: "${TAIGA_SCHEME}"
  TAIGA_SITES_DOMAIN: "${TAIGA_DOMAIN}"
  TAIGA_SUBPATH: "${SUBPATH}"
  # Email settings.
  EMAIL_BACKEND: "django.core.mail.backends.${EMAIL_BACKEND}.EmailBackend"
  DEFAULT_FROM_EMAIL: "${EMAIL_DEFAULT_FROM}"
  EMAIL_USE_TLS: "${EMAIL_USE_TLS}"
  EMAIL_USE_SSL: "${EMAIL_USE_SSL}"
  EMAIL_HOST: "${EMAIL_HOST}"
  EMAIL_PORT: "${EMAIL_PORT}"
  EMAIL_HOST_USER: "${EMAIL_HOST_USER}"
  EMAIL_HOST_PASSWORD: "${EMAIL_HOST_PASSWORD}"
  # Rabbitmq settings
  RABBITMQ_USER: "${RABBITMQ_USER}"
  RABBITMQ_PASS: "${RABBITMQ_PASS}"
  # Telemetry settings
  ENABLE_TELEMETRY: "${ENABLE_TELEMETRY}"
  # ...your customizations go here

x-volumes:
  &default-back-volumes
  # These volumens will be used by taiga-back and taiga-async.
  - 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: "${POSTGRES_USER}"
      POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}"
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"]
      interval: 2s
      timeout: 15s
      retries: 5
      start_period: 3s
    volumes:
      - taiga-db-data:/var/lib/postgresql/data
    networks:
      - taiga

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

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

  taiga-async-rabbitmq:
    image: rabbitmq:3.8-management-alpine
    environment:
      RABBITMQ_ERLANG_COOKIE: "${RABBITMQ_ERLANG_COOKIE}"
      RABBITMQ_DEFAULT_USER: "${RABBITMQ_USER}"
      RABBITMQ_DEFAULT_PASS: "${RABBITMQ_PASS}"
      RABBITMQ_DEFAULT_VHOST: "${RABBITMQ_VHOST}"
    hostname: "taiga-async-rabbitmq"
    healthcheck:
      test: rabbitmq-diagnostics -q ping
      interval: 2s
      timeout: 15s
      retries: 5
      start_period: 3s
    volumes:
      - taiga-async-rabbitmq-data:/var/lib/rabbitmq
    networks:
      - taiga

  taiga-front:
    image: taigaio/taiga-front:latest
    environment:
      TAIGA_URL: "${TAIGA_SCHEME}://${TAIGA_DOMAIN}"
      TAIGA_WEBSOCKETS_URL: "${WEBSOCKETS_SCHEME}://${TAIGA_DOMAIN}"
      TAIGA_SUBPATH: "${SUBPATH}"
      VIRTUAL_HOST: xxx     
      LETSENCRYPT_HOST: xxx
      LETSENCRYPT_EMAIL: xxx
      # ...your customizations go here
             
                  
    networks:
      - taiga
      - proxy-tier
    # volumes:
    #   - ./conf.json:/usr/share/nginx/html/conf.json

  taiga-events:
    image: taigaio/taiga-events:latest
    environment:
      RABBITMQ_USER: "${RABBITMQ_USER}"
      RABBITMQ_PASS: "${RABBITMQ_PASS}"
      TAIGA_SECRET_KEY: "${SECRET_KEY}"
    networks:
      - taiga
    depends_on:
      taiga-events-rabbitmq:
        condition: service_healthy

  taiga-events-rabbitmq:
    image: rabbitmq:3.8-management-alpine
    environment:
      RABBITMQ_ERLANG_COOKIE: "${RABBITMQ_ERLANG_COOKIE}"
      RABBITMQ_DEFAULT_USER: "${RABBITMQ_USER}"
      RABBITMQ_DEFAULT_PASS: "${RABBITMQ_PASS}"
      RABBITMQ_DEFAULT_VHOST: "${RABBITMQ_VHOST}"
    hostname: "taiga-events-rabbitmq"
    healthcheck:
      test: rabbitmq-diagnostics -q ping
      interval: 2s
      timeout: 15s
      retries: 5
      start_period: 3s
    volumes:
      - taiga-events-rabbitmq-data:/var/lib/rabbitmq
    networks:
      - taiga

  taiga-protected:
    image: taigaio/taiga-protected:latest
    environment:
      MAX_AGE: "${ATTACHMENTS_MAX_AGE}"
      SECRET_KEY: "${SECRET_KEY}"
    networks:
      - taiga

  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
    networks:
      - taiga
      - proxy-tier
      
    depends_on:
      - taiga-front
      - taiga-back
      - taiga-events

volumes:
  taiga-static-data:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: /ki/data/taiga/taiga-static-data  
  taiga-media-data:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: /ki/data/taiga/taiga-media-data
  taiga-db-data:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: /ki/data/taiga/postgres  
  taiga-async-rabbitmq-data:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: /ki/data/taiga/rabbitmq  
  taiga-events-rabbitmq-data:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: /ki/data/taiga/events-rabbitmq
networks:
  taiga:
  proxy-tier:
    external: true

Hi @Daniel86 welcome to our community! :slight_smile:

In order to help you we need to do some checks:

  • which steps did you achieve?
  • do you have containers up and running?
  • can you check if the data was migrated? (enter the database container and do a simple SELECT over a table)

I’m assuming you get to see the front page; can you see any error log in the browser console?

Cheers!

pd: I edited the format of your original post so it’s more readable. Just the format, I didn’t change any content.

Thank u for your help.
The containers are up and running.
The data is in the postgres database.
The front page is loading without any errors in the logs.
I assume, that is a problem with the docker network. If i try to login i get the error code “405 Not Allowed”.
On the old taiga server, when i try to login, with a wrong user, i get “400
Bad Request”.
I tried running it with FRONT_SCHEME: ‘http’ and without the taiga-gateway. I opend port 80 for that, but it is still not working (the frontpage is still loading).

hi @Daniel86

about your last message:

  • 405 not allowed it’s very unexpected. Which endpoint specifically returns this status code?
  • on the old taiga-server, I assume it’s taiga5, gives a 400. This server should not have changed at all. The migration goes to a new database, so did you change something in old taiga-server?

Now, some threads you could follow to understand what’s happening:

  • which specific request is blocked?
  • can you access http://{ip}:9000 in the server where is taiga6?
  • have you configured the .env file for taiga6?

Cheers!

hi @Daniel86

I’ve been reviewing again the docker-compose.yml file and something caught my attention. There are some variables like LETSENCRYPT_HOST: xxx that don’t belong to the official image. Maybe you’re using a different image? Are you building your own Taiga images with a custom Dockerfile over a modified code?

Cheers!

Hello yami,
thx for your help. I could solve the problem.
You was right, letsencrypt was the error.
The LETSENCRYPT_HOST is for our revers proxy and the https certificate.
The proxy was sending the traffic to taiga-front and not to the taiga-gateway.
After i changed that, it was working fine.

If anyone has the same problem: I just gave the variables to the taiga-gateway:

taiga-gateway:
image: nginx:1.19-alpine
environment:
VIRTUAL_HOST: XXX.de
LETSENCRYPT_HOST: XXX
LETSENCRYPT_EMAIL: XXX

Ey @Daniel86 thanks for coming back with the solution. I’m marking the post as solved.

Cheers!