WebSocket issues and slow interface on self-hosted Taiga instance (Docker)

Hi Taiga Team,

I’m running a self-hosted Taiga instance using Docker, and I’m encountering two persistent problems:

:turtle: 1. Very slow UI and page navigation

  • The interface often becomes unresponsive.
  • Switching between pages or projects takes a long time.
  • Sometimes the browser seems stuck when navigating.

:electric_plug: 2. Repeated WebSocket failures

The browser console shows continuous WebSocket connection errors to the /events endpoint. Example messages:

  • WebSocket connection to 'wss://[domain]/events' failed: Invalid frame header
  • WebSocket is closed before the connection is established
  • 400 (Bad Request) on /api/v1/auth

:camera_with_flash: I’ve attached a screenshot of the browser console showing the issue.

:brick: Setup details

  • Taiga is deployed using Docker.
  • I’m using the following Nginx configuration to route traffic to frontend, backend, and WebSocket services:
server {
    listen 80;
    server_name [domain];

    location / {
        proxy_pass http://taiga-front;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location /api {
        proxy_pass http://taiga-back:8000;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location /websocket {
        proxy_pass http://taiga-events:8888;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location /media/ {
        alias /media/;
        access_log off;
        expires max;
        add_header Cache-Control "public";
        autoindex off;
    }

    location /static/ {
        alias /static/;
        access_log off;
        expires max;
        add_header Cache-Control "public";
        autoindex off;
    }

    error_log /var/log/nginx/taiga_error.log;
    client_max_body_size 350M;
    sendfile on;
    tcp_nodelay on;
    tcp_nopush on;
    keepalive_requests 100;
    keepalive_timeout 75;
}

:red_question_mark: What I’m looking for

  • Help identifying the cause of WebSocket failures.
  • Advice on how to improve performance and reduce frontend lag.
  • Any known compatibility or configuration issues for Docker deployments of Taiga.

Thanks so much for your help and for maintaining this great project!