# Opening the main page goes to "discover"

**URL:** <https://community.taiga.io/t/opening-the-main-page-goes-to-discover/2451>\
**Category:** Troubleshooting\
**Tags:** docker\
**Created:** [January 14, 2024, 2:02pm UTC](https://community.taiga.io/t/opening-the-main-page-goes-to-discover/2451 "2024-01-14T14:02:43Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Zumo](https://avatars.discourse-cdn.com/v4/letter/z/4491bb/32.png) [@Zumo](https://community.taiga.io/u/Zumo)\
**Post date:** [January 14, 2024, 2:02pm UTC](https://community.taiga.io/t/opening-the-main-page-goes-to-discover/2451/1 "2024-01-14T14:02:44Z")

</div>

Good morning,

I deployed the Taiga in docker, i’m receiving the error.

![image](https://europe1.discourse-cdn.com/flex017/uploads/taiga/original/2X/f/f589b0b02ac3c8e3d96776cba6effb0584928bd9.jpeg)

Inspect get the following websocket errors.

[Inspect console](https://pasteboard.co/CMLbeMWaHz4a.png)

Basically, the design I have is Ubuntu 22.04 VM. With Nginx and Docker at the same level.

I have a container for PostGresSQL and Taiga separated.

[network design](https://pasteboard.co/CK7aE90YAPUv.png)

Below is the configuration of the “docker-compose.yml” .

```auto
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: "postgres_db"
  POSTGRES_PORT: "5432"
  # 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-back:
    image: taigaio/taiga-back:latest
    environment: *default-back-environment
    volumes: *default-back-volumes
    networks:
      - taiga
      - postgres-db
    depends_on:
      taiga-events-rabbitmq:
        condition: service_started
      taiga-async-rabbitmq:
        condition: service_started

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

  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"
    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}"
      # ...your customizations go here
    networks:
      - taiga
    # volumes:
    # - ./conf.json:/usr/share/nginx/html/conf.json
    ports: 
      - "9000:80"

  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_started

  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"
    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

volumes:
  taiga-static-data:
  taiga-media-data:
  taiga-async-rabbitmq-data:
  taiga-events-rabbitmq-data:

networks:
  taiga:
  postgres-db:
    external:
      name: postgres-db

```

Nginx reverse proxy.

```auto
#taiga

server {
    server_name taiga.example.com;
      location / {
    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_redirect off;
    proxy_pass http://localhost:9000/;
  }
      # Events
  location /events {
      proxy_pass http://localhost:9000/events;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      proxy_set_header Host $host;
      proxy_connect_timeout 7d;
      proxy_send_timeout 7d;
      proxy_read_timeout 7d;
  }
    
    listen 443 ssl;
    ssl_certificate /etc/letsencrypt/live/taiga.example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/taiga.example.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot

    client_max_body_size 0;
    large_client_header_buffers 4 32k;
    charset utf-8;

    # log files
    access_log /var/log/nginx/taiga.access.log;
    error_log /var/log/nginx/taiga.error.log;
}

```

.env file

```auto
# Taiga's URLs - Variables to define where Taiga should be served
TAIGA_SCHEME=https # serve Taiga using "http" or "https" (secured) connection
TAIGA_DOMAIN=taiga.example.com:9000 # Taiga's base URL
SUBPATH="" # it'll be appended to the TAIGA_DOMAIN (use either "" or a "/subpath")
WEBSOCKETS_SCHEME=wss # events connection protocol (use either "ws" or "wss")

# Taiga's Secret Key - Variable to provide cryptographic signing
SECRET_KEY="xxxxxxx" # Please, change it to an unpredictable value!!

# Taiga's Database settings - Variables to create the Taiga database and connect to it
POSTGRES_USER=taiga # user to connect to PostgreSQL
POSTGRES_PASSWORD=xxxxxxxx # database user's password

# Taiga's SMTP settings - Variables to send Taiga's emails to the users
EMAIL_BACKEND=console # use an SMTP server or display the emails in the console (either "smtp" or "console")
EMAIL_HOST=mail.example.com # SMTP server address
EMAIL_PORT=465 # default SMTP port
EMAIL_HOST_USER=taiga@example.com # user to connect the SMTP server
EMAIL_HOST_PASSWORD=xxxxxxx # SMTP user's password
EMAIL_DEFAULT_FROM=taiga@example.com # default email address for the automated emails
# EMAIL_USE_TLS/EMAIL_USE_SSL are mutually exclusive (only set one of those to True)
EMAIL_USE_TLS=True # use TLS (secure) connection with the SMTP server
EMAIL_USE_SSL=False # use implicit TLS (secure) connection with the SMTP server

# Taiga's RabbitMQ settings - Variables to leave messages for the realtime and asynchronous events
RABBITMQ_USER=taiga # user to connect to RabbitMQ
RABBITMQ_PASS=xxxx # RabbitMQ user's password
RABBITMQ_VHOST=xxxx # RabbitMQ container name
RABBITMQ_ERLANG_COOKIE=secret-erlang-cookie # unique value shared by any connected instance of RabbitMQ

# Taiga's Attachments - Variable to define how long the attachments will be accesible
ATTACHMENTS_MAX_AGE=360 # token expiration date (in seconds)

# Taiga's Telemetry - Variable to enable or disable the anonymous telemetry
ENABLE_TELEMETRY=True

```

If anyone can point me in the right direction.  
Thanks in advance.

Regards.

---

<div class="post-metadata">

**Author:** ![yami](https://dub1.discourse-cdn.com/flex017/user_avatar/community.taiga.io/yami/32/289_2.png) [@yami](https://community.taiga.io/u/yami)\
**Post date:** [January 15, 2024, 8:54am UTC](https://community.taiga.io/t/opening-the-main-page-goes-to-discover/2451/2 "2024-01-15T08:54:53Z")

</div>

hi @Zumo welcome to our community.

It would be useful to have the docker logs so we can see if there is a problem with the configuration or with the networking.

Cheers!

---

<div class="post-metadata">

**Author:** ![Zumo](https://avatars.discourse-cdn.com/v4/letter/z/4491bb/32.png) [@Zumo](https://community.taiga.io/u/Zumo)\
**Post date:** [January 15, 2024, 10:44am UTC](https://community.taiga.io/t/opening-the-main-page-goes-to-discover/2451/3 "2024-01-15T10:44:38Z")

</div>

Good morning @yami,

Thank you so much for taking a look into this.

I have restarted the docker in order to get the initial entries.

[https://pastebin.com/Hm9SLibV](https://pastebin.com/Hm9SLibV)

I’m using PasteBin due to the initial logs exceed the number of characters authorised.

Do you need the

> docker logs --details  
> of which containers?

- taiga-docker\_taiga-async-rabbitmq\_1
- taiga-docker\_taiga-async\_1
- taiga-docker\_taiga-back\_1
- taiga-docker\_taiga-events-rabbitmq\_1
- taiga-docker\_taiga-events\_1
- taiga-docker\_taiga-front\_1
- taiga-docker\_taiga-protected\_1

---

<div class="post-metadata">

**Author:** ![yami](https://dub1.discourse-cdn.com/flex017/user_avatar/community.taiga.io/yami/32/289_2.png) [@yami](https://community.taiga.io/u/yami)\
**Post date:** [January 15, 2024, 11:05am UTC](https://community.taiga.io/t/opening-the-main-page-goes-to-discover/2451/4 "2024-01-15T11:05:14Z")

</div>

Hey @Zumo

in the logs you may see some errors, you probably should check:

`taiga-async_1 | [2024-01-15 10:31:31,110: ERROR/MainProcess] consumer: Cannot connect to amqp://taiga:**@taiga-async-rabbitmq:5672/taiga: [Errno 111] Connection refused`

However, the console log had problems connecting even the API, so I’d start with taiga-back and taiga-db.

Cheers!

---

<div class="post-metadata">

**Author:** ![Zumo](https://avatars.discourse-cdn.com/v4/letter/z/4491bb/32.png) [@Zumo](https://community.taiga.io/u/Zumo)\
**Post date:** [January 15, 2024, 11:20am UTC](https://community.taiga.io/t/opening-the-main-page-goes-to-discover/2451/5 "2024-01-15T11:20:40Z")

</div>

> [@yami](#):
>
> ole log had problems connecting even the API, so I’d start with taiga-back and taiga-db.

docker logs --details

```auto
taiga-docker_taiga-back_1 -> https://pastebin.com/1wA0hVVS
taiga-docker_taiga-front_1 -> https://pastebin.com/7q61xtjG
taiga-docker_taiga-events_1 -> https://pastebin.com/KFCDAuy0
taiga-docker_taiga-protected_1 -> https://pastebin.com/mKnst5J9
taiga-docker_taiga-async_1 -> https://pastebin.com/fFSMC4Cv
taiga-docker_taiga-async-rabbitmq_1 -> https://pastebin.com/qHa16YGm
taiga-docker_taiga-events-rabbitmq_1 -> https://pastebin.com/TFa6yx5e

```

I have no taiga-db. The DB is in another container, so probably I’m missing something like a connection in the compose file of taiga.

This what I’m using to connect to the DB

```auto
  POSTGRES_DB: "taiga"
  POSTGRES_USER: "${POSTGRES_USER}"
  POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}"
  POSTGRES_HOST: "postgres_db"
  POSTGRES_PORT: "5432"

```

```auto
networks:
  taiga:
  postgres-db:
      name: postgres-db
      external: true

```

I do believe that the connection with the DB is working, should I use the postgres URI instead of the this configuration?

```auto
DATABASE_URL: postgres://host:5432

```

---

<div class="post-metadata">

**Author:** ![yami](https://dub1.discourse-cdn.com/flex017/user_avatar/community.taiga.io/yami/32/289_2.png) [@yami](https://community.taiga.io/u/yami)\
**Post date:** [January 15, 2024, 11:33am UTC](https://community.taiga.io/t/opening-the-main-page-goes-to-discover/2451/6 "2024-01-15T11:33:02Z")

</div>

I’d suggest to try first as the documentation and then moving pieces. This way, we can know if Taiga is working as intended (or not).

Cheers!

---

<div class="post-metadata">

**Author:** ![Zumo](https://avatars.discourse-cdn.com/v4/letter/z/4491bb/32.png) [@Zumo](https://community.taiga.io/u/Zumo)\
**Post date:** [January 15, 2024, 12:48pm UTC](https://community.taiga.io/t/opening-the-main-page-goes-to-discover/2451/7 "2024-01-15T12:48:47Z")

</div>

It seems that I got the DB issue solved although now I’m receiving a new error in the taiga-docker\_taiga-back\_1 log:

`Give permission to taiga:taiga`

Going through the documentation I see no information to a user that needs to be created.

---

<div class="post-metadata">

**Author:** ![Zumo](https://avatars.discourse-cdn.com/v4/letter/z/4491bb/32.png) [@Zumo](https://community.taiga.io/u/Zumo)\
**Post date:** [January 15, 2024, 2:14pm UTC](https://community.taiga.io/t/opening-the-main-page-goes-to-discover/2451/8 "2024-01-15T14:14:50Z")

</div>

Also I forgot to post this, I can confirm that Taiga docker is connected to the DB.

```auto
docker network inspect postgres-db
[
    {
        "Name": "postgres-db",
        "Id": "bbb498649142f7aeffba47e8cf861961ed9b76ddaff4876e20e55e2d9f16335a",
        "Created": "2023-10-16T11:19:50.287458434Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
 "264c6374a7c3131b65c5f677022fd9d3c1697e8357da25a7a0338953f2f0675e": {
                "Name": "taiga-docker_taiga-async_1",
                "EndpointID": "dd6a08cf091ab1afd4af4577934209d7de7a048d005ae6c8ca0d0e1e6dd82687",
                "MacAddress": "02:42:ac:12:00:05",
                "IPv4Address": "172.18.0.5/16",
                "IPv6Address": ""
            },
            "2aba81bd223e197d41a3d7c08aea1cd29078b1b40f0d95c7c66bb3f143c4e428": {
                "Name": "taiga-docker_taiga-back_1",
                "EndpointID": "8c06bb3f549033aede2666247370487f1dbc4919ce90ef6927e47c590429cc74",
                "MacAddress": "02:42:ac:12:00:07",
                "IPv4Address": "172.18.0.7/16",
                "IPv6Address": ""
            },
            "5da6ac35d257d51fbf452833b5d2a3b29223eccae9a7fc4855df18882c7154a4": {
                "Name": "PostgresCont",
                "EndpointID": "4e8a217a001a4ba4d8cd62df52be9d793d8ec5a0bfac229557503db64ba12efe",
                "MacAddress": "02:42:ac:12:00:03",
                "IPv4Address": "172.18.0.3/16",
                "IPv6Address": ""
            },
        },
        "Options": {},
        "Labels": {}
    }
]

```

Also database is being populated:

```auto
taiga=# \dt
                                List of relations
 Schema | Name | Type | Owner
--------+---------------------------------------------------------+-------+-------
 public | attachments_attachment | table | taiga
 public | auth_group | table | taiga
 public | auth_group_permissions | table | taiga
 public | auth_permission | table | taiga
 public | contact_contactentry | table | taiga
 public | custom_attributes_epiccustomattribute | table | taiga
 public | custom_attributes_epiccustomattributesvalues | table | taiga
 public | custom_attributes_issuecustomattribute | table | taiga
 public | custom_attributes_issuecustomattributesvalues | table | taiga
 public | custom_attributes_taskcustomattribute | table | taiga
 public | custom_attributes_taskcustomattributesvalues | table | taiga
 public | custom_attributes_userstorycustomattribute | table | taiga
 public | custom_attributes_userstorycustomattributesvalues | table | taiga
 public | django_admin_log | table | taiga
 public | django_content_type | table | taiga
 public | django_migrations | table | taiga
 public | django_session | table | taiga
 public | djmail_message | table | taiga
 public | easy_thumbnails_source | table | taiga
 public | easy_thumbnails_thumbnail | table | taiga
 public | easy_thumbnails_thumbnaildimensions | table | taiga
 public | epics_epic | table | taiga
 public | epics_relateduserstory | table | taiga
 public | external_apps_application | table | taiga
 public | external_apps_applicationtoken | table | taiga
 public | feedback_feedbackentry | table | taiga
 public | history_historyentry | table | taiga
 public | issues_issue | table | taiga
 public | likes_like | table | taiga
 public | milestones_milestone | table | taiga
 public | notifications_historychangenotification | table | taiga
 public | notifications_historychangenotification_history_entries | table | taiga
 public | notifications_historychangenotification_notify_users | table | taiga
 public | notifications_notifypolicy | table | taiga
 public | notifications_watched | table | taiga
 public | notifications_webnotification | table | taiga
 public | projects_epicstatus | table | taiga
 public | projects_issueduedate | table | taiga
 public | projects_issuestatus | table | taiga
 public | projects_issuetype | table | taiga
 public | projects_membership | table | taiga
 public | projects_points | table | taiga
 public | projects_priority | table | taiga
 public | projects_project | table | taiga
 public | projects_projectmodulesconfig | table | taiga
 public | projects_projecttemplate | table | taiga
 public | projects_severity | table | taiga
 public | projects_swimlane | table | taiga
 public | projects_swimlaneuserstorystatus | table | taiga
 public | projects_taskduedate | table | taiga
 public | projects_taskstatus | table | taiga
 public | projects_userstoryduedate | table | taiga
 public | projects_userstorystatus | table | taiga
 public | references_reference | table | taiga
 public | settings_userprojectsettings | table | taiga
 public | tasks_task | table | taiga
 public | telemetry_instancetelemetry | table | taiga
 public | timeline_timeline | table | taiga
 public | token_denylist_denylistedtoken | table | taiga
 public | token_denylist_outstandingtoken | table | taiga
 public | users_authdata | table | taiga
 public | users_role | table | taiga
 public | users_user | table | taiga
 public | userstorage_storageentry | table | taiga
 public | userstories_rolepoints | table | taiga
 public | userstories_userstory | table | taiga
 public | userstories_userstory_assigned_users | table | taiga
 public | votes_vote | table | taiga
 public | votes_votes | table | taiga
 public | webhooks_webhook | table | taiga
 public | webhooks_webhooklog | table | taiga
 public | wiki_wikilink | table | taiga
 public | wiki_wikipage | table | taiga
(73 rows)

```

I don’t believe that is an issue with the database…

---

<div class="post-metadata">

**Author:** ![yami](https://dub1.discourse-cdn.com/flex017/user_avatar/community.taiga.io/yami/32/289_2.png) [@yami](https://community.taiga.io/u/yami)\
**Post date:** [January 17, 2024, 8:32am UTC](https://community.taiga.io/t/opening-the-main-page-goes-to-discover/2451/9 "2024-01-17T08:32:59Z")

</div>

Hi @Zumo

with this log, I’d check filesystem permissions and which user is running the containers.

Cheers!

---

<div class="post-metadata">

**Author:** ![Zumo](https://avatars.discourse-cdn.com/v4/letter/z/4491bb/32.png) [@Zumo](https://community.taiga.io/u/Zumo)\
**Post date:** [January 17, 2024, 11:18am UTC](https://community.taiga.io/t/opening-the-main-page-goes-to-discover/2451/10 "2024-01-17T11:18:39Z")

</div>

Good morning @yami,

I’m running the docker with a rootless user created for that effect, is running the rest of containers just fine. All the files have the same permissions.

Again for me is standard procedure applications should not run in root, so for that I followed a hardening guide that mentions to create either a docker user and group or just the group and that’s what I did.

My question now stands if the taiga docker needs to have a taiga user and group created to the system in order to run?

I know for a fact that some dockers create their own users once the docker is running.

One of containers created a user to run a memcache.

```auto
user@hostname:/$ docker inspect $(docker ps -q) --format '{{.Config.User}} {{.Name}}
memcache /compose_cache_1

```

forgot to add this part of the user permissions.

user@hostname:/$ id user  
uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),30(dip),46(plugdev),110(lxd),999(docker)

---

<div class="post-metadata">

**Author:** ![yami](https://dub1.discourse-cdn.com/flex017/user_avatar/community.taiga.io/yami/32/289_2.png) [@yami](https://community.taiga.io/u/yami)\
**Post date:** [January 17, 2024, 4:42pm UTC](https://community.taiga.io/t/opening-the-main-page-goes-to-discover/2451/11 "2024-01-17T16:42:17Z")

</div>

Hi @Zumo

Taiga is intended to run as a non-root user, but it doesn’t need to exist a user `taiga` in the host.

Cheers!
