Can't get Tiny Tiny RSS to work via Traefik

Hello,

I'm trying to use Tiny Tiny RSS with Traefik but all I get when I try to connect is a "File not found" error when I type the url https://rss.mondomaine.fr.
Here is the .env file I'm using, all sensitive data are fake data :

ADMIN_USER_PASS=xiM03s6bdxPoZfVJrpyogrZjaoMxOC65
TTRSS_DB_USER=postgres
TTRSS_DB_NAME=postgres
TTRSS_DB_PASS=Q8rkZKhj9PBgm3LeLPs3Ykl1hXCIrqIt
HTTP_PORT=127.0.0.1:8280
TTRSS_SELF_URL_PATH=https://rss.mondomaine.fr/tt-rss
# APP_WEB_ROOT=/var/www/html/tt-rss
# APP_BASE=

And here is my docker-compose.yml file:

services:
  db:
    image: postgres:17-alpine
    restart: unless-stopped
    env_file:
      - .env
    environment:
      - POSTGRES_USER=${TTRSS_DB_USER}
      - POSTGRES_PASSWORD=${TTRSS_DB_PASS}
      - POSTGRES_DB=${TTRSS_DB_NAME}
    volumes:
      - db:/var/lib/postgresql/data
    networks:
      - mynetwork

  app:
    image: supahgreg/tt-rss:latest
    restart: unless-stopped
    env_file:
      - .env
    volumes:
      - app:/var/www/html
      - ./config.d:/opt/tt-rss/config.d:ro
    depends_on:
      - db
    networks:
      - mynetwork

  updater:
    image: supahgreg/tt-rss:latest
    restart: unless-stopped
    env_file:
      - .env
    volumes:
      - app:/var/www/html
      - ./config.d:/opt/tt-rss/config.d:ro
    depends_on:
      - app
    command: /opt/tt-rss/updater.sh
    networks:
      - mynetwork

  web-nginx:
    image: supahgreg/tt-rss-web-nginx:latest
    container_name: rss
    labels:
      - traefik.enable=true
      - traefik.http.routers.rss.rule=Host(`rss.mondomaine.fr`)
      - traefik.http.routers.rss.entrypoints=web
      - traefik.http.routers.rss-https.rule=Host(`rss.mondomaine.fr`)
      - traefik.http.routers.rss-https.entrypoints=websecure
      - traefik.http.routers.rss-https.tls=true
      - traefik.http.routers.rss-https.tls.certresolver=ovhcloud
    restart: unless-stopped
    env_file:
      - .env
    volumes:
      - app:/var/www/html:ro
    depends_on:
      - app
    networks:
      - mynetwork

volumes:
  db:
  app:
  backups:
networks:
  mynetwork:
    external: true

I took both files from the official documentation: Installation Guide | Tiny Tiny RSS .
On my VPS and domain I have several other applications that are running perfectly.
And the content of the log:

rss | ::1 - - [11/Jan/2026:15:45:52 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:46:22 +0000] "GET /tt-rss/index.php HTTP/1.1" 404 27 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:46:52 +0000] "GET /tt-rss/index.php HTTP/1.1" 404 27 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:47:23 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5308 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:47:53 +0000] "GET /tt-rss/index.php HTTP/1.1" 404 27 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:48:23 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:48:53 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:49:23 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:49:53 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5308 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:50:23 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:50:54 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:51:24 +0000] "GET /tt-rss/index.php HTTP/1.1" 404 27 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:51:54 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:52:24 +0000] "GET /tt-rss/index.php HTTP/1.1" 404 27 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:52:54 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:53:24 +0000] "GET /tt-rss/index.php HTTP/1.1" 404 27 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:53:54 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5308 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:54:24 +0000] "GET /tt-rss/index.php HTTP/1.1" 404 27 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:54:55 +0000] "GET /tt-rss/index.php HTTP/1.1" 404 27 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:55:25 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:55:55 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:56:25 +0000] "GET /tt-rss/index.php HTTP/1.1" 404 27 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:56:55 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:57:25 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5308 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:57:55 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5308 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:58:26 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | 172.18.0.2 - - [11/Jan/2026:15:58:40 +0000] "GET /tt-rss/ HTTP/1.1" 404 27 "https://rss.mondomaine.fr/tt-rss/" "Mozilla/5.0 (X11; Ubuntu; ) Gecko/20100101 Firefox/146.0"
rss | 172.18.0.2 - - [11/Jan/2026:15:58:40 +0000] "GET /favicon.ico HTTP/1.1" 404 153 "https://rss.mondomaine.fr/tt-rss/" "Mozilla/5.0 (X11; Ubuntu; ) Gecko/20100101 Firefox/146.0"rss | ::1 - - [11/Jan/2026:15:45:52 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:46:22 +0000] "GET /tt-rss/index.php HTTP/1.1" 404 27 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:46:52 +0000] "GET /tt-rss/index.php HTTP/1.1" 404 27 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:47:23 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5308 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:47:53 +0000] "GET /tt-rss/index.php HTTP/1.1" 404 27 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:48:23 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:48:53 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:49:23 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:49:53 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5308 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:50:23 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:50:54 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:51:24 +0000] "GET /tt-rss/index.php HTTP/1.1" 404 27 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:51:54 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:52:24 +0000] "GET /tt-rss/index.php HTTP/1.1" 404 27 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:52:54 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:53:24 +0000] "GET /tt-rss/index.php HTTP/1.1" 404 27 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:53:54 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5308 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:54:24 +0000] "GET /tt-rss/index.php HTTP/1.1" 404 27 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:54:55 +0000] "GET /tt-rss/index.php HTTP/1.1" 404 27 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:55:25 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:55:55 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:56:25 +0000] "GET /tt-rss/index.php HTTP/1.1" 404 27 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:56:55 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:57:25 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5308 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:57:55 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5308 "-" "curl/8.17.0"
rss | ::1 - - [11/Jan/2026:15:58:26 +0000] "GET /tt-rss/index.php HTTP/1.1" 200 5302 "-" "curl/8.17.0"
rss | 172.18.0.2 - - [11/Jan/2026:15:58:40 +0000] "GET /tt-rss/ HTTP/1.1" 404 27 "https://rss.mondomaine.fr/tt-rss/" "Mozilla/5.0 (X11; Ubuntu; ) Gecko/20100101 Firefox/146.0"
rss | 172.18.0.2 - - [11/Jan/2026:15:58:40 +0000] "GET /favicon.ico HTTP/1.1" 404 153 "https://rss.mondomaine.fr/tt-rss/" "Mozilla/5.0 (X11; Ubuntu; ) Gecko/20100101 Firefox/146.0"

You should probably share your Traefik static and dynamic config, too.

Maybe enable Traefik debug log (doc) and Traefik access log in JSON format (doc) for further insights.

Note that HTTP_PORT=127.0.0.1:8280 seems wrong, as localhost within a container can't be reached by Traefik or nginx. Within a container, your target service should probably listen to all IPs, just don't publish them outside of the container.

Hello,

Thanks for your answer.

Here is the docker-compose.yml I’m using for traefik:

services:
  traefik:
    image: traefik:v3.6
    restart: unless-stopped
    environment:
      - OVH_ENDPOINT=${OVH_ENDPOINT}
      - OVH_APPLICATION_KEY=${OVH_APPLICATION_KEY}
      - OVH_APPLICATION_SECRET=${OVH_APPLICATION_SECRET}
      - OVH_CONSUMER_KEY=${OVH_CONSUMER_KEY}
    ports:
      - "80:80"
      - "8080:8080"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./traefik.yml:/etc/traefik/traefik.yml:ro
      - ./certs:/var/traefik/certs:rw
    networks:
      - mynetwork
networks:
  mynetwork:
    external: true

and my traefik.yml file:

global:
  checkNewVersion: false
  sendAnonymousUsage: false

api:
  dashboard: true
  insecure: true

entryPoints:
  web:
    address: ":80"
    http:
      redirections:
        entryPoint:
          to: websecure
          scheme: https
  websecure:
    address: ":443"

log:
  level: DEBUG

certificatesResolvers:
  ovhcloud:
    acme:
      email: "admin@example.com"
      storage: "/var/traefik/certs/ovh-acme.json"
      caServer: "https://acme-v02.api.letsencrypt.org/directory"
      dnsChallenge:
        provider: ovh
        delayBeforeCheck: 10

providers:
  docker:
    endpoint: "unix:///var/run/docker.sock"
    exposedByDefault: false

Content of the logs is here (expurged from sensitive information) : 2026-01-17T14:59:54Z DBG github.com/traefik/traefik/v3/pkg/middlewares/observabi - Pastebin.com

I also changed, in the .env file used by TinyTinyRSS HTTP Port to this : HTTP_PORT=0.0.0.0:8280

Also, I’m using linkace, another Php base solution, I don’t know if the problem is related to it : Setup with Docker - LinkAce