Service - storage - Nextcloud
Return to matrix-server-guide
Nextcloud AIO is inspired by projects like Portainer that directly manage the docker daemon by talking to it through the docker socket. This concept allows a user to install only one container with a single command that does the heavy lifting of creating and managing all containers needed to provide a Nextcloud installation with most features included. It also makes updating a breeze and is no longer bound to the host system (and its slow updates), as everything is in containers. Additionally, it is straightforward to handle from a user perspective because a simple interface for managing your Nextcloud AIO installation is provided.
For Usage see Usage - Nextcloud
Server Set Up
Create an Instance
!Cloud Instance Setup#Azure
Allow additional inbound ports
3478, 8080,
SSH In to Server
Mount Storage persistently
!Linux Server Storage
Set up a Server for Docker
!Linux Server Initial Setup#With Docker
Set up Git Repo for Nextcloud All In One
<syntaxhighlight lang="bash">cd $HOME git clone https://github.com/nextcloud/all-in-one.git cd $HOME/all-in-one #This is the nextcloud AIO repo directory mv compose.yaml compose.yaml.bk touch compose.yaml</syntaxhighlight>
- Set up Nextcloud compose.yaml
version: "3.8" volumes: nextcloud_aio_mastercontainer: name: nextcloud_aio_mastercontainer services: nextcloud: image: nextcloud/all-in-one:latest restart: always container_name: nextcloud-aio-mastercontainer volumes: - nextcloud_aio_mastercontainer:/mnt/docker-aio-config - /var/run/docker.sock:/var/run/docker.sock:ro ports: - 8080:8080 networks: - nextcloud_network environment: # Reverse Proxy settings - APACHE_PORT=11000 - APACHE_IP_BINDING=127.0.0.1 - NEXTCLOUD_DATADIR="/home/user/ncdata" - NEXTCLOUD_UPLOAD_LIMIT=50G - NEXTCLOUD_MEMORY_LIMIT=512M - TALK_PORT=3478 - SKIP_DOMAIN_VALIDATION=true
- Start up compose as a service from the git repository directory
<syntaxhighlight lang="shell">cd $HOME/all-in-one #This is the nextcloud AIO repo directory sudo docker-compose up -d</syntaxhighlight>
- Web Setup: Wait a few minutes (approx. 3-7 minutes) and go to the ip address port 8080 and prepare to wait several minutes as you set up the containers
- Login with provided password “Open Nextcloud AIO Login.”
- Define Domain
- Install the latest Nextcloud
- Install additional add-ons
- Setup Cloudflared
- !Reverse Proxy - Cloudflared
- On Cloudflareset up a tunnel using http://localhost:11000 and whatever domain or subdomain you need
- Go to the Cloudflare established domain on a browser. e.g., https://nextcloud.example.com
- Username and Password will be at the top of the Mastercontainer page
Ports Explained
Inbound Rules:
The following ports need to be open for incoming connections:
Port 8080/TCP: This is used to access the Mastercontainer Interface internally. Port 80/TCP: This is used for HTTP redirection to Nextcloud and ACME HTTP-challenge for certificate retrieval for the Mastercontainer. Port 8443/TCP: This is used for secure access to the Mastercontainer Interface when a valid certificate is in place. Port 443/TCP: This port is used by the Apache container for secure HTTP (HTTPS) traffic. Port 443/UDP: This port is used by the Apache container for HTTP/3 traffic, if you want to enable it. Port 3478/TCP and 3478/UDP: These ports are used by the Talk container’s TURN server.