Skip to content

Nextcloud

Nextcloud file syncing service is installed on the Nextcloud VM.

Installation

The installation follows the official guide. 4 cores and 4 GB RAM are the minimum requirements.

Guest OS preparation

Note: make sure a share has been created in QNAS with the name Seafile and a seafile user.

Install SMB:

sudo apt-get update
sudo apt-get install cifs-utils

Configure the share:

sudo mkdir /mnt/qnas-seafile

Create an entry in /etc/fstab:

//192.168.1.12/Seafile /mnt/qnas/seafile cifs username=your_username,password=your_password,iocharset=utf8,vers=3.0 0 0

Docker compose setup

Download the latest docker-compose.yaml (URL might change with newer versions):

mkdir seafile && cd seafile
wget -O "docker-compose.yaml" "https://manual.seafile.com/11.0/docker/docker-compose/ce/11.0/docker-compose.yml"

Update the compose file as needed: move secrets into an .env file, update the directory paths, switch the main port to 3333.

Start up the container and watch for error messages:

docker compose up

The initial startup creates the necessary files and database tables. However, since not everything is ready from the get-go, some post installation steps are necessary.

Enabling non-root process

Source: https://manual.seafile.com/latest/docker/deploy_seafile_with_docker/#run-seafile-as-non-root-user-inside-docker

Prepare non-root permissions: uncomment or add the environment flag - NON_ROOT=true in docker-compose.yaml.

Then update the permissions:

sudo chmod -R a+rwx $PWD/sf-data/seafile/

Recreate the container:

docker compose down
docker compose up -d

Post Installation Tasks

Go to http://nextcloud:8888 and create a nextcloud admin password.