• Docker
  • Questions sur une installation "hybride" en dur // docker

Bonjour à tous,

Voilà je suis entrain de me refaire mon serveur et j'ssaye de passer sur une installation hybride en dur / docker.

Je m'explique : l'installation de la seedbox est faite en dur via le script de ExRat et je passe via docker pour installer le reste de mon serveur (sickrage/couchpotato/etc...) et après quelques recherches et essais j'aurais 2-3 questions :

1- afin de rediriger mes adresses via https j'utilise ce qui est décrit dans ce sujet :
https://mondedie.fr/d/5373-Tuto-Redirection-automatique-vers-du-https-nginx

Est-ce que cette méthode peut toujours être utilisée si j'utilise nginx en dur avec des applis installées via Docker ?

2- Et du coup ma 2ème question est un peu la suite de la 1ère : comment faire un reverse proxy avec nginx toujours installé en dur et des applis installées via Docker ?
Par exemple pour Sickrage J'avais essayer de procéder de la même façon que si je l'avais installer en dur en modiant le fichier /etc/nginx/sites-enabled/rutorrent.conf pour y mettre les lignes suivantes :

location ~ /sickrage {
proxy_pass http://127.0.0.1:8081;
#auth_basic Restricted Area; # Si vous voulez protéger...
#auth_basic_user_file htpasswd; # ... par mot de passe, décommentez
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

mais cela ne fonctionnait pas (j'avais une erreur comme quoi le ressource ne pouvait pas être trouvée).

Voilà j'espère que c'est assez clair.

Je vous remercie

Salut, pour Docker y'a justement des outils qui font tout ça pour toi (avec un SSL Lets Encrypt). Pour peu que tu ais un domaine et prennes le temps de créer les sous-domaines qui vont bien du genre rutorrent.domaine.fr, medusa.domaine.fr, watcher.domaine.fr etc.
Traefik ou le duo jwilder/nginx-proxy / jrcs/letsencrypt-nginx-proxy-companion. Je n'utilisais que le duo jusqu'à ce que BXT me file un coup de main à comprendre le fonctionnement de Traefik, que j'ai donc mis en route sur mon dernier serveur.
J'ai d'ailleurs retiré le script Ex_Rat pour ajouter un ruTorrent via Docker.

J ai moi aussi nginx en dur sur l'hôte avec des applis dans Docker, il faut que dans docker-compose tu fasses une redirection de port.

Si on prend l exemple de sickrage tu mets dans le compose

 ports:
      - "127.0.0.1:8650:8081"

Et le reverse tu mets le port 8650.

C est un exemple, au lieu de 8650 tu mets le port que tu veux. Par contre je fonctionne avec des sous domaines comme précisé par @Aerya

Merci pour vos réponses.

Je vais potasser tout ça et voir comment ça se passe

    Garrus Je crois me souvenir que tu es utilisateur de gdrive (sauf erreur de ma part). Juste pour t informer, j'ai créé une image docker avec Plex/plexdrive/rclone/unionfs-fuse/plex_autoscan/unionfs_cleaner que je vais, des que j' ai le temps, mettre sur le forum. Si ça t'intéresse ..

    L'idée sera simplement de sauvegarder le dossier /mnt/Docker et de reconfigurer en 2 secondes toute la structure .. pratique si on doit repartir de zéro

    Accessible via DockerHub ?

    ben la pour l'instant non mais prévu. si tu veux essayer je te donne l'adresse github mais il te faut build le dockerfile
    https://github.com/laster13/plexdrive-rclone.git

    docker run --name plex \
               -d \
               -e TZ=Paris/Europe \
               -e PLEX_CLAIM="claim-ddxa9n2MX6x7xWX2dohz" \
               -e CHANGE_CONFIG_DIR_OWNERSHIP="false" \
               -e RemotePath="GDD_Enc:/" \
               -e MountPoint="/mnt/rclone" \
               -e MountLocal="/mnt/Pre" \
               -e MountUnion="/mnt/Union" \
               -e MountCommands="--allow-other --allow-non-empty" \
               -e UnmountCommands="-u -z" \
               -h toto \
               --net=host \
               -v /mnt/docker/Plex/config:/config \
               -v /dev/shm:/transcode \
               -v /mnt/docker/Plex/Media:/mnt/Pre:shared \
               --cap-add MKNOD \
               --cap-add SYS_ADMIN \
               --device /dev/fuse \
               --security-opt apparmor:unconfined \
               --restart=unless-stopped \
               exemple/exemple

    y a juste la variable du config rclone que j'ai pas encore définie dans le start.sh mais tu peux contruire ta variable, pas compliqué. j'ai pas eu le temps de preparer le docker-compose mais ca va venir. Pour la config j'ai suivi ton tuto tu devrais t'y retouver 😉

    bien sur tu peux changer les variables MountLocal, MountPoint etc .... J'ai utilisé plusieurs images notamment
    https://github.com/Mumie-hub/docker-services/tree/master/rclone-mount
    https://bitbucket.org/sh1ny/docker-pms-plexdrive
    https://github.com/horjulf/docker-plex_autoscan
    et des gits
    https://github.com/l3uddz/plex_autoscan
    https://github.com/l3uddz/unionfs_cleaner

    Pour creer la config plexdrive il faut dans le conatainer lancer la commande

    plexdrive mount -c ${HOME}/${PLEXDRIVE_CONFIG_DIR} --cache-file=${HOME}/${PLEXDRIVE_CONFIG_DIR}/cache.bolt -o allow_other ${PLEXDRIVE_MOUNT_POINT}

    Bon y a quelques truc a expliquer notamment la config unionfs_cleaner et plex_autoscan dont j'ai donné les liens mais si tu as besoin n'hesite pas

    Par défaut le dossier crypté plexdrive dans le container est /Home/Plex mais on peut également modifier l'emplacement

    BXT C'est la 1ere fois que je mets les mains dans un Dockerfile, du coup, j'allais vous demander de jeter un oeil de manière à optimiser tout ça notamment sur le poids de l'image puisqu'elle fait quand même 450 mo. Donc merci de ton retour.

    J'utilise pip pour la mise a jour des requirements de Plex_autoscan qui d’après l'auteur est compatible python 2.7 ou higher, sauf qu’après avoir quelques peu galéré je n'ai pas réussi a le faire fonctionner avec le 3.5, les modules python étant pour certain différent il aurait fallu réadapter.

    Quand à Unionfs_cleaner il fonctionne a partir du 3.5. Du coup voila pourquoi j'ai installé les deux pythons. les requirements de plex_autoscan nécessitent pip avec le python 2.7 et pip3 pour les dépendances en python3 pour unionfs_cleaner. Si y a moyen de simplifier je suis preneur.

    J'ai travaillé sur l'image déjà fournie par https://bitbucket.org/sh1ny/docker-pms-plexdrive d'ou Ubuntu. (image officielle de Plex avec plexdrive deja intégré )

    Clairement je préfère alpine pour le coté light de l'image mais semble t il les commandes dpkg ne fonctionnent pas, du coup pour la mise a jour automatique de Plex j'ai pas trouvé d'autres solutions que de rester sur leur image officielle, mais bon je vais creuser un peu plus ..

    Je vais tester pour intégrer la commande la ou tu me dis . Merci😉

    Merci, je testerai à l'occasion. Pour info y'a déjà des solutions (plus complètes et complexes) basées sur scripts/Dockers telles que PlexGuide et CloudBox. Cependant j'aime bien ton projet qui va, justement, à l'essentiel.

    Pour l'instant je fonctionne avec ce schéma sur l'hôte et ca tourne au poil. Le combo plex_autoscan/Unionfs_cleaner et génial.

    Plex_autoscan fonctionne avec les webhooks pour sonarr, lidarr, radarr etc... il détecte la présence d'un nouveau media, et déclenche le scanner de Plex uniquement sur ce media au lieu de toute la librairie, pratique pour éviter un ban.

    Unionfs_cleaner s'occupe de la gestion des transferts rclone vers Gdrive, nettoie les HIDDEN~, se déclenche des qu'il y a X gigabytes qu'on définit sois même et pour finir il automatise les backup avec rsync aux heures spécifiées.

    Comme tu dis l'essentiel 😉

    Je ne rencontre aucun souci de ban avec Plexdrive mais autoscan m'intéresse vu que je ne connais pas. Je testerai déjà ça, je me suis renseigné sur la config (malgré un Drive chiffré) sur le Discord de Cloudbox. D'ailleurs je vous le recommande, avec celui de Plexguide, plein d'astuces, tests, infos, geeks/IT.

    Répondre…