• Docker
  • [Résolu] Traefik: Deluge dans une sub uri

Bonjour,
je me suis finalement décidé de passer de Nginx a Traefik mais j'ai un soucis. J'aimerais accéder a deluge via une sub-uri ou un sous dossier dans l'url si vous préférez, par exemple depuis mon LAN http://192.168.1.52:8800/deluge. Tout fonctionne medusa est accessible sous /medusa etc sauf deluge ou j'ai l'erreur No Such Resource No such child resource. affiché lorsque je tente d'y accéder. Si quelqu'un si connait et a envie de m'aider voici ma conf :

docker-compose (allégé):

version: '3.7'
services:
# Torrent 
  deluge:
    build: deluge/build
    image: deluge:latest
    container_name: deluge
    restart: unless-stopped
    networks:
      - tipiak
    ports:
      - 8112:8112
      - 58846:58846
    expose:
      - 8112
    labels:
      - "traefik.enable=true"
      - "traefik.port=8112"
      - "traefik.docker.network=tipiak"
      - "traefik.http.routers.deluge.entrypoints=http"
      - "traefik.http.routers.deluge.rule=PathPrefix(`/deluge`)"
      #- "traefik.http.middlewares.deluge-headers.headers.customRequestHeaders.X-Deluge-Base=/deluge/"
      #- "traefik.http.middlewares.deluge-headers.headers.customResponseHeaders.X-Deluge-Base=/deluge/"
      #- "traefik.http.routers.deluge.middlewares=deluge-headers"
    environment:
      - UMASK_SET=022
      - TZ=Europe/Paris
    volumes:
      - ./deluge/config:/config
      - /volume1/Media:/Media
      - /volume1/torrents:/torrents

# Tools
  heimdall:
    image: linuxserver/heimdall:development
    container_name: heimdall
    restart: unless-stopped
    networks:
      - tipiak
    labels:
      - "traefik.enable=true"
      - "traefik.port=80"
      - "traefik.docker.network=tipiak"
      - "traefik.http.routers.heimdall.entrypoints=http"
      - "traefik.http.routers.heimdall.rule=PathPrefix(`/`)"
    environment:
      - PUID=1026
      - PGID=65536
      - UMASK=022
      - TZ=Europe/Paris
    volumes:
      - ./heimdall/config:/config
    expose:
      - 80
      - 443

  medusa:
    #image: linuxserver/medusa
    #image: binhex/arch-medusa
    image: pymedusa/medusa
    container_name: medusa
    user: "1026:65536"
    restart: unless-stopped
    networks:
      - tipiak
    environment:
      - PUID=1026
      - PGID=65536
      - UMASK=022
      - TZ=Europe/Paris
    labels:
      - "traefik.enable=true"
      - "traefik.port=8081"
      - "traefik.docker.network=tipiak"
      - "traefik.http.routers.medusa.entrypoints=http"
      - "traefik.http.routers.medusa.rule=PathPrefix(`/medusa`)"
    volumes:
      - ./medusa/config:/config
      - /volume1/torrents:/torrents
      - /volume1/usenet:/usenet
      - /volume1/Media:/Media
      - /etc/localtime:/etc/localtime:ro
    expose:
      - 8081
     
#Network
  traefik:
    image: traefik:latest
    container_name: traefik
    restart: unless-stopped
    networks:
      - tipiak
    labels:
      - "traefik.enable=true"
      - "traefik.log.level=info"
    ports:
      - 8800:80
      - 8811:8181
    volumes:
      - ./traefik/traefik.yaml:/etc/traefik/traefik.yaml
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /etc/localtime:/etc/localtime:ro

  nginx:
    image: nginxinc/nginx-unprivileged:alpine
    container_name: nginx_tipiak
    restart: unless-stopped
    networks:
      - tipiak
    ports:
      - 8080:8080
    volumes:
      - ./nginx/log:/log
      - ./nginx/conf.d:/etc/nginx/conf.d

networks:
  tipiak:
    external:
      name: tipiak

traefik.yaml

api:
  dashboard: "true"
  insecure: "true"

entryPoints:
  http:
    address: ":80"
  traefik:
    address: ":8181"

#Dynamic configuration will come from docker labels
providers:
  docker:
    endpoint: "unix:///var/run/docker.sock"
    network: "tipiak"
    watch: "true"
    exposedByDefault: false 

Je sais que sous nginx je suis obligé de rajouter un header X-Deluge-Base dans la conf pour que deluge soit accessible sous mon_ip:port/deluge voir wiki deluge

conf nginx (qui marche):

location /deluge {
        proxy_pass http://deluge:8112/;
	proxy_set_header Host $http_host;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_set_header X-Forwarded-Proto $scheme;
	proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header  X-Deluge-Base "/deluge/";
}

J'ai tenté mais en vain... (voir les labels commentés de deluge dans le docker-compose)
Également dans le fichier web.conf de deluge que je mette n'importe quelle valeur pour l'option base ça ne change rien.

Étant donné que j'ai rien dans les logs de traefik c'est assez compliqué a débuguer , en vous remerciant.

25 jours plus tard

Hello,
Essayes avec les labels suivants:

labels:
    - "traefik.enable=true"
    - "traefik.http.services.deluge.loadbalancer.server.port=8112"
    - "traefik.docker.network=tipiak"
    - "traefik.http.routers.deluge.entrypoints=http"
    - "traefik.http.routers.deluge.rule=PathPrefix(`/deluge`)"
    - "traefik.http.routers.deluge.middlewares=deluge-stripprefix"
    - "traefik.http.middlewares.deluge-stripprefix.stripprefix.prefixes=/deluge"
    - "traefik.http.middlewares.deluge-stripprefix.stripprefix.forceslash=false"
Flip a renommé le titre en [Résolu] Traefik: Deluge dans une sub uri.
Répondre…