Aller au contenu

[TUTO] Docker : Introduction


.Shad.

Messages recommandés

il y a 55 minutes, oracle7 a dit :

@MilesTEG1

Bonjour,

Regardes au § "Linux Kernel capabilities" --> peut-être un début de réponse à ta question.

Cordialement

oracle7😉

Ok merci ☺️ 

j’ai donc compris que ça permettait d’améliorer la sécurité des conteneurs.

mais du coup faut-il modifier nos docker-compose.yml pour bénéficier de cet ajout de sécurité ? Et du oui comment ?

Lien vers le commentaire
Partager sur d’autres sites

il y a 31 minutes, oracle7 a dit :

@MilesTEG1

Bonjour,

Ah voilà qui est une bonne question 😜 Est-ce qu'il y a effectivement quelque chose à faire ? Franchement, je suis comme toi je n'en sais rien et suis aussi preneur de toute info à ce sujet.

Cordialement

oracle7😉

Faut que notre spécialiste étudie la nouveauté, et nous prodigue ses bons conseils et son expertise 🙂 

@.Shad.

Lien vers le commentaire
Partager sur d’autres sites

@MilesTEG1 @.Shad.

Bonjour,

Ce ne serait-ce pas tout bonnement Synology qui était très en retard avec son package docker par rapport à la version docker pour Linux et autres ?

Il semblerait que l'ajout de la fonctionnalité 'cap-add' à docker ne date pas d'hier : voir ici et a priori ici une réponse pour son utilisation dans docker-compose.

Voilà ce que j'ai trouver en fouinant rapidement, mais peut-être que je me trompe ...

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

Donc si je comprend bien , si on utilise pas 

--privileged=true

à la création d’un conteneur on n’a pas besoin de refaire l’installation. D’autant plus que ça ne concerne que l’interface dans dsm … pas via la ligne de commande et docker compose car j’ai le souvenir d’avoir déjà mis des cap-add dans certains yml…

Lien vers le commentaire
Partager sur d’autres sites

Et bien je sais pas ce qu'il s'est passé de mon coté...
Peut-être qu'après le reboot, l'interface virtuelle ne s'est pas remise comme il faut...

Bref, tout semble refonctionner correctement...

J'ai mis l'IP de mon routeur dans la partie DNS personnalisé du NAS, et c'est tout. Dans le cas où l'interface virtuelle ne fonctionnerait plus, le NAS pourra toujours accéder à un serveur DNS fonctionnel ^^

PS : question annexe...
Hormis les paquets installés sur le NAS et DSM lui-même, qu'est-ce qui pourrait faire des requêtes DNS en passant par ce réglage ?
Tous les conteneurs le peuvent ?

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...
  • 2 mois après...

Merci @.Shad. pour ce tuto qui m'a permis de faire mes premières armes. J'ai l'impression d'entrer dans un autre monde réservé aux geeks 💀

Lorsque je me connecte en HTTP tout se passe bien mais lorsque je me connecte en HTTPS (https://ndd.fr:8443) un message me signale que le certificat n'est pas valide alors que le certificat Let's Encrypt couvre bien le nom de domaine ndd.fr. L'erreur vient du fait que le navigateur tente d'utiliser son propre certificat auto-signé.

Je m'étonne que l'on puisse utiliser l'application sans avoir à indiquer le moindre mot de passe. L'utilisateur désigné est juste un user mais je m'interroge en matière de sécurité.

Lien vers le commentaire
Partager sur d’autres sites

Je ne sais même plus si cette application est encore développée, elle l'était (et assez répandue) au moment de la rédaction du tutoriel, tu trouveras des alternatives beaucoup plus intéressantes à l'heure actuelle telles que Dashy ou Flame.

C'est là à titre purement didactique.

Pour le certificat, si tu veux utiliser le certificat LE du NAS il faut passer par le proxy inversé, parce qu'Heimdall n'embarque qu'un certificat auto-signé.

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

@.Shad. Alors là... Un énorme bravo pour ce tuto extrêmement complet. 😍😍

Cela faisait longtemps que je n'étais pas venu trainer sur le fofo, mais un coup de Google m'a ramené ici.
Encore une fois un grand bravo pour cet énorme travail de synthèse.

Après passage de mon 916+ à DSM7, je me suis fortement intéressé à Docker pour remplacer tous mes packets SynoCommunity par des containers (plus sûr pour avoir une config pérenne avec compatibilité ascendante). Grace à ton tuto, j'ai été très vite opérationnel. Pour info, j'ai trouvé un super container pour remplace le package SVN (c'est ce qui m'avait bloqué pour passer sous DSM7). C'est ici et je le recommande vivement: https://registry.hub.docker.com/r/clamy54/svn-svnadmin/

La dernière étape est d'avoir des notifications pour les updates. Je veux un truc léger et rester avec le GUI de Synology.
J'ai vu https://crazymax.dev/diun mais je me heurte au problème d'accès au socket docker (/var/run/docker.sock).

Je vais continuer à lire ce thread avant de poser des questions maintes fois posées. 🙃

 

 

Lien vers le commentaire
Partager sur d’autres sites

il y a 11 minutes, Lapin a dit :

Après passage de mon 916+ à DSM7, je me suis fortement intéressé à Docker pour remplacer tous mes packets SynoCommunity par des containers

Si c'est pas indiscret, quels sont les paquets de la communauté que tu remplaces par des conteneurs docker ?

il y a 12 minutes, Lapin a dit :

La dernière étape est d'avoir des notifications pour les updates. Je veux un truc léger et rester avec le GUI de Synology.
J'ai vu https://crazymax.dev/diun mais je me heurte au problème d'accès au socket docker (/var/run/docker.sock).

Pour les MAJ des images de conteneurs, tu n'auras pas le choix que de donner l'accès au docker.sock... que ce soit avec Diun ou avec Watchtower. C'est ce dernier que j'utilise.

Lien vers le commentaire
Partager sur d’autres sites

Non, ce n'est pas indiscret du tout. 😁
SABnzbd, SickChill + le script NZBtomedia pour faire le lien.

Comme écrit, j'ai aussi un docker SVNAdmin pour remplacer le serveur SVN DSM6.

J'ai également un docker Zappiti pour ma platine multimédia.

J'avais aussi testé PiHole (mais en VM CentOS 7), mais au final cela me posait des soucis de charge. Lorsque je copiais de très gros fichier sur mon 916+ cela ralentissait très fortement l'internet à la maison (le ping DNS en prenant un très gros coup). Je n'ai pas retenté en mode Docker. Je suis passé direct sur un PI3B qui trainait dans l'un de mes tiroirs (remplacè par un PI4 pour ma borne d'arcade maison sous Recalbox).

Voilà ! Tu connais tous mes secrets de geeks. 😋

Pour l'accès au socket docker, je voudrais essayer de tricher en modifiant manuellement le fichier de config crée par DSM. Mais pas sûr que cela marche.... 😥 Sinon, je vais passer en ligne de commande. J'ai jeté un oeil sur Portainer, mais c'est clairement overkill (et pas très user friendly) pour mon petit usage.

[EDIT]
J'ai trouvé où était le fichier config:
/volume1/@docker/containers/CONTAINER_ID/hostconfig.json
Mais dès que je lance le conteneur, ma modif est effacée.
Soit je ne suis pas au bon endroit, soit il y a une protection.... 😭
Je crois qu'il va falloir que je regarde du côté de docker-compose et du gestionnaire de tâche du DSM pour executer DIUN en mode automatique.
Je sais que je peux le faire en SSH, mais je voudrais une solution qui survive à coup sûr à un upgrade de mon NAS...

Modifié par Lapin
Lien vers le commentaire
Partager sur d’autres sites

Victoire !! 🥳
J'ai créé un fichier yml ici:
Puis j'ai créé une tâche planifiée "Script défini par l'utilisateur".
Les options:
"Tâche" → Docker diun
"Utilisateur" → root
"Activé" → ça j'ai décoché.

"Exécuter à la date suivante" → Ne pas répéter

"Paramètres de tâche" / "Script défini par l'utilisateur" → docker-compose -f /volume1/docker/diun/diun.yml up -d

Pour finir, j'ai exécuté manuellement cette tâche (qui, je le rappelle, est désactivée).

Cela a fonctionné sans passer par SSH. 😁
Ceci dit, maintenant que c'est fait, je me demande si cela à un réel intérêt... 😓

Question: j'ai le système de pushover d'activé avec l'apps DSFinder sur mon smartphone.
Savez-vous si les conteneurs Docker peuvent remonter une notification à travers ce canal ?

Lien vers le commentaire
Partager sur d’autres sites

Il y a 13 heures, Lapin a dit :

Alors là... Un énorme bravo pour ce tuto extrêmement complet. 😍😍

Merci ça fait toujours plaisir à lire, même si je vais sûrement l'améliorer (surtout la partie docker-compose qui est trop superficielle).

Il y a 13 heures, Lapin a dit :

La dernière étape est d'avoir des notifications pour les updates. Je veux un truc léger et rester avec le GUI de Synology.
J'ai vu https://crazymax.dev/diun mais je me heurte au problème d'accès au socket docker (/var/run/docker.sock).

A priori Diun a besoin de monter le socket dans tous les cas.

Il y a 13 heures, Lapin a dit :

Je suis passé direct sur un PI3B qui trainait dans l'un de mes tiroirs (remplacè par un PI4 pour ma borne d'arcade maison sous Recalbox).

C'est la meilleure méthode pour Pi-Hole, mieux que Docker selon moi.

Il y a 12 heures, Lapin a dit :

Victoire !! 🥳
J'ai créé un fichier yml ici:
Puis j'ai créé une tâche planifiée "Script défini par l'utilisateur".
Les options:
"Tâche" → Docker diun
"Utilisateur" → root
"Activé" → ça j'ai décoché.

"Exécuter à la date suivante" → Ne pas répéter

"Paramètres de tâche" / "Script défini par l'utilisateur" → docker-compose -f /volume1/docker/diun/diun.yml up -d

Pour finir, j'ai exécuté manuellement cette tâche (qui, je le rappelle, est désactivée).

Cela a fonctionné sans passer par SSH. 😁
Ceci dit, maintenant que c'est fait, je me demande si cela à un réel intérêt... 😓

Bravo ! Oui ça peut marcher ainsi, c'est ce que j'utilise pour établir un tunnel SSH via VPN depuis un NAS distant vers mon réseau local. Je fais ça car le NAS est derrière un pare-feu entreprise et que je n'ai pas accès au SSH sinon, et donc que le seul moyen d'y avoir accès c'est que lui initie une connexion vers l'extérieur.

Tu devrais faire la même tâche avec down au lieu de up -d. 😉 

Personnellement quand SSH est dispo je m'en sers. 🙂 

Il y a 12 heures, Lapin a dit :

Question: j'ai le système de pushover d'activé avec l'apps DSFinder sur mon smartphone.
Savez-vous si les conteneurs Docker peuvent remonter une notification à travers ce canal ?

Ca t'informe du changement d'état des conteneurs, pour l'instant j'ai juste eu l'information si un conteneur s'arrête de manière inappropriée, c'est le cas selon DSM quand Watchtower fait sa ronde de mise à jour.

Lien vers le commentaire
Partager sur d’autres sites

Il y a 9 heures, .Shad. a dit :

Merci ça fait toujours plaisir à lire, même si je vais sûrement l'améliorer (surtout la partie docker-compose qui est trop superficielle).

C'est bien la moindre des choses !! J'ai un petit site consacré à un firmware de radio (pour le modélisme) et je sais que les remerciements est le carburant minimum pour rester motiver à faire de nouveaux tutos. 😄

Il y a 9 heures, .Shad. a dit :

A priori Diun a besoin de monter le socket dans tous les cas.

Oui, je confirme. Et cela parait normal. Je ne voie pas comment il pourrait avoir toutes les infos sans accéder au socket Docker.

Il y a 9 heures, .Shad. a dit :

C'est la meilleure méthode pour Pi-Hole, mieux que Docker selon moi.

Merci pour la confirmation. Cela correspond bien à mes tests sur l'installation de mon domicile.

Il y a 9 heures, .Shad. a dit :

Bravo ! Oui ça peut marcher ainsi, c'est ce que j'utilise pour établir un tunnel SSH via VPN depuis un NAS distant vers mon réseau local. Je fais ça car le NAS est derrière un pare-feu entreprise et que je n'ai pas accès au SSH sinon, et donc que le seul moyen d'y avoir accès c'est que lui initie une connexion vers l'extérieur.

Tu devrais faire la même tâche avec down au lieu de up -d. 😉 

Personnellement quand SSH est dispo je m'en sers. 🙂 

Merci ! 😎
Sur ce point là, j'aurais 2 questions:
1- Est-ce qu'un conteneur monté par SSH résiste à une mise à jour DSM ? Ou seul, les conteneurs faire par le GUI Synology sont immunes aux mises à jour ?
2- En passant par Docker-compose, cela à rendu visible le conteneur sous le GUI Synology. Du coup, je peux tout faire: start/stop/ouvrir un terminal/afficher le log. Donc, pourquoi faire une tâche supplémentaire pour arrêter le conteneur DIUN ? Y aurait-il une subtilité qui m'aurait échappée ?

Il y a 9 heures, .Shad. a dit :

Ca t'informe du changement d'état des conteneurs, pour l'instant j'ai juste eu l'information si un conteneur s'arrête de manière inappropriée, c'est le cas selon DSM quand Watchtower fait sa ronde de mise à jour.

Ça, c'est moche. En clair, seules les notifs "natives" à la couche Docker Syno sont remontées.
J'avais espoir qu'il soit possible de remonter des push à travers la couche "Docker Synology". J'ai vu qu'il y avait des histoire de MetaData, mais là cela me dépasse pour l'instant.

Dans tous les cas, j'ai hâte de lire tes tutos sur Docker Compose. Je suis sûr que cela va être fort instructif.
Je trouve que tu arrives à super bien vulgariser des sujets complexes pour les non-initiés. 🤩

Modifié par Lapin
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.