Aller au contenu

NextCloud en Docker


Lestat69

Messages recommandés

T'aider spécifiquement pour cette image n'aurait pas de sens, essaie de t'approprier ce tutoriel dans un premier temps :

Puis si tu n'arrives toujours pas à créer ton conteneur Nextcloud, n'hésite pas à te manifester de nouveau (tous les conteneurs fonctionnent de la même manière, surtout si tu prends l'image Nextcloud par Linuxserver.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'ai lu votre tuto et un installer les deux images de linuxserver, mais un truc m’échappe comment les configurer au niveau réseau pour les deux communique ensemble, surtout pour Mariadb Bridge ou le même que le host que le docker.
Même chose pour le chemin à Mariadb depuis Nextcloud,  j'ai lu qu'il fallait mettre localhost,  une autre fois que localhost ne fonctionnait pas mais 127.0.0.1 soit avec le port 3306 ou 3307 sur la version de Mariadb.
Est-ce que vous pouvez m'apporter des éclaircissements svp, Merci d'avance pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Merci, sauf qu'avec une installation docker je n'ai pas l'appli MariaDB comme si je l'installer avec DSM et je ne vais pas l'installer juste pour avoir le port, mais si je le mets en bridge, je vois que c'est le port 3306 du coup.
mais merci de ton aide

Je n'arrive toujours pas à faire communiquer les deux docker ensemble, et  que mettre dans nexcloud pour atteindre la base MariaDB, localhost:3306, 127.0.0.1:3306 ou ipnas:3306

 

Lien vers le commentaire
Partager sur d’autres sites

Hmm je pense que c'est pas clair pour toi.
Si tu installes NextCloud en mode bridge, ton NAS fait office de passerelle, MariaDB du NAS est donc tout à fait accessible en utilisant l'IP de la passerelle et les ports 3306 ou 3307 suivant si c'est la version 5 ou 10 de MariaDB que tu utilises.
Si tu l'installes en mode host, alors localhost doit fonctionner.

Pour connaître l'IP passrelle du NAS, tu te connectes en SSH et tu tapes :

sudo docker container inspect <nom_du_conteneur_nextcloud>

436195500_Capturedu2020-08-0307-58-24.png.2f81531c9082628210a7dc6f99ca7acb.png

Tu obtiens plusieurs infos, dont l'adresse du Gateway qui est l'interface par laquelle le conteneur peut communiquer avec le NAS, donc si tu mets dans le champ d'adresse de la base de données à l'initialisation de NextCloud l'équivalent de 172.17.0.1:3306 (ou 3307) ça devrait marcher.

L'autre solution c'est de créer un conteneur mariaDB dans le même réseau bridge défini par l'utilisateur que le conteneur NextCloud.
Mais à mon humble avis autant se servir de la base de données existante sur le NAS.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Avant de tester le MariaDB du DSM, j'ai voulu tenter avec les deux images de linuxserver, MariaDB et Nexcloud. J'ai configurer les deux Docker sur le même Bridge avec le port 3306 pour MariaDB et 8080 pour le nextcloud, j'ai créé ma base de donnée Nexcloud avec son utilisateur.

Je lance Nexcloud (IPNAS:8080), je choisi MYSQL/MARIADB et  rentre toute les infos demandé et pour l'hote de la base de données je rentre IPNAS:3306 et j’obtiens comme reponse :
"Error while trying to create admin user: Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [2002] Operation timed out"

Du coup j'ai tenté 127.0.0.1:3306 et  j'ai Connection Refused

Je comprends pas pourquoi, car j'arrive bien à me connecter a ma base avec les mêmes infos (user, password, nom base, IPNAS;3306)  depuis un client SQL qui est sur mon PC (même plage d'ip que le NAS)  j'ai créé une table et supprimer sans soucis, du coup je 
sèche

@+

 

 

Lien vers le commentaire
Partager sur d’autres sites

Tu as donc créé un réseau bridge toi-même si je lis bien, tous les conteneurs s'y trouvant pourront donc discuter les uns avec les autres librement.
A partir de là, sauf si tu comptes utiliser ton conteneur MariaDB pour autre chose que Nextcloud, tu n'as pas à translater de port entre le NAS et MariaDB, seul Nextcloud a la possibilité d'y accéder et c'est bien ainsi.

Dans ce que tu as fait, IP_du_NAS:3306 aurait dû fonctionner, si tu as tout bien configuré comme tu l'affirmes.
127.0.0.1 n'aurait jamais pu marcher, car tu entres cette destination depuis le conteneur Nextcloud, ce qui le fait pointer sur lui-même ! (boucle locale)

S'ils sont dans le même réseau bridge, tu peux tout simplement écrire <nom_du_conteneur>:3306 (par exemple mariadb:3306), c'est une résolution DNS qui se fait de manière interne au réseau bridge et qui facilite grandement les choses.

Par quel biais crées-tu tes conteneurs ? DSM ? SSH ? Compose ?
SI DSM, peux-tu fournir des impressions d'écran des onglets de chaque conteneur à la création, ou a minima décrire ce que tu fais dans quel ordre ?

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'ai testé en rentrant le nom conteneur de Mariadb avec le port et même soucis.
Je fait l'installation avec DSM, j'ai fait des copies d’écran pour décrire comment j'ai fait
Encore merci de ton aide dans mes débuts sur les dockers un peux chaotique  😉

Pour Mariadb, les mots de passe sont bidon c'etait juste pour les copies d’écran

mariadb1.jpg.e35077c79e8afee1f7325baed3e90c3c.jpg

 

mariadb2.jpg.fb06528557f25eec6fc2e3afcf054971.jpg*

mariadb3.jpg.f343d911550df4bc91ad19cc3effe6a5.jpg

mariadb5.jpg.b40377fa15c14abf77dc2446dd5ee08d.jpg

Si je tente de me connecter à la base de donnée depuis un client sur mon pc avec l'ipnas:3306, cela fonctionne et je peux manipuler la base de donnée

Pour Nextcloud :

nextcloud1.jpg.453c42d0e25addaf8810820546e24d1d.jpg

nextcloud2.jpg.ac6e515623c38e76930f3916054606fd.jpg

nextcloud4.jpg.68d77cf4905fda188fd0a58e3e3434cf.jpg

nexcloud6.jpg.33c4f39185c7dd3950d33aee2e4f8b19.jpg

Essai de avec l'ipnas:3306

nexcloud16.jpg.94c30f4c11bd68f6f9f8b2026e135b01.jpg

l'erreur que cela fait

nexcloud15.jpg.39f858a0a58a3a049addaa563926a78f.jpg

 

Avec le nom du conteneur Mariadb : mariadb1:3306
nexcloud11.jpg.ed3ba9272d5389e78e7c99468fece7f1.jpg

 

l'erreur que ça fait :

nexcloud10.jpg.60b38deab6c02b8dce4f05cd969076c5.jpg

Voila, encore merci pour ton aide

 

Désole, je n'arrive pas enlever ces deux copie d’écran qui ont deja été mis

mariadb4.jpg

nextcloud6.jpg

Lien vers le commentaire
Partager sur d’autres sites

Plusieurs choses : tu te places sur le réseau bridge par défaut, on le voit dans ton impression d'écran.

Je te conseille de cliquer sur le "+" dans l'onglet réseau, ça te créera un nouveau réseau bridge, dont les propriétés sont différentes du réseau bridge pas défaut. Et utiliser ce nouveau réseau bridge pour tes deux conteneurs.

Si tu fais ça tu pourras accéder à MariaDB par le nom du conteneur depuis Nextcloud. Et vu que tu as translaté le port 3306 sur le NAS, il sera également accessible depuis un client PC. Si c'est juste à des fins de test, je te conseille de ne pas translater le port 3306, Nextcloud parviendra quand même à communiquer avec car ils se trouvent dans le même réseau bridge.

Une dernière remarque, il faut éviter de translater un port 8080 vers 443 par exemple. 8080 fait clairement penser à un port HTTP, or derrière ça pointe sur un port chiffré. Sans être fonctionnellement problématique, c'est plus que ça va à l'encontre des règles de bon sens. Je te conseillerais plutôt un port 8443 ou autre, mais qui fasse penser à un port HTTPS. 😉

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Merci pour les conseils pour les ports, je viens de les modifier.  J'ai aussi créer un nouveau Bridge comme tu m'as conseillé et j'ai vérifier le ip des conteneurs, mariadb1 qui a maintenant  pour ip 172.18.0.2 et pour nextcloud1 : 172.18.0.3 

J'ai pour l'instant laissé l’accès à la base depuis  mon pc et ça fonctionne toujours, pas contre toujours le même problème depuis le conteneur nexcloud1, j'ai mis comme chemin mariadb1:3306  et j'ai comme erreur "Operation time out", j'ai aussi tenté la passerelle 172.18.0.1:336, même erreur,  comme si ça n'atteignait même pas le serveur ou la base,  y a un truc qui cloche

bridge.jpg.e3d21ae01093a1938eaa6a6f66b26efe.jpg

 

Lien vers le commentaire
Partager sur d’autres sites

il y a 39 minutes, .Shad. a dit :

172.18.0.2:3306 ça doit forcément marcher.

Ben non j'avais essayé, même message : "Opération times out"
Normalement en connectant en SSH sur le NAS et en faisant un ping de mariadb1 et nextcloud1, ça devrait répondre non ?  mais la rien, par contre ça ping bien avec leur ip

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Le problème venait bien de la plage que je n'avais pas autorisé dans le firewall, je n'y avais pas du tout pensé vu  que c'etait une plage interne au docker qui lui était  dans le nas,
Merci à vous deux pour votre aider et j'ai du coup appris plein de chose sur le fonctionnement des dockers avec cette histoire, rien de tel que de mettre les mains dans cambouis 

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • 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.