Skip to main content

NextCloud AIO

NextCloud All-In-One is an easy way to install and maintain NextCloud, including many useful plugins. Actually, it is "the official Nextcloud installation method".

However it requires to be installed on its own server, with no other docker containers installed on it. So, we will create a new incus container in order to install it.

warning

The self-hosted version of AIO has a limit of 100 users.

However this may be fine for a personal installation, or a small organization.

1. Create a container

We can create a new container with the script create-container.sh that we have seen before:

#wget https://linux-cli.fs.al/apps/part6/create-container.sh
#chmod +x create-container.sh

./create-container.sh nc 10.31.96.204
incus ls

2. Forward HTTP ports

cd /var/ds/sniproxy/
nano etc/sniproxy.conf

Let's add these lines to the table:

    # container: nc
nc-aio\.user1\.fs\.al 10.31.96.204

Then restart it:

ds restart

3. Install AIO

  1. Start the master container:

    incus shell nc

    docker run \
    --init \
    --sig-proxy=false \
    --name nextcloud-aio-mastercontainer \
    --restart always \
    --publish 80:80 \
    --publish 8080:8080 \
    --publish 8443:8443 \
    --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
    --volume /var/run/docker.sock:/var/run/docker.sock:ro \
    --env SKIP_DOMAIN_VALIDATION=true \
    ghcr.io/nextcloud-releases/all-in-one:latest
  2. Make sure that Xpra is installed on the host, as described here.

  3. Start a browser on the host, using Xpra:

    xpra --ssh="ssh" start ssh:srv1:200 --start=tilix
    chromium --no-sandbox
  4. Open the admin web interface of NC-AIO: https://10.31.96.204:8080/

  5. Finally open: https://nc-aio.user1.fs.al/

4. Forwarding ports

Some NC apps may need some ports to be forwarded to the container, for example Talk needs the port 3478, tcp and udp. We can do it as before.