NextCloud via Docker - erreur aux lancement du container

Ça ne pourra fonctionner que si le port est exposé donc présent dans la section ports: du docker-compose.yml.
Si le port n’est pas exposé, ça ne fonctionnera pas.
C’est pour ça que j’ai demandé si les deux conteneurs étaient dans le même réseau bridge.
Os : il est même déconseillé d’exposer le port de la base de données.

Dans mon setup le port de la base de données n’est pas exposé. Seul l’est le port d’accès de NextCloud et de onlyoffice.
Tous trois sont dans le même réseau bridge.

@Dimebag Darrell as tu essayé mon docker-compose ? Avec modif des valeurs comment le ndd , les mdp, le réseau, etc…
@MilesTEG1

Oui, j'ai fait un gros copier/coller
J'ai simplement changé les chemins des dossiers + pgid uid
et enlever la partie network.


Code:
# ========================================================================================
# ===================== Docker-compose pour NextCloud avec MariaDB =======================
# ========================================================================================
#
# ~~~~~~~~~~~~ Image Officielle ~~~~~~~~~~~~~
# ~ https://github.com/linuxserver/docker-nextcloud
# ~ https://registry.hub.docker.com/r/linuxserver/nextcloud
# ~ https://www.forum-nas.fr/threads/tuto-installation-de-nextcloud-mariadb-clamav-en-docker.15353/
#
# ~ https://github.com/linuxserver/docker-mariadb
# ~ https://registry.hub.docker.com/r/linuxserver/mariadb
#
# ~ https://github.com/ONLYOFFICE/Docker-DocumentServer
#
# + Création des dossiers :
# +     mkdir -p /volume4/docker/nextcloud/{config,data,mariadb,onlyoffice/document_data,onlyoffice/document_log}
#
---
version: "2.4"
services:
  nextcloud:
    container_name: nextcloud
    image: lscr.io/linuxserver/nextcloud:latest

    depends_on:
      - nextcloud_mariadb

    ports:
      - 4443:443

    environment:
      - PUID=1026
      - PGID=101
      - TZ=Europe/Paris
      - DOCKER_MODS=linuxserver/mods:nextcloud-mediadc|linuxserver/mods:universal-package-install
      - INSTALL_PACKAGES=exiftool

    volumes:
      - /volume1/docker/nextcloud/config:/config
      - /volume1/docker/nextcloud/data:/data
      # - /volume1/photo:/data/external_storage/photo:ro

    # ###############
    # Le label ci-dessous permet à Watchtower de faire les mises à jour automatiquement
    # Cela peut-être supprimé si Watchtower n'est pas utilisé.
    #labels:
    #  - "com.centurylinklabs.watchtower.enable=true"
    # ###############

    healthcheck:
      test:
        [
          "CMD-SHELL",
          "wget --no-verbose --tries=1 --spider https://nextcloud.ndd.tld || exit 1",
        ]
      start_period: 15s
      interval: 90s
      timeout: 10s
      retries: 3

    restart: unless-stopped

  nextcloud_mariadb:
    container_name: nextcloud_mariadb
    image: lscr.io/linuxserver/mariadb:latest

  
    environment:
      - PUID=1026
      - PGID=101
      - MYSQL_ROOT_PASSWORD=mdproot
      - TZ=Europe/Paris
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=mdpsql

    volumes:
      - /volume1/docker/nextcloud/mariadb:/config

    #labels:
    # - "com.centurylinklabs.watchtower.enable=true"

    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      start_period: 15s
      interval: 90s
      timeout: 10s
      retries: 3
    restart: unless-stopped

  nextcloud_onlyoffice-document-server:
    container_name: nextcloud_onlyoffice-document-server
    image: onlyoffice/documentserver:latest
    restart: unless-stopped
   #labels:
   #  - com.centurylinklabs.watchtower.enable=true
    
    environment:
      - JWT_ENABLED=true
      - JWT_SECRET=mdponly
    ports:
      - 8485:80
      - 8486:443
    mem_limit: 2048m
    volumes:
      - /volume1/docker/nextcloud/onlyoffice/document_data:/var/www/onlyoffice/Data
      - /volume1/docker/nextcloud/onlyoffice/document_log:/var/log/onlyoffice
    healthcheck:
      test:
        ["CMD-SHELL", "curl --fail https://o-office.ndd.tld || exit 1"]
      start_period: 15s
      interval: 90s
      timeout: 10s
      retries: 3
 
Je viens de vérifier mon config.php nextcloud, j'ai bien ip_du_nas:_port_mariadb....
Bon j'utilise pas la même image de container...

@MilesTEG1 merci pour m'avoir pointé ce trou de sécu, je croyais avoir bridé dans le pare-feu au réseau local, mais ce n'est pas le cas.
Je vais bosser là dessus ;-)
 
Salut @Nincha Merci beaucoup pour ton support,
J'ai essayé avec l'adresse IP du nas+port de mariadb,
Toujours les même problèmes, à chaque fois que j'indique les informations dans le bandeaux Nextcloud, il revient avec un message d'erreur

(je m'arrache les cheveux là)
Avec l’adresse iP du nas et le port ça ne fonctionnera pas , cf mon précédent message.
 
Tiens d’ailleurs comment je vérifie que mariadb reçoit Bien les données ?
 
Tiens d’ailleurs comment je vérifie que mariadb reçoit Bien les données ?
Voir si la connexion est bien établie ?
Un soft genre dbeaver, squirrelSQL et consulter les sessions en cours ? Perso j'utilise dbeaver au taf et chez moi, je gère aussi les user avec.
 
@MilesTEG1
Une question concernant la gestion des users pour le GIUD PUID.
Est ce que tu crées un user spécifique pour tes applications docker
car dans mon cas, j'utilise mon compte admin (qui ne s'appelle pas admin) pour tous mes dockers.

Code:
id monuser
uid=1026(monuser) gid=100(users) groups=100(users),101(administrators),1023(http)
 
@MilesTEG1
Une question concernant la gestion des users pour le GIUD PUID.
Est ce que tu crées un user spécifique pour tes applications docker
car dans mon cas, j'utilise mon compte admin (qui ne s'appelle pas admin) pour tous mes dockers.

Code:
id monuser
uid=1026(monuser) gid=100(users) groups=100(users),101(administrators),1023(http)
Oui je crée un utilisateur pour chaque conteneur, ou groupe de conteneur qui officient dans le même domaine.
 
Salut @MilesTEG1
J'ai laissé tomber pendant environ 1 mois, dire de penser à autre chose,
Je viens d'utiliser ton docker compose (en excluant la partie onlyoffice,) je retombe sur les mêmes messages d'erreurs, les containers sont bien lancés, j'arrive à avoir accès au portail de configuration NextCloud,
J'indique les informations, compte admin, mot de passe
pour la partie db
J'indique bien nom de la db, utilisateur db, et son mot de passe, par contre, derrière localhost, je n'indique pas de numéro de port.
Est ce qu'il faut en indiquer un ?


@Dimebag Darrell verifie les permissions de tes dossiers : il faut que l’user mis en uid soit bien autorisé à accéder en lecture et écriture…

Si ça peut t’aider voilà mon docker compose que j’utilise avec Portainer :
YAML:
# ========================================================================================
# ===================== Docker-compose pour NextCloud avec MariaDB =======================
# ========================================================================================
#
# ~~~~~~~~~~~~ Image Officielle ~~~~~~~~~~~~~
# ~ https://github.com/linuxserver/docker-nextcloud
# ~ https://registry.hub.docker.com/r/linuxserver/nextcloud
# ~ https://www.forum-nas.fr/threads/tuto-installation-de-nextcloud-mariadb-clamav-en-docker.15353/
#
# ~ https://github.com/linuxserver/docker-mariadb
# ~ https://registry.hub.docker.com/r/linuxserver/mariadb
#
# ~ https://github.com/ONLYOFFICE/Docker-DocumentServer
#
# + Création des dossiers :
# +     mkdir -p /volume4/docker/nextcloud/{config,data,mariadb,onlyoffice/document_data,onlyoffice/document_log}
#
---
version: "2.4"
services:
  nextcloud:
    container_name: nextcloud
    image: lscr.io/linuxserver/nextcloud:latest

    networks:
      nextcloud_network:
        ipv4_address: 172.25.0.2

    depends_on:
      - nextcloud_mariadb

    ports:
      - 4443:443

    environment:
      - PUID=1036
      - PGID=100
      - TZ=Europe/Paris
      - DOCKER_MODS=linuxserver/mods:nextcloud-mediadc|linuxserver/mods:universal-package-install
      - INSTALL_PACKAGES=exiftool

    volumes:
      - /volume4/docker/nextcloud/config:/config
      - /volume1/NextCloud-Data:/data
      # - /volume1/photo:/data/external_storage/photo:ro

    # ###############
    # Le label ci-dessous permet à Watchtower de faire les mises à jour automatiquement
    # Cela peut-être supprimé si Watchtower n'est pas utilisé.
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    # ###############

    healthcheck:
      test:
        [
          "CMD-SHELL",
          "wget --no-verbose --tries=1 --spider https://nextcloud.ndd.tld || exit 1",
        ]
      start_period: 15s
      interval: 90s
      timeout: 10s
      retries: 3

    restart: unless-stopped

  nextcloud_mariadb:
    container_name: nextcloud_mariadb
    image: lscr.io/linuxserver/mariadb:latest

    networks:
      nextcloud_network:
        ipv4_address: 172.25.0.3

    environment:
      - PUID=1036
      - PGID=100
      - MYSQL_ROOT_PASSWORD=encoreunmotdeoassearallongetropchiantceotsdepaasevicevaultwarden
      - TZ=Europe/Paris
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_PASSWORD=mybigmotdepassedelamortquitue´eclavierczftroplongatapermieuxvzutcopirrcoller

    volumes:
      - /volume4/docker/nextcloud/mariadb:/config

    labels:
      - "com.centurylinklabs.watchtower.enable=true"

    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      start_period: 15s
      interval: 90s
      timeout: 10s
      retries: 3
    restart: unless-stopped

  nextcloud_onlyoffice-document-server:
    container_name: nextcloud_onlyoffice-document-server
    image: onlyoffice/documentserver:latest
    restart: unless-stopped
    labels:
      - com.centurylinklabs.watchtower.enable=true
    networks:
      nextcloud_network:
        ipv4_address: 172.25.0.4
    environment:
      - JWT_ENABLED=true
      - JWT_SECRET=hhhhhhhhhhhhhhhh
    ports:
      - 8485:80
      - 8486:443
    mem_limit: 2048m
    volumes:
      - /volume4/docker/nextcloud/onlyoffice/document_data:/var/www/onlyoffice/Data
      - /volume4/docker/nextcloud/onlyoffice/document_log:/var/log/onlyoffice
    healthcheck:
      test:
        ["CMD-SHELL", "curl --fail https://o-office.ndd.tld || exit 1"]
      start_period: 15s
      interval: 90s
      timeout: 10s
      retries: 3

networks:
  nextcloud_network:
    name: nextcloud_network
    ipam:
      driver: default
      config:
        - subnet: 172.25.0.0/16
          ip_range: 172.25.0.0/24
          gateway: 172.25.0.1
 
Je viens d'utiliser ton docker compose (en excluant la partie onlyoffice,) je retombe sur les mêmes messages d'erreurs, les containers sont bien lancés, j'arrive à avoir accès au portail de configuration NextCloud,
Salut @Dimebag Darrell
Tu me vois désolé de ces erreurs de Nextcloud pour toi...

pour la partie db
J'indique bien nom de la db, utilisateur db, et son mot de passe, par contre, derrière localhost, je n'indique pas de numéro de port.
Est ce qu'il faut en indiquer un ?
Alors, le port n'est pas nécessaire si tu n'as pas changé le port par défaut.
En revanche, il ne faut pas laisser localhost, mais il faut mettre soit l'adresse IP docker du conteneur mariaDB ou mieux tu mets le nom du conteneur : nextcloud_mariadb
Retente avec ces réglages.
 
Merci bcp @MilesTEG1
ça semble fonctionner, mais bizarrement, j'ai du indiquer plusieurs fois login et password (admin et db).
as tu déjà remarquer ce comportement ?

Comment aussi puis-je m'assurer qu'il utilise bien la db (mariadb et non SQL par défaut) ?
 
Merci bcp @MilesTEG1
ça semble fonctionner, mais bizarrement, j'ai du indiquer plusieurs fois login et password (admin et db).
as tu déjà remarquer ce comportement ?
De rien.
Et pour le fait d'avoir dû rentrer plusieurs fois les logins/pwd, aucune idée... je ne me souviens pas vraiment de cette étape d'installation 😅
 
Merci en tout cas pour votre précieuse aide,(@MilesTEG1 @EVOTk )
La prochaine étape est l'installation de onlyoffice !
Une dernière question concernant les GID et UID, lors du déploiement des containers, je les ai mis avec un # devant ceux-ci afin qu'ils ne soient pas pris en compte, y a-t-il un risque (notamment sécurité) ?
Car j'ai eu beaucoup de souci avec les droits ces derniers temps !
 
Dernière édition: