Je crois que tout a commencé quand Kevin a éternué.

27 août modifié dans Blog
Nous sommes désormais à moins de une semaine de l’apocalypse, je suis toujours confiant, même si comme vous pouvez le voir, tout le monde essaie d’exister au détriment de l’actualité. Les syndicats de profs qui étaient en vacances pendant deux mois, les syndicats de parents qui espèrent se débarrasser de leurs gosses parce qu’ils n’en…

Réponses

  • 27 août modifié

    Salut Cyrille et merci pour l'article ! J'aimerai parler d'un point de ton article qui m'a fait tiquer :

    Je lisais un article de Djan GICQUEL qui écrit « Parce que je ne suis pas adminsys » qui explique que ça commence à devenir de plus en plus tendu pour faire de l’installation d’applications web à titre personnel

    J'ai lu ta pensée et l'article en lien et je pense qu'il y a deux choses à dire.

    Premièrement, effectivement, pour beaucoup de services qu'on veut pouvoir héberger nous-mêmes, il faut un serveur. C'est vrai. Mais pourquoi ? Tout simplement parce que le seul moyen de faire héberger un service sans c'est que le service soit codé en php. Or, php est un bon langage ce n'est pas le souci. Par contre, il est normal que les développeurs ne veuillent pas s'obliger eux-même à utiliser ce langage pour créer ce qui au départ est un solution pour leur besoin personnel. Ce serait donc aux hébergeurs de passer à un modèle ou on pourrait héberger n'importe quel code / service facilement.

    Pour le deuxième point, et là je me pose du point de vue que quelqu'un qui a un serveur (auto hébergé, vps, n'importe...), tu (et pareil pour Djan Gicquel) parle toujours de Docker et le fait qu'avant c'était plus simple. Bah je suis désolé mais je ne suis pas du tout d'accord avec toi. Je te donne un example :

    CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS                 PORTS                                      NAMES
    d195989e0f0a        jellyfin/jellyfin    "/bin/sh -c 'dotnet …"   4 hours ago         Up 4 hours             8096/tcp                                   my-jellyfin
    78da44c1c5ad        nginx                "nginx -g 'daemon of…"   3 weeks ago         Up 2 weeks             80/tcp                                     my-website
    c20384ba879a        miniflux/miniflux    "/usr/bin/miniflux"      3 months ago        Up 2 weeks             8080/tcp                                   my-miniflux
    0ac87328c2ba        postgres             "docker-entrypoint.s…"   3 months ago        Up 2 weeks             5432/tcp                                   my-miniflux-db
    b32dbefad695        nextcloud            "/entrypoint.sh apac…"   5 months ago        Up 2 weeks             80/tcp                                     my-nextcloud
    fd682414129b        mariadb              "docker-entrypoint.s…"   5 months ago        Up 2 weeks             3306/tcp                                   my-nextcloud-db
    6236cf11ed87        my-nginx             "nginx -g 'daemon of…"   5 months ago        Up 2 weeks             0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   my-nginx
    a28316938aeb        bitwardenrs/server   "./bitwarden_rs"         5 months ago        Up 2 weeks (healthy)   80/tcp, 3012/tcp                           my-bitwarden
    

    Comme tu peux le voir j'ai différents services lancés dans des conteneurs sur mon serveur. Et bien je trouve ça propre. Chaque service est une boîte, chaque boîte a ses entrées et ses sorties. Si tu regardes bien tu peux voir que nginx prends toutes les connexions entrantes et sortantes (du coup c'est lui qui gère les certificats), qui redistribue vers les autres services. Du coup si besoin je peux enlever un conteneur et en mettre un autre à la place, c'est transparent. Et avec une seule ligne. Tiens je te donne un exemple de ce que j'ai fait ce matin (je voulais mettre à jour jellyfin) :

    # docker stop my-jellyfin
    # docker rm my-jellyfin
    # docker run -d --network my-network \
        -v /dossier/de/config:/config \
        -v /dossier/du/cache:/cache \
        -v /dossier/des/media:/media \
        --name my-jellyfin \
        --restart unless-stopped \
        jellyfin/jellyfin:latest
    

    Et voilà, ça juste marche. J'ai de nouveau accès au service par https. Et j'ai des commandes de 1 ligne pour chaque service que tu vois plus haut. Donc au final je trouve que c'est beaucoup plus propre, d'autant plus que je peux voir en un seul coup d'œil ce que j'ai lancé. Pour le routage c'est pareil je dis juste au service "lance-toi, je me fous du port, j'ai la flemme de configurer", et je mappe avec docker et nginx.

    En fait, je ne m'embête même plus à lancer les services en natif sur l'OS du serveur (même ceux en php comme nextcloud), je ne passe que par Docker, et je trouve que c'est au final de l'administration en moins, et de la simplicité en plus. Il y a un petit temps d'apprentissage, forcément, mais après tout est beaucoup plus simple :)

  • Tu noteras que dans mon cas, je me suis contenté d'essayer d'appliquer une documentation officielle, erronée, qui sur le principe doit simplifier la vie des utilisateurs.

  • @cyrille a dit :
    Tu noteras que dans mon cas, je me suis contenté d'essayer d'appliquer une documentation officielle, erronée, qui sur le principe doit simplifier la vie des utilisateurs.

    Du côté Nextcloud + OnlyOffice, j'ai compris que c'était pas la joie oui :) C'était plus que j'avais l'impression que tu parlais souvent de la complexité croissante de l'hébergeur et je voulais te donner mon point de vue ;)

  • "Pour ma part, il n'y a complexité que quand doc est à chier". Cyrille BORNE 27/08/2020

Connectez-vous ou Inscrivez-vous pour répondre.