Aller au contenu

[RESOLU] linuxserver/nextcloud : erreur 404


Taribam

Messages recommandés

Posté(e)

Bonjour,

Suite aux tuto de .Shad, j'ai décider de me mettre à docker en commençant par NextCloud que je voulais tester. 

docker-compose.yml :

---
version: "2.1"
services:
  nextcloud:
    image: linuxserver/nextcloud
    container_name: nextcloud
    networks:
      macvlan_network:
        ipv4_address: 192.168.0.225
    environment:
      - PUID=1026
      - PGID=100
      - TZ=Europe/Paris
    volumes:
      - /volume1/docker/nextcloud/config:/config
      - /volume1/docker/nextcloud/data:/data
    ports:
      - 443:443
    restart: unless-stopped
networks:
  macvlan_network:
    external:
      name: macvlan-network     

(l'adresse 192.168.0.225 appartient bien au macvlan)

Jusque là, pas de problème...

Mais, dans l'interface de Docker de DSM, dans l'onglet Conteneur, j'ai un vilain message "aucun conteneur n'a été créé", toutefois, dans l'onglet réseau, le "macvlan-network" fait bien tourner le conteneur nextcloud. Est-ce dû au fait que j'ai utilisé docker-compose plutôt que l'interface graphique de docker sur DSM ?

Bref, je ping bien le conteneur (192.168.0.225), d'ailleurs, quand je m'y connecte en HTTPS (par l'ip), j'ai bien l'alerte du problème de certificat. Quand je le valide, j'ai un beau 404.

Quelqu'un aurait-il une idée sur ce problème (et si quelqu'un sait pourquoi l'interface de docker me dit que je n'ai pas de conteneur) ?

Autre question, au passage, est-ce que je peux utiliser un utilisateur non admin avec les droits sur le dossier docker pour faire tourner les conteneurs ?

Merci beaucoup par avance

Taribam

 

Posté(e)

Salut !

Déjà félicitations de t'être lancé dans cette aventure ! 🙂 

Tu n'as pas besoin de translater de ports. En effet, tu es sur une machine à part entière en macvlan, d'IP 192.168.0.225 dans ton cas. La translation est utile que lorsque tu es en mode bridge, par défaut ou personnalisé.

Je pense qu'il y a un souci sur la définition du réseau, tu mélanges "_" et "-", je te conseille de le définir de la sorte plutôt (je suppose que macvlan_network existe, et pas macvlan-network) :

networks:
   macvlan_network:
      external: true

C'est plus direct. 😉 

Commence donc par vérifier ce point. docker-compose down, tu modifies, puis up -d

Il y a 3 heures, Taribam a dit :

Est-ce dû au fait que j'ai utilisé docker-compose plutôt que l'interface graphique de docker sur DSM ?

Non, j'utilise Pi-Hole en macvlan sur le NAS et il est bien listé comme n'importe quel conteneur.
La seule erreur que tu peux avoir serait du style "le conteneur untel ne s'est pas arrêté correctement", ce qui peut arriver avec Docker-compose oui.

Il y a 3 heures, Taribam a dit :

Autre question, au passage, est-ce que je peux utiliser un utilisateur non admin avec les droits sur le dossier docker pour faire tourner les conteneurs ?

Dans la grande majorité des cas, oui, et c'est préférable.
Pour une image majeure comme Nextcloud, je te conseille même de créer un utilisateur et groupe dédié dans DSM. Et utiliser les UID et GID de cet utilisateur/groupe dans les variables d'environnement PUID et PGID.

Mais dans un premier temps essaie déjà de le faire fonctionner en tant qu'administrateur, il sera toujours temps de reprendre l'installation avec l'utilisateur dédié une fois que tu seras au point sur la mise en route de Nextcloud.

Posté(e)

Salut .Shad. et tous les lecteurs,

Un grand merci pour les félicitations et la réponse apportée.

Je viens de faire les modifications (j'avais vu le problème de "-") mais j'avais la flemme de changer, donc j'avais fait le changement dans le fichier ouvert, soit le docker-compose ;).

Suite à ton message, n'ayant que ce container pour l'instant,

  • j'ai modifier le macvlan avec l'"_" (beaucoup plus simple)
  • j'ai supprimé le conteneur
  • désinstallé docker
  • réinstallé docker
  • fait des reboot du nas entre temps
  • reconfigurer le macvlan
  • modifier en conséquence le yml
  • lancé le conteneur
  • et... même symptôme 😭 => erreur 404 en se connectant avec l'adresse ip du conteneur et ça :

image.png.bd50e1d085ca79d46e868dce37e1ed79.png

image.png.cec27e8e7fe0782a3072e36dcd76eddb.png

Dans le doute, je vais refaire l'installation sur un autre NAS tout neuf et rester avec mon admin, sur ton conseil, pour le test (de toute façon, je le laisserais en local le temps de changer l'utilisateur). Je fais un retour, probablement dans la journée.

Et encore merci !

Posté(e)
root@XXX:/volume1/docker/nextcloud# docker-compose pull && docker-compose up -d
Pulling nextcloud ... done
Creating nextcloud ... done
root@XXX:/volume1/docker/nextcloud# docker-compose -f ./docker-compose.yml down
Stopping nextcloud ... done
Removing nextcloud ... done
Network macvlan_network is external, skipping
root@XXX:/volume1/docker/nextcloud# docker container rm nextcloud                            
Error: No such container: nextcloud

Salut @MilesTEG1,

J'étais justement en train de mettre les retours de commandes 😉

d'ailleurs, en écrivant ces ligne, je me rend compte que la commande  "docker-compose -f ./docker-compose.yml down" supprime le conteneur... Il n'est pas sensé juste l'arrêter ?

Posté(e)

Normalement il n'y a pas besoin du docker pull quand tu fais un docker-compose up -d...
 

Et oui, un docker-compose down supprime le conteneur, donc n'est normal que tu n'aies plus le conteneur après 😅

 

Quand tu crées ton conteneur à partir du docker-compose.yml, tu lances juste ça :
docker-compose up -d

Pas besoin de plus.
Si tu veux mettre à jour ton conteneur avec une nouvelle image, il faudra faire ces deux commandes :

docker-compose down

docker-compose up -d

 

Je te conseille d'investir un peu de temps sur l'installation de Portainer, ça te simplifiera la vie 🙂

Posté(e)

@Taribam Pourquoi passer par macvlan au passage ? C'est surtout utile pour des conteneurs utilisant des ports qu'on ne peut pas modifier comme le port DNS (53), DHCP (67), et HTTP/HTTPS dans certains cas (Pi-Hole par exemple), mais ici tu pourrais tout à fait te mettre en bridge, translater le port 443 du conteneur vers un port du NAS, par exemple 11443.

Si tu mets un proxy inversé en amont, tu pourras même repasser sur le port 443 pour y accéder.

Précision à part, oui docker-compose supprime le conteneur, mais les données sont sauvegardées, que ce soit dans les dossiers que tu as mis dans volumes, ou dans les dossiers propres à Docker hors du volume1.

Toute modification des paramètres d'un conteneur nécessite qu'il soit recréé, c'est un objet statique.

Quand tu crées ton conteneur avec docker-compose up -d, tu peux faire :

docker logs -f nextcloud

Voir déjà si les logs renvoient des erreurs.

Posté(e)

@MilesTEG1 merci pour l'éclaircissement des commandes !

@.Shad. merci également pour l'éclaircissement. Je suis passé par MacVLAN, tout simplement parce que j'ai lu tous tes tutos (plusieurs fois pour bien comprendre le principe de docker) et que c'est ce type de réseau qui me "parle le plus". 1 container = 1 IP fullstack dans le LAN, on ne se prend pas la tête sur les ports dispo 😉 

Là, je m'absente... pont raté...

Je testerai d'abord en regardant les log, puis en bridge, pour être sûr que ca ne vienne pas du MacVLAN et je vous tiendrai au courant

Bonne matinée

Posté(e)

Bonjour,

j'ai essayé de reprendre mon docker-compose.yml, ligne par ligne :

image: linuxserver/nextcloud
  • J'ai oublié le ":latest" => l'image n'est pas la même (432M à la place de 309)
  • Création du conteneur : l'interface docker de DSM me dit que je n'ai pas de conteneur lancé, mais j'en ai bien 1 dans Réseau / MacVLAN
  • Vérification des log : pas d'erreur de droits comme j'avais avec l'autre image. C'est mieux
  • Tentative pour me connecter au conteneur en http : Ca fonctionne, plus de 404 oO
  ports:
      - 443:443
  • Je me suis dit, pourquoi mettre ces 2 lignes dans un réseau MacVLAN puisque je ne translate rien ??? (D'ailleurs en écrivant ça, je m'aperçois que .shad. me l'avait dit !)
  • Vérification sur le Tuto PI-Hole de .Shad. : pas de translation de ports... Je supprime les lignes
  • Création du conteneur : Ca y est, l'interface docker de DSM voit bien le conteneur... Victoire !

docker-compose final :

---
version: "2.4"
services:
  nextcloud:
    image: linuxserver/nextcloud:latest
    container_name: nextcloud
    networks:
      macvlan-network:
        ipv4_address: 192.168.0.225
    environment:
      - PUID=1026
      - PGID=100
      - TZ=Europe/Paris
    volumes:
      - /volume1/docker/nextcloud/config:/config
      - /volume1/docker/nextcloud/data:/data
    restart: unless-stopped
networks:
  macvlan-network:
    external: true

Il ne me reste plus qu'a utiliser un compte non admin et connecter nextcloud à MariaDB

Encore un grand merci à .Shad. et MilesTEG1 ! 

 

 

  • Taribam a modifié le titre en [RESOLU] linuxserver/nextcloud : erreur 404
Posté(e)

J'ajoute juste pour info, que, comme me l'avais demandé .Shad., qu'une fois de plus j'ai écouté d'une demi-oreille... Pourquoi un MacVLAN ???

En bridge, c'est plus simple pour les certificats et l'accès avec le DNS inversé 😇

J'essaierai d'être plus attentif aux requêtes ^^

Posté(e)
Il y a 4 heures, Taribam a dit :

En bridge, c'est plus simple pour les certificats et l'accès avec le DNS inversé

Pour les certificats je ne sais pas trop ce que tu veux dire, mais pour le proxy inversé oui, car tu n'auras pas besoin de mettre en place une interface virtuelle pour assurer la communication entre l'hôte (le NAS) et le conteneur.

En tout cas tant mieux si le problème est résolu. 😉 

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.