NextCloud via Docker - erreur aux lancement du container

@Bambusa29 Merci pour la remarque, je n'avais pas fait attention, (host name, est ce le nom du container, c'est comme ça que je dois le comprendre)
Synology_nextcloud-DB, c'est le nom du container.

Je viens de vérifier, mais je ne comprends pas pq ça pose problème


Par contre la notion de PGID et co, je ne comprends pas tjs bien la nuance
 
Dernière édition:
Hello, désolé pas eu le temps de comparer avec ma stack jusque là.

Alors, si je reprends mon compose et que je tente d'adapter le tien, ça donnerait ça

YAML:
version: '2'

services:
# ici on paramètre le container pour mariadb
  mariadb_nextcloud:
    container_name: mariadb_nextcloud
    image: linuxserver/mariadb
    restart: unless-stopped
    volumes:
# vérifie bien que sur ton nas tu as un dossier /volume1/docker/nextcloud/mariadb, il recevra les fichiers/dossiers de config de mariadb
      - /volume1/docker/nextcloud/mariadb:/config
    ports:
      - 3306:3306
    environment:
      - PUID=1026 #user id
      - PGID=100 #group id
      - TZ=Europe/Paris
      - MYSQL_ROOT_PASSWORD=mdproot
      - MYSQL_PASSWORD=mdpsql
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
# ici on paramètre le container pour nextcloud
  nextcloud:
    container_name: nextcloud
    image: linuxserver/nextcloud:latest
    restart: unless-stopped
    ports:
      - 8082:80
    depends_on:
      - mariadb_nextcloud
    volumes:
      - /volume1/docker/nextcloud/config:/config
      - /volume1/docker/nextcloud/data:/data   # oubli
    environment:
      - PUID=1026 #user id
      - PGID=100 # group id
      - TZ=Europe/Paris
# j'ai viré tes variables pour les coordonnées de la base de données, tu auras juste les entrer à la main lors du premier lancement de nextcloud.

Tout ce qui commence par un # dans ce compose est un commentaire de ma part. Tu pourras les virer, mais ça devrait t'aider un peu dans la compréhension.

Je n'utilise pas la version linuxserver de mariadb, mais la version officielle, donc pas impossible qu'il y'ait quelques différences dans la gestion.
J'ai ajouté le volume data pour nextcloud, il me semblait t'avoir dit de l'ajouter mais je ne le vois pas.
J'ai modifié le nom de tes containers, libre à toi de les modifier par la suite mais teste comme ça avant (dans la mesure du possible).

Ici tu vas avoir un peu de lecture pour les puid et pgid : puid pgid linuxserver
En gros puid -> identifiant du user (utilisateur) interne au container docker (User IDentifiant)
pgid -> identifiant du groupe auquel appartient le user, en interne au container (Group IDentifiant)

Tu sembles connaitres ton PUID qui serait 1026, mais il faut que tu vois à quel groupe apparatient ce user 1026.
Faut taper en ligne de commander
id <mon_nom_de_user> pour obtenir l'uid et le gid. évidemment tu remplaces <mon_nom_de_user> par le nom du user qui a l'id 1026
 
Dernière édition:
  • J'aime
Réactions: Dimebag Darrell
Hello, désolé pas eu le temps de comparer avec ma stack jusque là.

Alors, si je reprends mon compose et que je tente d'adapter le tien, ça donnerait ça

YAML:
version: '2'

services:
# ici on paramètre le container pour mariadb
  mariadb_nextcloud:
    container_name: mariadb_nextcloud
    image: linuxserver/mariadb
    restart: unless-stopped
    volumes:
# vérifie bien que sur ton nas tu as un dossier /volume1/docker/nextcloud/mariadb, il recevra les fichiers/dossiers de config de mariadb
      - /volume1/docker/nextcloud/mariadb:/config
    ports:
      - 3306:3306
    environment:
      - PUID=1026 #user id
      - PGID=100 #group id
      - TZ=Europe/Paris
      - MYSQL_ROOT_PASSWORD=mdproot
      - MYSQL_PASSWORD=mdpsql
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
# ici on paramètre le container pour nextcloud
  nextcloud:
    container_name: nextcloud
    image: linuxserver/nextcloud:latest
    restart: unless-stopped
    ports:
      - 8082:80
    depends_on:
      - mariadb_nextcloud
    volumes:
      - /volume1/docker/nextcloud/config:/config
      - /volume1/docker/nextcloud/data:/data   # oubli
    environment:
      - PUID=1026 #user id
      - PGID=100 # group id
      - TZ=Europe/Paris
# j'ai viré tes variables pour les coordonnées de la base de données, tu auras juste les entrer à la main lors du premier lancement de nextcloud.

Tout ce qui commence par un # dans ce compose est un commentaire de ma part. Tu pourras les virer, mais ça devrait t'aider un peu dans la compréhension.

Je n'utilise pas la version linuxserver de mariadb, mais la version officielle, donc pas impossible qu'il y'ait quelques différences dans la gestion.
J'ai ajouté le volume data pour nextcloud, il me semblait t'avoir dit de l'ajouter mais je ne le vois pas.
J'ai modifié le nom de tes containers, libre à toi de les modifier par la suite mais teste comme ça avant (dans la mesure du possible).

Ici tu vas avoir un peu de lecture pour les puid et pgid : puid pgid linuxserver
En gros puid -> identifiant du user (utilisateur) interne au container docker (User IDentifiant)
pgid -> identifiant du groupe auquel appartient le user, en interne au container (Group IDentifiant)

Tu sembles connaitres ton PUID qui serait 1026, mais il faut que tu vois à quel groupe apparatient ce user 1026.
Faut taper en ligne de commander
id <mon_nom_de_user> pour obtenir l'uid et le gid. évidemment tu remplaces <mon_nom_de_user> par le nom du user qui a l'id 1026
Merci beaucoup,
Oui, en effet, pour la partie mariadb j'ai complètement zappé tes instructions (j'ai updaté le docker compose avec la version officielle)
GID/UID : voici ce que j'ai comme information

uid=1026(login) gid=100(users) groups=100(users),101(administrators),1023(http)


Une question, lorsque j'arrive sur le bandeau une fois les containers actifs
: Utilisateur de la base de données : nextcloud ?
: Mot de passe de la base de données : mdpsql ?
: nom de la base de données : nextcloud ?
: hote de la base de données : localhost ou mariadb_nextcloud ?
 
Dernière édition:
@Nincha
Merci pour les infos,
Nextcloud démarre,
Par contre, je viens de vérifier dans /volume1/docker/nextcloud/mariadb
0 fichiers ou dossier dedans... ! est-ce normal !
 
Je crois que tu utilises portainer? Regarde les logs du container mariadb_nextcloud
Je viens de regarder dans les logs, mais je ne vois rien d'inquiétant ! par contre le dossier est tjs vide !

Code:
2023-03-28 09:00:39+02:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.11.2+maria~ubu2204 started.
2023-03-28 09:00:46+02:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2023-03-28 09:00:46+02:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.11.2+maria~ubu2204 started.
2023-03-28 09:00:47+02:00 [Note] [Entrypoint]: Initializing database files
2023-03-28  9:00:52 0 [Warning] mariadbd: io_uring_queue_init() failed with ENOSYS: check seccomp filters, and the kernel version (newer than 5.1 required)
2023-03-28  9:00:52 0 [Warning] InnoDB: liburing disabled: falling back to innodb_use_native_aio=OFF


PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following command:

'/usr/bin/mariadb-secure-installation'

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the MariaDB Knowledgebase at https://mariadb.com/kb

Please report any problems at https://mariadb.org/jira

The latest information about MariaDB is available at https://mariadb.org/.

Consider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/

2023-03-28 09:03:39+02:00 [Note] [Entrypoint]: Database files initialized
2023-03-28 09:03:39+02:00 [Note] [Entrypoint]: Starting temporary server
2023-03-28 09:03:39+02:00 [Note] [Entrypoint]: Waiting for server startup
2023-03-28  9:03:40 0 [Note] Starting MariaDB 10.11.2-MariaDB-1:10.11.2+maria~ubu2204 source revision cafba8761af55ae16cc69c9b53a341340a845b36 as process 98
2023-03-28  9:03:40 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2023-03-28  9:03:40 0 [Note] InnoDB: Number of transaction pools: 1
2023-03-28  9:03:40 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
2023-03-28  9:03:40 0 [Warning] mariadbd: io_uring_queue_init() failed with ENOSYS: check seccomp filters, and the kernel version (newer than 5.1 required)
2023-03-28  9:03:40 0 [Warning] InnoDB: liburing disabled: falling back to innodb_use_native_aio=OFF
2023-03-28  9:03:40 0 [Note] InnoDB: Initializing buffer pool, total size = 128.000MiB, chunk size = 2.000MiB
2023-03-28  9:03:40 0 [Note] InnoDB: Completed initialization of buffer pool
2023-03-28  9:03:40 0 [Note] InnoDB: Buffered log writes (block size=512 bytes)
2023-03-28  9:03:40 0 [Note] InnoDB: 128 rollback segments are active.
2023-03-28  9:03:40 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ...
2023-03-28  9:03:40 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.
2023-03-28  9:03:40 0 [Note] InnoDB: log sequence number 46656; transaction id 14
2023-03-28  9:03:40 0 [Note] Plugin 'FEEDBACK' is disabled.
2023-03-28  9:03:40 0 [Warning] 'user' entry 'root@5c3d6f7bc8b1' ignored in --skip-name-resolve mode.
2023-03-28  9:03:40 0 [Warning] 'proxies_priv' entry '@% root@5c3d6f7bc8b1' ignored in --skip-name-resolve mode.
2023-03-28  9:03:42 0 [Note] mariadbd: ready for connections.
Version: '10.11.2-MariaDB-1:10.11.2+maria~ubu2204'  socket: '/run/mysqld/mysqld.sock'  port: 0  mariadb.org binary distribution
2023-03-28 09:03:42+02:00 [Note] [Entrypoint]: Temporary server started.
2023-03-28 09:03:59+02:00 [Note] [Entrypoint]: Creating database nextcloud
2023-03-28 09:03:59+02:00 [Note] [Entrypoint]: Creating user nextcloud
2023-03-28 09:03:59+02:00 [Note] [Entrypoint]: Giving user nextcloud access to schema nextcloud
2023-03-28 09:03:59+02:00 [Note] [Entrypoint]: Securing system users (equivalent to running mysql_secure_installation)

2023-03-28 09:04:02+02:00 [Note] [Entrypoint]: Stopping temporary server
2023-03-28  9:04:02 0 [Note] mariadbd (initiated by: unknown): Normal shutdown
2023-03-28  9:04:02 0 [Note] InnoDB: FTS optimize thread exiting.
2023-03-28  9:04:03 0 [Note] InnoDB: Starting shutdown...
2023-03-28  9:04:03 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
2023-03-28  9:04:03 0 [Note] InnoDB: Buffer pool(s) dump completed at 230328  9:04:03
2023-03-28  9:04:03 0 [Note] InnoDB: Removed temporary tablespace data file: "./ibtmp1"
2023-03-28  9:04:03 0 [Note] InnoDB: Shutdown completed; log sequence number 46656; transaction id 15
2023-03-28  9:04:04 0 [Note] mariadbd: Shutdown complete

2023-03-28 09:04:04+02:00 [Note] [Entrypoint]: Temporary server stopped

2023-03-28 09:04:04+02:00 [Note] [Entrypoint]: MariaDB init process done. Ready for start up.

2023-03-28  9:04:04 0 [Note] Starting MariaDB 10.11.2-MariaDB-1:10.11.2+maria~ubu2204 source revision cafba8761af55ae16cc69c9b53a341340a845b36 as process 1
2023-03-28  9:04:04 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2023-03-28  9:04:04 0 [Note] InnoDB: Number of transaction pools: 1
2023-03-28  9:04:04 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
2023-03-28  9:04:04 0 [Warning] mariadbd: io_uring_queue_init() failed with ENOSYS: check seccomp filters, and the kernel version (newer than 5.1 required)
2023-03-28  9:04:04 0 [Warning] InnoDB: liburing disabled: falling back to innodb_use_native_aio=OFF
2023-03-28  9:04:04 0 [Note] InnoDB: Initializing buffer pool, total size = 128.000MiB, chunk size = 2.000MiB
2023-03-28  9:04:04 0 [Note] InnoDB: Completed initialization of buffer pool
2023-03-28  9:04:04 0 [Note] InnoDB: Buffered log writes (block size=512 bytes)
2023-03-28  9:04:04 0 [Note] InnoDB: 128 rollback segments are active.
2023-03-28  9:04:04 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ...
2023-03-28  9:04:04 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.
2023-03-28  9:04:04 0 [Note] InnoDB: log sequence number 46656; transaction id 14
2023-03-28  9:04:04 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
2023-03-28  9:04:04 0 [Note] Plugin 'FEEDBACK' is disabled.
2023-03-28  9:04:04 0 [Warning] You need to use --log-bin to make --expire-logs-days or --binlog-expire-logs-seconds work.
2023-03-28  9:04:04 0 [Note] Server socket created on IP: '0.0.0.0'.
2023-03-28  9:04:04 0 [Note] Server socket created on IP: '::'.
2023-03-28  9:04:04 0 [Note] InnoDB: Buffer pool(s) load completed at 230328  9:04:04
2023-03-28  9:04:04 0 [Note] mariadbd: ready for connections.
Version: '10.11.2-MariaDB-1:10.11.2+maria~ubu2204'  socket: '/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution
 
Regarde les propriétés de ton containeur dans 'Portainer' et les points de montages des volumes.

Pour mon containeur isolé 'mariadb' j'ai ces volumes :

mariadb.png


Puis dans mon répertoire 'mariadb' (le :/config de la pile) j'ai ces fichiers et répertoires là :

mariadb01.png
 
  • J'aime
Réactions: Dimebag Darrell
Le comportement de l'application est très bizarre.
Je viens de refaire une installation complète en supprimant tous les fichiers dans les dossiers. (config, data, mariadb...)

Lors du "premier login", là où il demande la création du compte administrateur et le password.
en dessous on doit selectionner le type de base de données "configurer la base de données"
Je n'ai rien selectionné, il a accepté, mon login et password. par contre, mariadb et co !!! on dirait qu'il s'en bat les lattes !
... et j'arrive à me connecter à l'application... !

ça devient mystique !
 
Dernière édition:
Si tu ne mets rien du tout au début dans la base de données, il me semble que nextcloud crée une base de données SQllite. Donc oui mariadb ne servira à rien, mais les perfs seront pas super...
 
Si tu ne mets rien du tout au début dans la base de données, il me semble que nextcloud crée une base de données SQllite. Donc oui mariadb ne servira à rien, mais les perfs seront pas super...
enfait, c'est là où se situe le problème.
je remarque que je n'arrive pas à utiliser mariadb.
Il m'indique tjs le même message d'erreur.
après plusieurs tentatives, ça passe et je doute qu'au final il passe via SQlite... (vu que mes dossiers mariadb sont vides...)
 
@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
 
  • J'aime
Réactions: Dimebag Darrell
@MilesTEG1
Merci beaucoup pour le partage,
Concernant mon uid, c'est bien 1026 (j'ai pris le user que j'utilise en tant qu'admin sur le serveur) et 100 pour le group ID

ps : merci aussi pour le container onlyoffice ;)
 
Le container est en "unhealthy" dans portainer
j'ai ce log :
Code:
Exception: Not installed in /config/www/nextcloud/lib/base.php:281
180
Stack trace:
181
#0 /config/www/nextcloud/lib/base.php(697): OC::checkInstalled()
182
#1 /config/www/nextcloud/lib/base.php(1164): OC::init()
183
#2 /config/www/nextcloud/cron.php(43): require_once('...')
184
#3 {main}

Capture d’écran 4.png

J'ai néanmoins essayé de me connecter à NextCloud,
J'arrive quand même sur la page de configuration et de nouveau, j'ai ce message d'erreur lorsque je rentre les login, password et accès

Capture d’écran 3.png
 
Dernière édition:
@Dimebag Darrell : si tu n’as pas encore de données importantes je te proposerai bine de tout supprimer et de recommencer de 0.
Et dans le nom d’hôte de la base de donnéil faut changer et mettre le nom du conteneur si il est dans le même réseau que le NextCloud .
Faudrait que je regarde ce que j’ai mis pour voir 😇
 
  • J'aime
Réactions: Dimebag Darrell
@Dimebag Darrell : si tu n’as pas encore de données importantes je te proposerai bine de tout supprimer et de recommencer de 0.
Et dans le nom d’hôte de la base de donnéil faut changer et mettre le nom du conteneur si il est dans le même réseau que le NextCloud .
Faudrait que je regarde ce que j’ai mis pour voir 😇
@MilesTEG1 Pour info, je supprime tout à chaque fois, pour repartir de 0
Mon objectif est d'avoir un environement stable avec tous les signaux "verts"

Ensuite, je commencerai à utiliser l'application de manière régulière comme un utilisateur lambda.

Tant que le premier point n'est pas résolu, si je dois scratcher tout, ça ne me gène pas, (l'avantage de jouer avec portainer et docker)
 
Dernière édition:
  • J'aime
Réactions: MilesTEG
Pour l'hôte de ta base de données, tente l'adresse IP de ton nas avec le port 3306.
Donc si ton nas est à 192.168.1.10, tu mets
192.168.1.10:3306
Attention si tu as règlé le pare feu de ton nas assez strict, il faudra ouvrir ce port, au minimum pour le réseau local.
Message automatiquement fusionné :

Je regarderai ma config ce soir pour compléter
 
Pour l'hôte de ta base de données, tente l'adresse IP de ton nas avec le port 3306.
Donc si ton nas est à 192.168.1.10, tu mets
192.168.1.10:3306
Attention si tu as règlé le pare feu de ton nas assez strict, il faudra ouvrir ce port, au minimum pour le réseau local.
Message automatiquement fusionné :

Je regarderai ma config ce soir pour compléter
Ç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…
 
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à)