• Docker
  • Traefik et Plex - Serveur invisible / erreur de log

Bonjour à tous,

Aujourd'hui j'essaie de configurer l'image docker "linuxserver/plex" avec Traefik sur mon serveur.

J'arrive bien à accéder par mon navigateur à Plex mais il ne trouve aucun serveur Plex (il en recherche un sans arrêt) :
Plex

J'ai également des erreurs dans les logs de Plex :
Les erreurs sont à la fin du fichier

Mes réseaux docker :

NETWORK ID          NAME                  DRIVER              SCOPE
79245281395c        bridge                bridge              local
ddf06749c0a2        docker_back_network   bridge              local
c67334993c20        host                  host                local
36d24531f942        none                  null                local
e1a370f4bf89        traefik_network       bridge              local

Voici la configuration de Traefik :
traefik.toml

Pour finir, voici mon docker-compose :
docker-compose.yml

Je pense avoir rien oublié concernant les infos.
Si vous avez besoin d'autres choses, hésitez pas.

Merci

EDIT : Je sais pas si ça pourrait poser un éventuel problème mais je n'ai pas de compte Premium Plex !

Bonsoir,

Il faut que tu rajoutes le claim dans ton docker-compose et non ce n est pas grave si tu n'as pas le premium

    environment:
      - PLEX_CLAIM=claim-7UsdfsnxWPn6dL3xop

Pour le claim tu vas là
https://www.plex.tv/claim/

    laster13 Salut,

    Est-tu sur, car j'utilise pas la version officiel de l'image Plex mais celle de LinuxServer et dans le README.md, rien n'indique qu'il fait ajouter le CLAIM !

    Effectivement tu as raison, rien ne précise qu il faut le mettre. Cela dit je pense que ca vaut le coup d'essayer vu que tu ne trouves pas le serveur. En ce qui me concerne j'utilise effectivement l'autre version docker
    https://github.com/plexinc/pms-docker
    Avec le claim je trouve toujour le serveur.
    Essaye si tu peux, si ca marche pas je te donnerai mon traefik.toml et traefik.yml et docker-compose plex ... mais avec pms

      laster13 Je viens d'essayer dans le doutes, mais ça n'a absolument rien changé, ni dans les logs, ni ailleurs...

      Chez moi, même avec l'image officiel, le CLAIM n'a jamais marché... J'ai dû passer par le tunnel ssh.

        zorgade laster13

        Est-ce que ça pourrait éventuellement venir du firewall sur l'hôte ? (Aucun port qu'utilise Plex n'est ouvert)
        Du network utilisé par traefik et ou plex ?

        Si je regarde attentivement le README.md de LinuxServer, ils disent qu'il faut ajouter :

        --net=host - Shares host networking with container, required

        Ou d'ouvrir les ports ci-dessous si on utilise un autre network que "host" :

          -p 32400:32400 \
          -p 32400:32400/udp \
          -p 32469:32469 \
          -p 32469:32469/udp \
          -p 5353:5353/udp \
          -p 1900:1900/udp

        Le souci, c'est que je suis un peu perdu avec tout ça....

        EDIT : Merci pour les liens 🙂

        Salut, j'utilise le Docker de Linuxserver.io aussi, voici un exemple de config (pas de Traefik ceci dit) :

        docker run -d \
        --name plexchris \
        --restart always \
        -p 32400:32400/tcp \
        -p 33401:33401/tcp \
        -p 3005:3005/tcp \
        -p 8324:8324/tcp \
        -p 32469:32469/tcp \
        -p 1900:1900/udp \
        -p 32410:32410/udp \
        -p 32412:32412/udp \
        -p 32413:32413/udp \
        -p 32414:32414/udp \
        -e PLEX_UID="0" \
        -e PLEX_GID="0" \
        -e TZ="Europe/Paris" \
        -e PLEX_CLAIM="claim-abcd" \
        -e ADVERTISE_IP="http://123.456.789.10:32400/" \
        -h plex.domaine.tld \
        -v /var/lib/vz/user/docker/plex:/config \
        -v /tmp:/transcode \
        -v /var/lib/vz/user/mnt/unionfs:/data \
        --label=com.centurylinklabs.watchtower.enable=true \
        plexinc/pms-docker:plexpass
        

        Si j'ai bien suivi il te "manquerait" le claim et l'ip:port de publication du serveur Plex.
        -e PLEX_CLAIM="claim-abcd" \
        -e ADVERTISE_IP="http://123.456.789.10:32400/" \

          Aerya Donc si je suis ce que tu m'indiques, c'est une configuration "bridge".

          Donc je devrais rajouter dans mon docker-compose pour l'image Linuxserver.io :

          -p 32400:32400
          -p 32400:32400/udp
          -p 32469:32469
          -p 32469:32469/udp
          -p 5353:5353/udp
          -p 1900:1900/udp
          
          -e PLEX_CLAIM="claim-abcd" \
          -e ADVERTISE_IP="http://123.456.789.10:32400/"

          Et du coup, ouvrir les ports sur mon firewall de l'hôte.... ?

          Aerya

          • J'ai essayé tout ce que j'ai dit précédemment (ouvrir tout les ports cité sur mon dernier message).
          • Ajouter le CLAIM
          • Pour l'IP, j'ai ajouter celui donner à mon conteneur Plex sur le network traefik.

          Rien à faire, ça ne fonctionne pas....

            plex:
              image: linuxserver/plex
              container_name: plex
              restart: ${RESTART_MODE}
              labels:
                - traefik.enable=true
                - traefik.frontend.rule=Host:plex.${DOMAIN}
                - traefik.port=32400
                - traefik.docker.network=traefik_network
                - traefik.frontend.headers.STSSeconds=315360000
                - traefik.frontend.headers.STSIncludeSubdomains=true
              environment:
                - PUID=1000
                - PGID=1000
                - VERSION=latest
                - TZ=Europe/Paris
                - PLEX_CLAIM=claim-ABCD
                - ADVERTISE_IP="http://172.18.0.8:32400/"
              ports:
                - 32400:32400
                - 32400:32400/udp
                - 32469:32469
                - 32469:32469/udp
                - 5353:5353/udp
                - 1900:1900/udp
              volumes:
                - ${VOLUMES_ROOT_PATH}/plex:/config
                - ${VOLUMES_ROOT_PATH}/rtorrent/data/Media/Movies:/data/movies
                - ${VOLUMES_ROOT_PATH}/rtorrent/data/Media/TV:/data/tvshows
              networks:
                - traefik_network
                - back_network

          Effectivement j'ai essayé de reproduire comme toi avec traefik et linuxserver, avec, et sans le claim!! Sans succés. Du coup je suis revenu à la bonne vieille méthode du tunnel et là ça a marché.
          https://blog.microserum.net/index.php/2018/05/21/installation-de-plex-media-server-sous-linux/

          Je te donne quand même mon docker compose

            plex:
              image: linuxserver/plex
              container_name: plex
              hostname: plex
              restart: unless-stopped
              labels:
                - traefik.enable=true
                - traefik.frontend.rule=Host:plex.domaine.pw
                - traefik.port=32400
                - traefik.docker.network=traefik_proxy
              environment:
                - PUID=1000
                - PGID=1000
                - TZ=Europe/Paris
              ports:
                - 32400:32400
              volumes:
                - /home/toto/docker/plex/config:/config
                - /dev/shm:/transcode
              networks:
                - proxy
          

          Mon traefik.toml

          defaultEntryPoints = ["https","http"]
          InsecureSkipVerify = true
          
          [api]
          entryPoint = "traefik"
          dashboard = true
          
          [entryPoints]
            [entryPoints.http]
            address = ":80"
              [entryPoints.http.redirect]
              entryPoint = "https"
            [entryPoints.https]
            address = ":443"
              [entryPoints.https.tls]
              minVersion = "VersionTLS12"
              cipherSuites = [
                "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305",
                "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
                "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
                "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
                "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
                "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"
              ]
            [entryPoints.traefik]
            address = ":8080"
          
          [acme]
          email = ""
          storage = "/etc/traefik/acme/acme.json"
          entryPoint = "https"
          onHostRule = true
          onDemand = false
            [acme.httpChallenge]
            entryPoint = "http"
          
          [docker]
          endpoint = "unix:///var/run/docker.sock"
          domain = "domaine.pw"
          watch = true
          exposedbydefault = false

          et mon docker compose traefik

            traefik:
              image: traefik
              container_name: proxy_traefik
              restart: unless-stopped
              hostname: traefik
              labels:
                - traefik.enable=true
                - traefik.frontend.rule=Host:traefik.domaine.pw
                - traefik.frontend.auth.basic=toto:$$apr1$$Lfytr9.7$$/44xKrdPV9TOxYL/tHIgE0
                - traefik.port=8080
                - traefik.docker.network=traefik_proxy
              volumes:
                - /var/run/docker.sock:/var/run/docker.sock:ro
                - /opt/seedbox/docker/traefik/traefik.toml:/traefik.toml:ro
                - /opt/seedbox/docker/traefik/letsencrypt/certs:/etc/traefik/acme:rw
                - /var/log/traefik:/var/log
              ports:
                - "80:80"
                - "443:443"
              networks:
                - proxy

            Aerya Qu'est-ce qui ta fait changer pour autre chose que Traefik ?
            J'avoue être un peu curieux....

            Jusqu'à il y a quelques semaines, j'étais sur le reverse proxy de @xataz depuis longtemps et j'ai voulu essayer traefik...

            Aerya Je vais sans doute l'essayer dans les prochains jours du coup.

            Il a l'air plutôt simple d'utilisation et comme tu dis dans ton tutoriel, pour une utilisation basique de Docker dans la majorité des cas, ça nous convient à nous (les personnes de mondedié).

            Merci pour ton retour 🙂

            Aerya Je suis tombé dessus l'autre jours, et j'avoue que c'est pas mal, c'était mon but final (long terme) avec mon reverse, mais dans ce cas est-ce nécessaire

              Aerya
              xataz Personnellement je te dirais, si tu préfère que ce soit toi qui réalise l'application comme bon te semble et que ça te tiens à cœur de la faire, oui il faut continuer, il y aura toujours des gens pour l'utiliser.

              Sinon, j'ai vu également jlesage qui a fait un fork de jc21 et je me demande lequel est le mieux (plus d'options, etc...)

              Répondre…