Installed Taiga according to the instructions, but it does not work. Error 500

Hello. I installed Taiga following the instructions Install Taiga in Production .
Everything installed without problems, I can see all the pages, but if I try to create a new project, then I see a 500 error in debugging.
OS Ubuntu Server 22.04.3 (clean install).
Nginx is up and running.
The second error I see in debugging is: Firefox cannot establish a connection to the wss://myhost.name/events server.

I have already tried everything and give up, tell me what could be my problem and what am I doing wrong?




Hi @giga41,

It seems you’re facing two different errors.

To help you further with the 500 error we would require the detailed logs taiga-back provides while you’re creating the project, and probably your config.py file. Please, remember not to reveil any password publicly.

The events error it’s reflecting a comunication problem between taiga-back and taiga-event services. I’d start validating that any RabbitMQ values and the SECRET_KEY in the configuration variables in the two system are right and they are the same (they should match).

I have the same issue as the OP:

  • I installed Taiga following the Install Taiga in Production manual.
  • I get the same 500-Error like the OP when creating a project. A glance into the admin panel shows, that the project (with name and description) is created there, but the front-end never gets the information.
  • I also get this websocket-error which is visible in the OPs screenshots.
  • OS is also Ubuntu 22.04.03, running on a 32-bit ARM-machine (Odroid HC1).

What I tried to fix:

  • Changing all the URLs (with slash at the end and without)
  • Connecting to MQTT via online MQTT-Broker (works, I can send messages there)
  • Visiting the API URL (works, I get the project information there)
  • Googling the internet, found a bug with new version of RabbitMQ which suggests to downgrade to version 3.8 - not available for my ubuntu version and therefore I stopped as I fear about system stability when applying.
  • Decided now to ask here :slight_smile:

About the information you requested from the OP (from my point of view):

  • I was not able to detect the backend-error-log (found server-log only). Where am I able to find it?
  • config.py here you go:
# -*- coding: utf-8 -*-
import os

from .common import *   # noqa, pylint: disable=unused-wildcard-import

#########################################
## GENERIC
#########################################

DEBUG = False

#ADMINS = (
#    ("Admin", "example@example.com"),
#)

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'taiga',
        'USER': 'taiga',
        'PASSWORD': '****',
        'HOST': '',
        'PORT': '',
    }
}

SECRET_KEY = "****"

TAIGA_SITES_SCHEME = "https"
TAIGA_SITES_DOMAIN = "domain.de"
FORCE_SCRIPT_NAME = "/taiga"

TAIGA_URL = f"{ TAIGA_SITES_SCHEME }://{ TAIGA_SITES_DOMAIN }{ FORCE_SCRIPT_NAME }"
SITES = {
        "api": { "name": "api", "scheme": TAIGA_SITES_SCHEME, "domain": TAIGA_SITES_DOMAIN },
        "front": { "name": "front", "scheme": TAIGA_SITES_SCHEME, "domain": f"{ TAIGA_SITES_DOMAIN }{ FORCE_SCRIPT_NAME }" }
}

# Setting DEFAULT_PROJECT_SLUG_PREFIX to false
# removes the username from project slug
DEFAULT_PROJECT_SLUG_PREFIX = False

#########################################
## MEDIA AND STATIC
#########################################

# MEDIA_ROOT = '/home/taiga/media'
MEDIA_URL = f"{ TAIGA_URL }/media/"
DEFAULT_FILE_STORAGE = "taiga_contrib_protected.storage.ProtectedFileSystemStorage"
THUMBNAIL_DEFAULT_STORAGE = DEFAULT_FILE_STORAGE

# STATIC_ROOT = '/home/taiga/static'
STATIC_URL = f"{ TAIGA_URL }/static/"

#########################################
## EMAIL
#########################################
# https://docs.djangoproject.com/en/3.1/topics/email/
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
CHANGE_NOTIFICATIONS_MIN_INTERVAL = 120  # seconds

DEFAULT_FROM_EMAIL = 'info@pm.domain.de'
EMAIL_USE_TLS = True
EMAIL_USE_SSL = True
EMAIL_HOST = 'smtp.mailserver.de'
EMAIL_PORT = 465
EMAIL_HOST_USER = 'info@pm.domain.de'
EMAIL_HOST_PASSWORD = '****'

#########################################
## EVENTS
#########################################
EVENTS_PUSH_BACKEND = "taiga.events.backends.rabbitmq.EventsPushBackend"
EVENTS_PUSH_BACKEND_OPTIONS = {
    "url": "amqp://rabbitmquser:rabbitmqpassword@rabbitmqhost:5672/taiga"
}

#########################################
## TAIGA ASYNC
#########################################
CELERY_ENABLED = os.getenv('CELERY_ENABLED', 'True') == 'True'

from kombu import Queue  # noqa

CELERY_BROKER_URL = "amqp://rabbitmquser:rabbitmqpassword@rabbitmq:5672/taiga"
CELERY_RESULT_BACKEND = None # for a general installation, we don't need to store the results
CELERY_ACCEPT_CONTENT = ['pickle', ]  # Values are 'pickle', 'json', 'msgpack' and 'yaml'
CELERY_TASK_SERIALIZER = "pickle"
CELERY_RESULT_SERIALIZER = "pickle"
CELERY_TIMEZONE = 'Europe/Madrid'
CELERY_TASK_DEFAULT_QUEUE = 'tasks'
CELERY_QUEUES = (
    Queue('tasks', routing_key='task.#'),
    Queue('transient', routing_key='transient.#', delivery_mode=1)
)
CELERY_TASK_DEFAULT_EXCHANGE = 'tasks'
CELERY_TASK_DEFAULT_EXCHANGE_TYPE = 'topic'
CELERY_TASK_DEFAULT_ROUTING_KEY = 'task.default'

It would be really cool if you could help me with this issues, as I’m now on a point where I do not know how to go on with Taiga.

Hi @Basti,

It’ll be easier if we focus in an error at a time. Let’s focus on the 500-Error.

Increase the log level to taiga-back

First, I’d start adding the line DEBUG = True to the config.py file in taiga-back to log more data.

How to get the 500 error log

If you have followed the “Install Taiga in Production” manual, taiga-back is deployed through a systemd service, so its logs will be there.

To monitor the service’s logs in real-time you can use the $ sudo journalctl -u taiga.service -b -f command. Then you just have to reproduce the error while creating a project and review the traces.

Another option is to review past logs with sudo journalctl -u taiga.service --since "1 hour ago". You can change the time interval, for example, to “2 days ago” or “1 day ago”.

Regarding the websocket-error

You can review the ~/taiga-front-dist/dist/conf.json file from taiga-front, checking the eventsUrl variable is right according to your subpath configuration.

Share with us this file if you continue experiencing issues.

{
    "api": "https://mycompany.com/taiga/api/v1/",
    "eventsUrl": "wss://mycompany.com/taiga/events",  <-------------
    "baseHref": "/taiga/",

The nginx should also be configured to redirect properly the requests to taiga-events. You can check the documentation: Configure NGINX for Taiga in a subpath.

server {
    listen 80 default_server;
    server_name mycompany.com;  # <------
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 default_server;
    server_name mycompany.com;    # <------

[...] # Rest of the locations ...

 # Events
    location /taiga/events {    # <------

Hello, I’m sorry that I didn’t respond for a long time.
I tried to reinstall everything again.
There really are problems with taiga-async.
here are my logs and configs.

$ sudo journalctl -u taiga.service -b -f
Oct 03 06:50:06 kvant-tracker systemd[1]: taiga.service: Deactivated successfully.
Oct 03 06:50:06 kvant-tracker systemd[1]: Stopped taiga_back.
Oct 03 06:50:06 kvant-tracker systemd[1]: taiga.service: Consumed 3.906s CPU time.
Oct 03 06:50:06 kvant-tracker systemd[1]: Started taiga_back.
Oct 03 06:50:06 kvant-tracker gunicorn[29082]: [2023-10-03 06:50:06 +0000] [29082] [INFO] Starting gunicorn 20.1.0
Oct 03 06:50:06 kvant-tracker gunicorn[29082]: [2023-10-03 06:50:06 +0000] [29082] [INFO] Listening at: http://0.0.0.0:8001 (29082)
Oct 03 06:50:06 kvant-tracker gunicorn[29082]: [2023-10-03 06:50:06 +0000] [29082] [INFO] Using worker: sync
Oct 03 06:50:06 kvant-tracker gunicorn[29084]: [2023-10-03 06:50:06 +0000] [29084] [INFO] Booting worker with pid: 29084
Oct 03 06:50:06 kvant-tracker gunicorn[29086]: [2023-10-03 06:50:06 +0000] [29086] [INFO] Booting worker with pid: 29086
Oct 03 06:50:06 kvant-tracker gunicorn[29088]: [2023-10-03 06:50:06 +0000] [29088] [INFO] Booting worker with pid: 29088
Oct 03 06:50:06 kvant-tracker gunicorn[29090]: [2023-10-03 06:50:06 +0000] [29090] [INFO] Booting worker with pid: 29090
Oct 03 06:51:37 kvant-tracker gunicorn[29086]: ERROR:2023-10-03 06:51:37,304: Internal Server Error: /api/v1/projects
Oct 03 06:51:37 kvant-tracker gunicorn[29086]: Traceback (most recent call last):
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/.venv/lib/python3.10/site-packages/django/core/handlers/exception.py", line 47, in inner
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     response = get_response(request)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/.venv/lib/python3.10/site-packages/django/core/handlers/base.py", line 181, in _get_response
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     response = wrapped_callback(request, *callback_args, **callback_kwargs)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/taiga/base/api/viewsets.py", line 95, in view
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     return self.dispatch(request, *args, **kwargs)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/.venv/lib/python3.10/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     return view_func(*args, **kwargs)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/taiga/base/api/views.py", line 449, in dispatch
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     response = self.handle_exception(exc)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/taiga/base/api/views.py", line 447, in dispatch
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     response = handler(request, *args, **kwargs)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/taiga/base/api/mixins.py", line 89, in create
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     self.object = validator.save(force_insert=True)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/taiga/base/api/serializers.py", line 1104, in save
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     self.object = super().save(**kwargs)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/taiga/base/api/serializers.py", line 637, in save
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     self.save_object(self.object, **kwargs)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/taiga/base/api/serializers.py", line 1122, in save_object
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     obj.save(**kwargs)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/taiga/projects/models.py", line 327, in save
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     super().save(*args, **kwargs)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/.venv/lib/python3.10/site-packages/django/db/models/base.py", line 739, in save
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     self.save_base(using=using, force_insert=force_insert,
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/.venv/lib/python3.10/site-packages/django/db/models/base.py", line 787, in save_base
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     post_save.send(
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/.venv/lib/python3.10/site-packages/django/dispatch/dispatcher.py", line 180, in send
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     return [
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/.venv/lib/python3.10/site-packages/django/dispatch/dispatcher.py", line 181, in <listcomp>
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     (receiver, receiver(signal=self, sender=sender, **named))
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/taiga/projects/signals.py", line 62, in project_post_save
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     template.apply_to_project(instance)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/taiga/projects/models.py", line 1266, in apply_to_project
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     UserStoryStatus.objects.create(
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/.venv/lib/python3.10/site-packages/django/db/models/manager.py", line 85, in manager_method
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     return getattr(self.get_queryset(), name)(*args, **kwargs)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/.venv/lib/python3.10/site-packages/django/db/models/query.py", line 453, in create
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     obj.save(force_insert=True, using=self.db)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/taiga/projects/models.py", line 633, in save
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     return super().save(*args, **kwargs)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/.venv/lib/python3.10/site-packages/django/db/models/base.py", line 739, in save
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     self.save_base(using=using, force_insert=force_insert,
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/.venv/lib/python3.10/site-packages/django/db/models/base.py", line 787, in save_base
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     post_save.send(
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/.venv/lib/python3.10/site-packages/django/dispatch/dispatcher.py", line 180, in send
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     return [
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/.venv/lib/python3.10/site-packages/django/dispatch/dispatcher.py", line 181, in <listcomp>
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     (receiver, receiver(signal=self, sender=sender, **named))
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/taiga/events/signal_handlers.py", line 30, in on_save_any_model
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     events.emit_event_for_model(instance, sessionid=sesionid, type=type)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/taiga/events/events.py", line 76, in emit_event_for_model
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     return emit_event(routing_key=routing_key,
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/taiga/events/events.py", line 38, in emit_event
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     connection.on_commit(backend_emit_event)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/.venv/lib/python3.10/site-packages/django/db/backends/base/base.py", line 645, in on_commit
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     func()
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/taiga/events/events.py", line 35, in backend_emit_event
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     backend.emit_event(message=json.dumps(data), routing_key=routing_key, channel=channel)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/taiga/events/backends/rabbitmq.py", line 47, in emit_event
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     connection.connect()
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/.venv/lib/python3.10/site-packages/amqp/connection.py", line 323, in connect
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     self.transport.connect()
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/.venv/lib/python3.10/site-packages/amqp/transport.py", line 129, in connect
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     self._connect(self.host, self.port, self.connect_timeout)
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/home/taiga/taiga-back/.venv/lib/python3.10/site-packages/amqp/transport.py", line 172, in _connect
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     entries = socket.getaddrinfo(
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:   File "/usr/lib/python3.10/socket.py", line 955, in getaddrinfo
Oct 03 06:51:37 kvant-tracker gunicorn[29086]:     for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
Oct 03 06:51:37 kvant-tracker gunicorn[29086]: socket.gaierror: [Errno -3] Temporary failure in name resolution
/home/taiga/taiga-back/settings/config.py

# -*- coding: utf-8 -*-
import os

from .common import *   # noqa, pylint: disable=unused-wildcard-import

#########################################
## GENERIC
#########################################

DEBUG = True

#ADMINS = (
#    ("Admin", "example@example.com"),
#)

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'taiga',
        'USER': 'taiga',
        'PASSWORD': 'taiga',
        'HOST': '',
        'PORT': '',
    }
}

SECRET_KEY = "taiga"

TAIGA_SITES_SCHEME = "https"
TAIGA_SITES_DOMAIN = "kvant.tracker.ru"
FORCE_SCRIPT_NAME = ""

TAIGA_URL = f"{ TAIGA_SITES_SCHEME }://{ TAIGA_SITES_DOMAIN }{ FORCE_SCRIPT_NAME }"
SITES = {
        "api": { "name": "api", "scheme": TAIGA_SITES_SCHEME, "domain": TAIGA_SITES_DOMAIN },
        "front": { "name": "front", "scheme": TAIGA_SITES_SCHEME, "domain": f"{ TAIGA_SITES_DOMAIN }{ FORCE_SCRIPT_NAME }" }
}

# Setting DEFAULT_PROJECT_SLUG_PREFIX to false
# removes the username from project slug
DEFAULT_PROJECT_SLUG_PREFIX = False

#########################################
## MEDIA AND STATIC
#########################################

# MEDIA_ROOT = '/home/taiga/media'
MEDIA_URL = f"{ TAIGA_URL }/media/"
DEFAULT_FILE_STORAGE = "taiga_contrib_protected.storage.ProtectedFileSystemStorage"
THUMBNAIL_DEFAULT_STORAGE = DEFAULT_FILE_STORAGE

# STATIC_ROOT = '/home/taiga/static'
STATIC_URL = f"{ TAIGA_URL }/static/"

#########################################
## EMAIL
#########################################
# https://docs.djangoproject.com/en/3.1/topics/email/
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
CHANGE_NOTIFICATIONS_MIN_INTERVAL = 120  # seconds

DEFAULT_FROM_EMAIL = 'changeme@example.com'
EMAIL_USE_TLS = True
EMAIL_USE_SSL = True
EMAIL_HOST = 'localhost'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'user'
EMAIL_HOST_PASSWORD = 'password'

#########################################
## EVENTS
#########################################
EVENTS_PUSH_BACKEND = "taiga.events.backends.rabbitmq.EventsPushBackend"
EVENTS_PUSH_BACKEND_OPTIONS = {
    "url": "amqp://taiga:taiga@taiga:5672/taiga"
}


#########################################
## TAIGA ASYNC
#########################################
CELERY_ENABLED = os.getenv('CELERY_ENABLED', 'True') == 'True'

from kombu import Queue  # noqa

CELERY_BROKER_URL = "amqp://taiga:taiga@rabbitmq:5672/taiga"
CELERY_RESULT_BACKEND = None # for a general installation, we don't need to store the results
CELERY_ACCEPT_CONTENT = ['pickle', ]  # Values are 'pickle', 'json', 'msgpack' and 'yaml'
CELERY_TASK_SERIALIZER = "pickle"
CELERY_RESULT_SERIALIZER = "pickle"
CELERY_TIMEZONE = 'Europe/Madrid'
CELERY_TASK_DEFAULT_QUEUE = 'tasks'
CELERY_QUEUES = (
    Queue('tasks', routing_key='task.#'),
    Queue('transient', routing_key='transient.#', delivery_mode=1)
)
CELERY_TASK_DEFAULT_EXCHANGE = 'tasks'
CELERY_TASK_DEFAULT_EXCHANGE_TYPE = 'topic'
CELERY_TASK_DEFAULT_ROUTING_KEY = 'task.default'


#########################################
## CONTRIBS
#########################################
# INSTALLED_APPS += [
#     "taiga_contrib_slack",
#     "taiga_contrib_github_auth",
#     "taiga_contrib_gitlab_auth"
# ]
#
# GITHUB_API_CLIENT_ID = "changeme"
# GITHUB_API_CLIENT_SECRET = "changeme"
#
# GITLAB_API_CLIENT_ID = "changeme"
# GITLAB_API_CLIENT_SECRET = "changeme"
# GITLAB_URL = "changeme"


#########################################
## TELEMETRY
#########################################

ENABLE_TELEMETRY = True

#########################################
##  REGISTRATION
#########################################

PUBLIC_REGISTER_ENABLED = True

RABBITMQ_URL="amqp://taiga:taiga@taiga:5672/taiga"
WEB_SOCKET_SERVER_PORT=8888
APP_PORT=3023
SECRET="taiga"
ALGORITHM="HS256"
AUDIENCE=
ISSUER=
USER_ID_CLAIM="user_id"
# Valid log level values: error, warn, info, http, verbose, debug, silly
LOG_LEVEL="info"
sudo systemctl status taiga-async.service
[sudo] password for taiga:
● taiga-async.service - taiga_async
     Loaded: loaded (/etc/systemd/system/taiga-async.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-10-03 06:50:07 UTC; 17min ago
   Main PID: 29179 (celery)
      Tasks: 6 (limit: 9369)
     Memory: 267.1M
        CPU: 1.811s
     CGroup: /system.slice/taiga-async.service
             ├─29179 /home/taiga/taiga-back/.venv/bin/python3 /home/taiga/taiga-back/.venv/bin/celery -A taiga.celery worker -B --concurrency 4 -l INFO
             ├─29203 /home/taiga/taiga-back/.venv/bin/python3 /home/taiga/taiga-back/.venv/bin/celery -A taiga.celery worker -B --concurrency 4 -l INFO
             ├─29204 /home/taiga/taiga-back/.venv/bin/python3 /home/taiga/taiga-back/.venv/bin/celery -A taiga.celery worker -B --concurrency 4 -l INFO
             ├─29205 /home/taiga/taiga-back/.venv/bin/python3 /home/taiga/taiga-back/.venv/bin/celery -A taiga.celery worker -B --concurrency 4 -l INFO
             ├─29206 /home/taiga/taiga-back/.venv/bin/python3 /home/taiga/taiga-back/.venv/bin/celery -A taiga.celery worker -B --concurrency 4 -l INFO
             └─29207 /home/taiga/taiga-back/.venv/bin/python3 /home/taiga/taiga-back/.venv/bin/celery -A taiga.celery worker -B --concurrency 4 -l INFO

Oct 03 07:05:58 kvant-tracker celery[29207]: [2023-10-03 07:05:58,334: ERROR/Beat] beat: Connection error: [Errno -3] Temporary failure in name resolution. Trying again in 32.0 seconds...
Oct 03 07:06:30 kvant-tracker celery[29179]: [2023-10-03 07:06:30,544: ERROR/MainProcess] consumer: Cannot connect to amqp://taiga:**@rabbitmq:5672/taiga: [Errno -3] Temporary failure in name resolution.
Oct 03 07:06:30 kvant-tracker celery[29179]: Trying again in 32.00 seconds... (16/100)
Oct 03 07:06:30 kvant-tracker celery[29207]: [2023-10-03 07:06:30,573: ERROR/Beat] beat: Connection error: [Errno -3] Temporary failure in name resolution. Trying again in 32.0 seconds...
Oct 03 07:07:02 kvant-tracker celery[29207]: [2023-10-03 07:07:02,774: ERROR/Beat] beat: Connection error: [Errno -3] Temporary failure in name resolution. Trying again in 32.0 seconds...
Oct 03 07:07:02 kvant-tracker celery[29179]: [2023-10-03 07:07:02,775: ERROR/MainProcess] consumer: Cannot connect to amqp://taiga:**@rabbitmq:5672/taiga: [Errno -3] Temporary failure in name resolution.
Oct 03 07:07:02 kvant-tracker celery[29179]: Trying again in 32.00 seconds... (16/100)
Oct 03 07:07:34 kvant-tracker celery[29179]: [2023-10-03 07:07:34,998: ERROR/MainProcess] consumer: Cannot connect to amqp://taiga:**@rabbitmq:5672/taiga: [Errno -3] Temporary failure in name resolution.
Oct 03 07:07:34 kvant-tracker celery[29179]: Trying again in 32.00 seconds... (16/100)
Oct 03 07:07:34 kvant-tracker celery[29207]: [2023-10-03 07:07:34,998: ERROR/Beat] beat: Connection error: [Errno -3] Temporary failure in name resolution. Trying again in 32.0 seconds...

Having exactly the same issue.
Walked the exact same path.

Any updates on how you got this fixed ( or not ) ?

I didn’t find the answer, I’m also waiting for help here.

I tried to pin down the issue and may have to do with a failed request while trying to send out a confirmation email ( as part of the create project request ). Got sidetracked finishing up on setting up my production mail server and when that is done will continue with Taiga.

I was able to get a project created by creating it as public and then setting it to private. But then still some things don’t work like uploading attachments and images ( this is probably b/c i messed up my Nginx - locations ).

Will keep you posted

Hi @giga41

can you please share your nginx config?

Thanks

Hello, here are my two configs. First Nginx config. Second config Taiga

It`s /etc/nginx/nginx.conf

user taiga;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
	worker_connections 768;
	# multi_accept on;
}

http {

	##
	# Basic Settings
	##

	sendfile on;
	tcp_nopush on;
	types_hash_max_size 2048;
	# server_tokens off;

	# server_names_hash_bucket_size 64;
	# server_name_in_redirect off;

	include /etc/nginx/mime.types;
	default_type application/octet-stream;

	##
	# SSL Settings
	##

	ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
	ssl_prefer_server_ciphers on;

	##
	# Logging Settings
	##

	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log;

	##
	# Gzip Settings
	##

	gzip on;

	# gzip_vary on;
	# gzip_proxied any;
	# gzip_comp_level 6;
	# gzip_buffers 16 8k;
	# gzip_http_version 1.1;
	# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

	##
	# Virtual Host Configs
	##

	include /etc/nginx/conf.d/*.conf;
	include /etc/nginx/sites-enabled/*;
}



it`s /etc/nginx/conf.d/taiga.conf

server {
    listen 80 default_server;
    server_name kvant.tracker.ru;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl default_server;
    server_name kvant.tracker.ru;  #  See http://nginx.org/en/docs/http/server_names.html
    ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;

    large_client_header_buffers 4 32k;
    client_max_body_size 50M;
    charset utf-8;

    access_log /home/taiga/logs/nginx.access.log;
    error_log /home/taiga/logs/nginx.error.log;

    # TLS: Configure your TLS following the best practices inside your company
    # Other configurations

    # Frontend
    location / {
        alias /home/taiga/taiga-front-dist/dist/;
        index index.html;
        try_files $uri $uri/ index.html =404;
    }

    # API
    location /api/ {
        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://127.0.0.1:8001/api/;
        proxy_redirect off;
    }

    # Admin
    location /admin/ {
        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://127.0.0.1:8001/admin/;
        proxy_redirect off;
    }

    # Static files
    location /static/ {
        alias /home/taiga/taiga-back/static/;
    }

    # Media
    location /_protected/ {
        internal;
        alias /home/taiga/taiga-back/media/;
        add_header Content-disposition "attachment";
    }

    # Unprotected section
    location /media/exports/ {
        alias /home/taiga/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://127.0.0.1:8003/;
        proxy_redirect off;
    }

    # Events
    location /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;
        proxy_pass http://127.0.0.1:8888/events;
    }

}

It looks like the eventsURL in ~/taiga-front-dist/dist/conf.json is not configured correctly, as @daniel.herrero already suggested. Your nginx setup and the screenshots in the original post suggest that your eventsURL should look like

"eventsUrl": "wss://mycompany.com/events"

and not

"eventsUrl": "wss://mycompany.com/taiga/events"

Can you please check your ~/taiga-front-dist/dist/conf.json?

1 Like

@ giga41

I wanted to share my recent success in getting Taiga running. For me the issues were related to connection to our SMTP server. By configuring the following settings:

EMAIL_PORT=587 # Default SMTP port

EMAIL_HOST_USER=user@mydomain.com
EMAIL_HOST_PASSWORD=mypassword
DEFAULT_FROM_EMAIL=user@mydomain.com

Taiga started working for me. I opted for Docker Mail Server (Home - Docker Mailserver) for email, a choice I was initially hesitant about. However, I’m glad I chose this route as it enabled DKIM and DMARK, marking our emails as legitimate.

Good luck

1 Like

yes, I checked, here is my config

{
    "api": "https://kvant.tracker.ru/api/v1/",
    "eventsUrl": "wss://kvant.tracker.ru/events",
    "baseHref": "/",
    "eventsMaxMissedHeartbeats": 5,
    "eventsHeartbeatIntervalTime": 60000,
    "eventsReconnectTryInterval": 10000,
    "debug": true,
    "debugInfo": true,
    "defaultLanguage": "en",
    "themes": [
        "taiga"
    ],
    "defaultTheme": "taiga",
    "defaultLoginEnabled": true,
    "publicRegisterEnabled": true,
    "feedbackEnabled": true,
    "supportUrl": "https://community.taiga.io/",
    "privacyPolicyUrl": null,
    "termsOfServiceUrl": null,
    "maxUploadFileSize": null,
    "contribPlugins": [],
    "tagManager": {
        "accountId": null
    },
    "tribeHost": null,
    "enableAsanaImporter": false,
    "enableGithubImporter": false,
    "enableJiraImporter": false,
    "enableTrelloImporter": false,
    "gravatar": false,
    "rtlLanguages": [
        "ar",
        "fa",
        "he"
    ]
}
1 Like

the problem is solved, rabbitmq could not listen on ports, I fixed it and everything started working.
Thanks everyone for your help.

Hello @giga41 , I am facing the same issue and could you please provide more information on how you fixed the issue with rabbitmq?

Hello, look at the answers in this thread, maybe it will help Different problem after installation from source code

i was having the same problem (500 internal error)
my problem was that i havent configured it right my RabbitMQ in the
~/taiga-back/settings/config.py
which there is two places you should change the url (as the following image):

before all of this make sure that the RabbitMQ is running

import pika

connection_url = "amqp://rabbitmquser:rabbitmqpassword@0.0.0.0:5672/taiga"

try:
    parameters = pika.URLParameters(connection_url)
    connection = pika.BlockingConnection(parameters)
    print("Connected to RabbitMQ successfully!")
    connection.close()
except Exception as e:
    print("Failed to connect to RabbitMQ:", e)


use this python script to make sure that everything is ok

you can give this method a shot

I am facing the same issue. How did you solve the issue?
and i got output “Failed to connect to RabbitMQ:” when running the following script

import pika

connection_url = “amqp://rabbitmquser:rabbitmqpassword@103.197.207.34:5672/taiga”

try:
parameters = pika.URLParameters(connection_url)
connection = pika.BlockingConnection(parameters)
print(“Connected to RabbitMQ successfully!”)
connection.close()
except Exception as e:
print(“Failed to connect to RabbitMQ:”, e)

so do i need 5672 post available abd active?