Nextcloud is a suite of client-server software for creating and using file hosting services. Nextcloud recently changed its name to Nextcloud Hub 26. It’s free and open-source which means that anyone is allowed to install and operate it on their own private server devices. In this step by step guide I will show you how to install Nextcloud Hub 26 on your Synology NAS using Docker

Step 1

Install container manager, If you have already installed the manager jump to step 3

Select Main menu or the Package Center shortcut

Step 2

Type in Container in the Search bar and Press enter on your keyboard. Then you will See Container manager like below. in my case i have installed the Container manager already. Select install, wait a few second and then select open.

Step 3

Now you have selected open you should see a screen like below and The Manager will say Running in green. Select open and move on to the next step.

Step 4

Now you will be Presented with the below. This is the Container manager over view of all your Containers and what’s happening in real time.

Step 5

Now We need to Create a Project for Nextcloud.

This project will do a number of things. download the image and setup the Project to Run all in one go.

Select project from the menu down the side and then select Create button

Step 6

before we go any thurther we need to ensure we have our folders setup ready for the project.

I have a main folder on the Synology system just for docker projects. create the following folders using filestation so my path for nextcloud will look like this

Ensure Lowercase for this(container manager is case sustentive)

  • config
  • custom_apps
  • data
  • db
  • html
  • redis
  • themes

Step 7

Now we need to add a TXT file for and name it my.cnf

in the file you will need to put the following

NEXTCLOUD_ROOT_PASSWORD=secure_root_password_123
NEXTCLOUD_DB_PASSWORD=secure_nextcloud_db_password_456
NPM_ROOT_PASSWORD=secure_npm_root_password_789
NPM_DB_PASSWORD=secure_npm_db_password_012

Remember to change the password sections.

Step 8

now we have created the folders needed for the project we can go ahead and create the project in Container manager

Give the project a name, change source to Create docker-compose.yml and add the path. Project name is all lower case.

See below for before and after the code you will need is below also.

the volume path needs tobe exact or the project will return a fail. like above i missed out projects folder so i got a error and had to trouble shoot.


services:
  mariadb:
    container_name: Nextcloud-DB
    image: mariadb:11.8-noble #LTS Long Time Support Until October 15, 2033.
    user: 1026:100
    security_opt:
      - no-new-privileges:false
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-read-only-compressed=OFF
    volumes:
      - /volume1/docker/nextcloud/db:/var/lib/mysql:rw
      - /volume1/docker/nextcloud/db:/etc/mysql/conf.d:rw
    environment:
      - MYSQL_ROOT_PASSWORD=rootpass
      - MYSQL_PASSWORD=password
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - TZ=Europe/London
    restart: on-failure:5
      
  redis:
    image: redis
    container_name: Nextcloud-REDIS
    hostname: nextcloudredis
    user: 1026:100
    healthcheck:
     test: ["CMD-SHELL", "redis-cli ping || exit 1"]
    volumes:
      - /volume1/docker/nextcloud/redis:/data:rw
    environment:
      TZ: Europe/London
    restart: on-failure:5
      
  nextcloud:
    container_name: Nextcloud
    ports:
      - 8082:80
    depends_on:
      mariadb:
       condition: service_started
      redis:
       condition: service_healthy
    environment:
      - REDIS_HOST=nextcloudredis
      - NEXTCLOUD_ADMIN_USER=13ear
      - NEXTCLOUD_ADMIN_PASSWORD=password10
      - NEXTCLOUD_TRUSTED_DOMAINS=nextcloud.yourname.synology.me 192.168.0.31
      - TRUSTED_PROXIES=192.168.0.31
      - OVERWRITEHOST=nextcloud.yourname.synology.me
      - OVERWRITEPROTOCOL=https
      - MYSQL_PASSWORD=password
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=mariadb
    healthcheck:
     test: curl -f http://localhost:80/ || exit 1
    volumes:
      - /volume1/docker/nextcloud/html:/var/www/html:rw
      - /volume1/docker/nextcloud/custom_apps:/var/www/html/custom_apps:rw
      - /volume1/docker/nextcloud/config:/var/www/html/config:rw
      - /volume1/docker/nextcloud/data:/var/www/html/data:rw
      - /volume1/docker/nextcloud/themes:/var/www/html/themes:rw
    image: nextcloud
    restart: on-failure:5
    
  cron:
   image: nextcloud:apache
   container_name: Nextcloud-CRON
   restart: always
   volumes:
     - /volume1/docker/nextcloud/config:/var/www/html/config:rw
     - /volume1/docker/nextcloud/html:/var/www/html:rw
     - /volume1/docker/nextcloud/custom_apps:/var/www/html/custom_apps:rw
     - /volume1/docker/nextcloud/data:/var/www/html/data:rw
   entrypoint: /cron.sh
   depends_on:
    mariadb:
       condition: service_started
    redis:
       condition: service_started

press next when you are happy with the code

Step 9

setup a web portal if you like . I would not advise it. and press next

Step 10

Thats it for this section, time to create the project.

Select Done

Step 11

If you have a Exit Code of 0 like i have below then you are done. project created. if you have a Exit code 1 you have a error and need to visit the code again and trouble shoot.

Step 12

One last thing you can check to see if the docker is Green and showing no Errors, todo that just goto Container manager and on the left select Projects and ntop will be there Status Colum should be green if not you will need to trouble shoot.

Step 13

I got this Error do to folder rights so we need to change a few things

Step 14

Stop the project

Step 15

right mouse button on nextcloud folder, Press properties

Step 16

Select everyone and then edit in the menu bar

Step 17

where you can see Write. select that. this will give your project Write access to the project.

step 18

Select done when you have selected it.

step 19

Now the permissions have changed next to Everyone.

and select apply to subfolders then save.

Step 20

now refresh the webbsite, Successs

Step 21

Create your account by filling in the details and hit install.

Install complete. enjoy why not look at some other add ons to this project below.

before you leave think of adding a tunnel to your nextcloud project.