• Ressources Scripts
  • [Script-Ansible] Install Seedbox docker avec rclone-plexdrive5-unionfs-mergerfs

T as installé sur quel os?

ubuntu, comme tu l'as mentioné. Mais je vais recommencer, j'ai eu quelques bugs lors de la désinstallation-réinstallation au moment d'installer docker-compose notamment. Je vais recréer le serveur.

EDIT: Après une réinstalle, tout s'installe, mais j'ai une erreur "Bad gateway" sur les différents containers ou ils s'affichent pas du tout. Mais bon, tester le script sur un serveur avec 1Go de RAM... pas top non plus. Je reteste sur le nouveau d'ici deux semaines.
J'ai aussi un petit souci avec le rclone de plexdrive déchiffré.
Je veux bien le discord. Si tu veux pas le mettre ici, tu dois avoir mon mail dans ta boite mail 🙂

Alors j'ai essayé d'installer sur un vrai serveur et j'ai eu deux soucis:

  1. à la toute fin, j'ai eu une erreur avec le Backup, mais j'ai pas noté le message
  2. Il faut modifier comment le fichier rclone.conf pour que ça fonctionne, parce que le dossier /mnt/rclone/<user>/ et toujours vide.
    Voici le mien avec mes chemins:
    [GDrive]
    type = drive
    scope = drive
    token = {"access_token":"token"}
    
    [GDriveEnc]
    type = crypt
    remote = GDrive:Enc
    filename_encryption = standard
    directory_name_encryption = true
    password = GDriveEncPasswd1
    password2 = GDriveEncPasswd2
    
    [PlexMedia]
    type = crypt
    remote = /home/<user>/Media/PlexDrive/Enc
    filename_encryption = standard
    directory_name_encryption = true
    password = PlexMediaPasswd1
    password2 = PlexMediaPasswd2
    et j'ai modifié comme cela pour rendre opréationnel avec ton script:
    [remote non chiffré]
    type = drive
    token = {access_token:token}
    
    [remote_chiffré_plexdrive]
    type = crypt
    remote = /mnt/plexdrive/Medias
    filename_encryption = standard
    password = PlexMediaPasswd1
    password2 = PlexMediaPasswd2
    
    [remote_chiffré_rclone]
    type = crypt
    remote = <remote non chiffré>:Medias **(j'ai essayé de modifier mon dossier Enc en Medias ainsi que les sous-dossiers Movies -> Films, etc, mais toujours vide...)**
    filename_encryption = standard
    password = GDriveEncPasswd1
    password2 = GDriveEncPasswd2

Bonsoir,

@zorgade Volia comment j 'ai procédé pour modifier la structure de ton Drive. Dans un 1er temps tu renommes directement le dossier racine Enc à partir de ton interface google drive en Medias
Ensuite tu crées ton dossier utilisateur avec la commande

rclone mkdir GDrive:zorgade

tu crées egalement les dossiers Films Series etc.. avec

rclone mkdir GDrive:zorgade/Films  mkdir GDrive:zorgade/Series

etc
et enfin tu copies tes medias dans les nouveaux dossiers

rclone moveto GDrive:Ancien_Dossier_Film GDrive:zorgade/Films

Ta structure devient ainsi compatible avec mon script :wink:, par contre selon la quantité de medias que tu as je pense que la commande rclone moveto peut prendre du temps.

Concernant ton rclone.conf il faut que tu integres l id client et l id secret et que tu repondes "n" pour le scope, ca doit ressembler à ca

[GDrive]
type = drive
client_id = 373362285-iggkvqj0n2ec2r3slvqmuh.googleusercontent.com
client_secret = U-uUe4KGWpajU1M
token = {"access_token":"token"}

[GDriveEnc]
type = crypt
remote = GDrive:Medias
filename_encryption = standard
directory_name_encryption = true
password = GDriveEncPasswd1
password2 = GDriveEncPasswd2

[PlexMedia]
type = crypt
remote = /mnt/plexdrive/Medias
filename_encryption = standard
directory_name_encryption = true
password = PlexMediaPasswd1
password2 = PlexMediaPasswd2
9 jours plus tard

hello @laster13 , je vais tester sur mon serveur ta CloudBox demain, par contre j'ai vu des versions de rtorrent ou le flux de téléchargement est pris en charge par un VPN, penses tu que ce soit compliqué à implementer à ton script? 🙂

Bonsoir,

C'est surtout que j'en vois pas le réel intérêt, pourquoi souhaites tu faire passer ton traffic torrent dans le vpn?

    laster13 j ai un serveur dedié et un serveur test a la maison et disons que recevoir des petits courriers hadopi... je m en lasse 🙂

    et plus serieusement je pense que c est la derniere chose qui fait que j ai encore un serveur en location 🙂

    laster13 ouaip j'ai mon drive illim 🙂
    j'ai test cette image oui et ca fait le job, après ta solution tout en un est vraiment bien.

    Apres je peux prendre ta solution et installer le docker de binhex pour voir

    a ce propos, ton script est toujours compatible pour ubuntu seulement ou il passe sous debian?

    20 jours plus tard

    Bonjour !

    Je travail depuis 2 mois au déploiement d'une "box".
    J'ai un serveur dédié avec lequel je fais des essais et j'apprends.
    Pour l'instant j'ai fait tourné tous les containers que je souhaitais via un docker-compose, sauf fail2ban je crois. Mais tout cela est plus une forme de test afin de déterminer ensuite une façon plus définitive de faire tourner tout cela.

    Sachant que l'élaboration d'un script est la "next-step" la plus bourrine qui soit quand on a déjà galéré à tout mettre en place à la main (et moi je n'ai même pas fini), et qu'on débarque totalement sur linux.
    Donc je pense bien installer ton script @laster13. Par lâcheté pure. Mais surtout car il reprend tout ce dont j'ai besoin.

    Je me permet quelques questions en attendant de l'installer :
    • Si j'ai bien compris je déploie le script avec les prérequis actifs (domaine, gcloud), ensuite j'applique les configurations recommandées dans le wiki et c'est bon ?
    • Je ne vois pas d'intégration de mariadb ou autre, ce qui implique que tu utilise la base de donnée par défaut de nextcloud, en quoi n'est-ce pas un problème ?
    • J'ai cru voir en parcourant le Git que les labels Traefik des docker-compose n'incluait pas les labels de sécurités style :
    labels:
    ...
    - "traefik.frontend.headers.SSLRedirect=true"
    - "traefik.frontend.headers.STSSeconds=315360000"
    - "traefik.frontend.headers.browserXSSFilter=true"
    - "traefik.frontend.headers.contentTypeNosniff=true"
    - "traefik.frontend.headers.forceSTSHeader=true"
    - "traefik.frontend.headers.SSLHost=${DOMAINNAME}"
    - "traefik.frontend.headers.STSIncludeSubdomains=true"
    - "traefik.frontend.headers.STSPreload=true"
    - "traefik.frontend.headers.frameDeny=true"

    Sachant qu'ils permettent l'obtention facile d'un A+ sur [https://www.ssllabs.com/ssltest/]. Cela n'est pas nécessaire d'après toi ? (Sachant par contre que le framedeny empêche les applications d'être casté dans Organizr en iFrame par exemple)
    • Comment se passe le back-up de la box ? Est-ce qu'il reprend tout le nécessaire au redéploiement identique ? (sauf les data évidemment). Cela se fait-il via Duplicati ? Y'a-t-il un script de restauration au cas où le serveur de restauration ne serait pas le même ?
    • Si on a pas une box clean avant le déploiement j'ai lu dans ce topic (j'ai tout lu 😅 ) quelques commandes afin de "nettoyer" le serveur, comment je fais si je veux les rajouter au wiki en étape pré-process à une installation ?

    Désolé cela fait beaucoup de questions, mais pour un pro elles doivent être faciles 😉
    Allez j'installe ça !

      Bonjour,

      Les pres-requis effectivement sont le domaine, un drive illimité et quelques connaissances en docker sont également les bienvenues 🙂.

      Concernant Nextcloud effectivement pas de mariadb pour l instant sachant que la base de donnée sqlite suffit pour une utilisation hors prod mais j'ai quand même en projet de l'intégrer.

      La sauvegarde est un script que j'ai élaboré et qui permet de sauvegarder toute la seedbox, base de donnée plex comprise, ce qui te permet de redéployer en 20 mn ta box à l'identique. Du coup je n'utilise pas duplicati mais libre à toi de le faire

      Un partitionnement spécifique est recommandé ainsi que Ubuntu pour l instant. Par ailleurs je viens de finir une mise à jour du script complète avec ansible et du coup j'abandonne complétement le docker-compose. Si tu veux tester c est encore sur la branche dev, pas encore merger sur le master.
      git clone -b dev https://github.com/laster13/patxav.git /opt/seedbox-compose

      Le wiki est un support qui t'aidera dans la config des applis

      Et enfin un groupe sympa qui ne demande qu'à t aider car comme ils n'ont plus d'erreur et que leur box fonctionne bien, ils s'ennuient 🙂

      Edit: Oui les label sécurité sont important, pas eu le temps pour l'instant de les integrer. Ca fait parti de mes prochaines mise à jour

        laster13 Ah interessant pourquoi ce choix d'abandon de la baleine?

        Je crois qu'il abandonne compose et non la baleine.

        laster13 Hey à titre informatif, quel est l'avantage d'utiliser Ansible comparé à compose ? Merci 🙂

        Entre autre chose, ansible permet non seulement de monter le container mais également de faire de la config dans le fichier yml;

        Si je prends l'exemple de Rutorrent je peux dans le fichier yml monter le container et configurer le fichier rtorrentr.rc

            ....
        - name: 'Deploying {{pgrole}}'
              docker_container:
                name: '{{pgrole}}-%USER%'
                image: '{{image}}'
                pull: yes
                published_ports:
                  - '{{extport2}}:{{intport2}}'
                  - '{{extport3}}:{{intport3}}/udp'
                volumes: '{{pg_volumes}}'
                env: '{{pg_env}}'
                restart_policy: unless-stopped
                networks:
                  - name: traefik_proxy
                state: started
                purge_networks: yes
                stop_timeout: '240'
                labels: '{{pg_labels}}'
        
            # CONFIGURATION ####################################################
            - name: 'Waiting for {{pgrole}} to initialize'
              wait_for:
                path: '/opt/seedbox/docker/%USER%/{{pgrole}}/rtorrent/rtorrent.rc'
                state: present
                msg: rtorrent.rc creation failed
        
            - name: 'Stopping {{pgrole}}'
              docker_container:
                name: '{{pgrole}}-%USER%'
                state: stopped
        
            # This is needed for rutorrent b/c it's weird.
            - name: 'Setting ownership on appdata recursivley (this can take a while!)'
              shell: 'chown -R %UID%:%GID% /opt/seedbox/docker/%USER%/{{pgrole}}'
        
            - name: 'Setting permissions on appdata recursivley (this can take a while!)'
              shell: 'chmod -R 775 /opt/seedbox/docker/%USER%/{{pgrole}}'
        
            - name: Set download location
              lineinfile:
                path: '/opt/seedbox/docker/%USER%/{{pgrole}}/rtorrent/rtorrent.rc'
                regexp: '#*directory\s*=.*'
                line: 'directory = /home/%USER%/local/{{pgrole}}'
                state: present
                ....
        

        Par ailleurs l'install est plus conviviale avec un suivi étape par étape du déroulement des commandes

          2 mois plus tard

          laster13 Je vais peut être paraître ignare mais avec la disparition d'ACD en illimité où puis-je trouver un cloud illimité ? Etant actuellement sur une CT Proxmox ainsi limité au stockage du dédié, je cherche une solution peu coûteuse et assez fiable pour le stockage des données mais j'ai l'impression que c'est assez compliqué de trouver un cloud illimité. J'ai regardé pour les compte GSuite revendu sur eBay, ça me semble très peu fiable (Sauf si vous connaissez un vendeur fiable ?).

          j'ai acheté mon gsuite sur ebay a un ricain environ 20€ il y a quelques mois sans souçi, il en a tjrs si ca t'interesse

            allan84 Je veux bien 🙂 Puis-je utiliser le stockage interne de mon HDD sur le dédié + cloud pour Plex ? Que faut-il faire pour éviter de se faire ban le compte par Google ? 🙂
            Si quelqu'un veut bien m'expliquer le fonctionnement sur Discord ou ici, ce serait hyper cool 🙂