QNAP [Tuto] Installation de Nextcloud + MariaDB + Redis en Docker sur un NAS QNAP ( Container Station )

EVO

Administrateur
Membre du personnel
25 Novembre 2019
11 556
2 775
303
/var/run/docker.sock

Installation de Nextcloud + MariaDB + Redis en Docker sur un NAS QNAP ( Container Station )​


Disclamer :
Le but de ce tuto sera de rendre cette installation facile et accessible a tous, bien que loin d’être un expert de docker/docker compose, n’hésiter pas à répondre à ce sujet avec vos interrogations, .. Pour ceux qui sont plus a l'aise avec ce genre d'installation, n'hésitez pas à proposer des améliorations, ou des conseils, ...

Pour un support sur Nextcloud ne concernant pas une installation via ce tutoriel, merci de poster votre question dans Applications tierces.


Pré-requis :
- Un NAS QNAP compatible avec Container Station ( [Mémo] Installation de Container Station sur un NAS QNAP )
- Connaitre l'ID de votre utilisateur : [Mémo] Connaitre l'UID ( ou ID ou PUID ) d'un utilisateur sur un NAS QNAP
- Cette stack est compatible avec les CPUs de type : AMD64, ARM64v8


Sommaire :
1/ Création des dossiers nécessaire
2/ Création des conteneurs
3/ Accès à Nextcloud et 1ère configuration
4/ Activation du cache Redis ( a venir )
5/ Mise à jour de Nextcloud ( a venir )

Note : La version de Nextcloud dépend de la version de l'image docker choisie dans le compose, ici 33.0.5 car l'image est celle-ci : [I]lscr.io/linuxserver/nextcloud:version-33.0.5[/I]



1/ Création des dossiers nécessaire​

Sur le NAS, nous allons devoir créer un dossier nextcloud contenant un dossier mariadb et config.

Pour ce tuto, je me place dans le dossier partagé par défaut /Container. Depuis File Station, je vais donc créer un dossier nextcloud, avec dedans un dossier mariadb et un dossier config :
1782201079096.png

Aussi, il nous faut un dossier ou stocker les "données" contenu dans le Nextcloud. Pour ma part je fais le choix d'un dossier partagé dédié, que j'ai donc créer via QTS ( Panneau de configuration > Utilisateurs > Dossiers partagés )

Je le nomme "Data_NC" :
1782201540161.png

2/ Création des conteneurs​

Dans la fenêtre de création d'application de Container Station :

- Indiquer le nom de l'application ( au choix ), dans mon cas j'indique "nextcloud".
- et on copier/colle le code YALM :

YAML:
services:
  nextcloud:
    image: lscr.io/linuxserver/nextcloud:version-33.0.5
    container_name: nextcloud
    depends_on:
      - mariadb
      - cache
    environment:
      - PUID=1000
      - PGID=100
      - TZ=Europe/Paris
    volumes:
      - /share/Container/nextcloud/config:/config
      - /share/Data_NC:/data
    ports:
      - 8484:443
    restart: unless-stopped
    ulimits:
      nproc: 655350
      nofile:
        soft: 200000
        hard: 400000
    healthcheck:
     test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider https://cloud.evoluzione.fr || exit 1"]
     start_period: 15s
     interval: 90s
     timeout: 10s
     retries: 3
 
  mariadb:
    image: lscr.io/linuxserver/mariadb:latest
    container_name: nextcloud-mariadb
    environment:
      - PUID=1000
      - PGID=100
      - TZ=Europe/Paris
      - MYSQL_ROOT_PASSWORD=SUPERPASSROOT
      - MYSQL_DATABASE=nextcloud_
      - MYSQL_USER=USER
      - MYSQL_PASSWORD=SUPERPASSUSER
    volumes:
      - /share/Container/nextcloud/mariadb:/config
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
      start_period: 15s
      interval: 90s
      timeout: 10s
      retries: 3

  cache:
    container_name: nextcloud-redis
    image: redis:8-alpine
    restart: unless-stopped
    command: redis-server --save 20 1 --loglevel warning --requirepass 4QFTV33aatYrFnz5tGFEDgxr6knYU3ym
    volumes:
      - redis_cache:/data
    healthcheck:
      test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ]
 
volumes:
  onlyoffice_dblib:
  onlyoffice_dbrabbitmq:
  onlyoffice_dbredis:
  onlyoffice_db:
  redis_cache:

Ce que vous devez modifier :
- MYSQL_ROOT_PASSWORD
- MYSQL_USER ( a deux endroits )
- SUPERPASSUSER ( a deux endroits )
- PUID ( a deux endroits )

Une fois correctement adapté, vous cliquez sur Créer pour lancer la création du conteneur :

1782201915824.png


1782202098955.png

Et on attend !

Une fois fini, il est en vert dans la liste des Conteneurs, il se peut qu'il y ait besoin d'attendre encore un peu avant de pouvoir accéder à l'interface :) Le 1er lancement peut prendre un peu de temps. ( Cela a bien pris 5 bonnes minutes chez moi ).

3/ Accès à Nextcloud et 1ère configuration​


Depuis votre navigateur, il vous suffit maintenant de taper l'adresse ip de votre NAS suivi du port 8484 pour se connecter a l'interface Web de Nextcloud. ( attention en HTTPS )
Exemple : Si l'ip de votre NAS est 192.168.1.170 alors l'adresse est https://192.168.1.170:8484

1782202267450.png


1782202414280.png

Puis on clique sur "Installer"
Cela peut prendre quelques minutes.

Il est meme possible d'avoir un "504 Gateway Time-out" , dasn ce cas, attendez 2/3min et actualisé la page pour voir si l'installation est terminée.

1782202536524.png

1782202567100.png

Tuto encore en construction ^^'

Reste a faire : détailler un peu plus les étapes, rajouter une section sur l'activation de redis

2026-06-23 - Création
 
Dernière édition: