Stylesheet not loading properly

I have a similar Problem like in this Post described:

I tried installing Taiga on my server but the stylesheet doesn’t seem to work properly. Any Taiga subpath looks like shown in the screenshot.
image
Unfortunately, this post was not followed up.

I have installed Taiga-Docker like described in the setup guide. Instead of Nginx I used Apache for the webserver.

The browser console displays these errors:

  • The stylesheet http://[IP]/taiga/v-1695217671916/styles/theme-taiga.css was not loaded because its MIME type, “text/html”, is not “text/css”.
  • Uncaught SyntaxError: expected expression, got ‘<’

I can’t figure out the reason for this issue and hope you can help me

Hi @mbr_cefak

Well, If the error was because the CSS was missing, you would see the content of the page without problems. But what you see is the html and the javascript does not finish executing correctly (you can see how the templates are not processed and the messages are not translated {{ SOMEKEY | translate }})

Honestly, I think the problem may be in the modifications you made during the installation to .env or docker-compose.yml that are transferred to the json file of the taiga-front instance and cause it to not load correctly.

You can try to access to http://[IP]/taiga//conf.json to see if the file is formatted correctly.

Hi david.barragan,
thank you for your answer.

When I try to access the conf.json, I get to see the same content like in the screenshot I sent earlier with the same error messages shown in the browser console.
In the .env file I have only modified the fields TAIGA_DOMAIN and SUBPATH
The modified part looks like this:
TAIGA_SCHEME=http
TAIGA_DOMAIN=localhost:9000
SUBPATH=“/taiga”
WEBSOCKETS_SCHEME=wss

But since I can access taiga with the correct url, in my eyes this part shouldn’t be a Problem

It’s strange that you can’t access that file (“conf.json”). That may be the problem. This file is essential for Taiga to initialize correctly.

The problem may then be in the Apache server.

But if it was a problem with Apache, then it should work on localhost on the server, right?
I just checked what would happen if I execute “curl localhost:9000/taiga/conf.json” in the server console. Unfortunately I get the exact same response like when accessing it with the servers ip-address and therefore the same bugged frontend when viewing it in a html viewer.

I also had the same issue when I first tried the setup process with nginx. I then switched to apache because I thought it might be a bug with nginx.

If you are going to use subpath, you cannot access it with localhost and you need to setup a nginx/apache to manage the access to the subpath properly.

Imagine I want to serve taiga at http://bameda.com/taiga/ so my .env file should be like this:

# $ cat .env

# Taiga's URLs - Variables to define where Taiga should be served
TAIGA_SCHEME=http
TAIGA_DOMAIN=bameda.com
SUBPATH="/taiga"
WEBSOCKETS_SCHEME=ws

# (...)

And my nginx settings should be something like this:

# $ cat /etc/nginx/sites-available/bameda.com

server {
  server_name bameda.com;
  large_client_header_buffers 4 32k;
  client_max_body_size 50M;
  charset utf-8;

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

  # front 
  location /taiga/ {
    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 /taiga/events {
      proxy_pass http://localhost:9000/events;  # docker
      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;
  }
}

With this, It should be work. You can change bameda.com with your public domain or public ip. An now you can obtain the config file with curl

$ curl bameda.com/taiga/conf.json
{
    "api": "http://bameda.com/taiga/api/v1/",
    "eventsUrl": "ws://bameda.com/taiga/events",
    "baseHref": "/taiga/",
    "eventsMaxMissedHeartbeats": 5,
    "eventsHeartbeatIntervalTime": 60000,
    "eventsReconnectTryInterval": 10000,
    "debug": false,
    "debugInfo": false,
    "defaultLanguage": "en",
    "themes": ["taiga"],
    "defaultTheme": "taiga",
    "defaultLoginEnabled": true,
    "publicRegisterEnabled": false,
    "feedbackEnabled": true,
    "supportUrl": "https://community.taiga.io/",
    "privacyPolicyUrl": null,
    "termsOfServiceUrl": null,
    "maxUploadFileSize": null,
    "contribPlugins": [],
    "gitHubClientId": "",
    "gitLabClientId": "",
    "gitLabUrl": "",
    "tagManager": { "accountId": null },
    "tribeHost": null,
    "enableAsanaImporter": false,
    "enableGithubImporter": false,
    "enableJiraImporter": false,
    "enableTrelloImporter": false,
    "gravatar": false,
    "rtlLanguages": ["fa"]
}

I hope this can help.

Thank you for your suggestions. Now I can at least access the conf.json file and it looks properly formatted. The only differences to the config you shared are the api and eventsURL values. In my case they look like this:
api: “http://localhost:9000/taiga/api/v1/
eventsUrl: “wss://localhost:9000/taiga/events”

What else could cause the error? Do you have any more ideas?

Yes, as I say, you have to change in .env localhost:9000 with the external ip/domain of your server where your nginx/apache is listening.

Then you have to restart the docker compose for the changes to take effect.

Sorry I misunderstood your previous answer
I have changed the domain in the .env file and now taiga is working!
Thanks a lot for your help, @david.barragan

Great!!! \o/

You are welcome.