Skip to main content

Nextcloud All-In-One

version: "3.8"

volumes:
 nextcloud_aio_mastercontainer:
   name: nextcloud_aio_mastercontainer
services:
 nextcloud:
   image: nextcloud/all-in-one:latest
   restart: unless-stopped
   container_name: nextcloud-aio-mastercontainer
   volumes:
     - nextcloud_aio_mastercontainer:/mnt/docker-aio-config
     - /var/run/docker.sock:/var/run/docker.sock:ro
   ports:
     - 8145:8080 # change the port on the left side if it's already in use on your host system.
   environment:
     - NEXTCLOUD_DATADIR=/srv/.../Nextcloud/
     - NEXTCLOUD_UPLOAD_LIMIT=500G #default 10G
     - NEXTCLOUD_MAX_TIME=360000 #default 3600
     - NEXTCLOUD_MEMORY_LIMIT=2048M #default 512
     - APACHE_PORT=11000  # change this port number if 11000 is already in use on your host system.

*How to change the default location of Nextcloud's Datadir

Go to your registrar and create a CName. Let's say ncaio.domain.ltd.
Create a proxy with this cname pointing to <your host machine IP>:11000

Nginx proxy manager must point to host machine and port 11000

Then go to https://<your host machine IP>:8080 (or the port you changed 8080 to in the compose file). Accept the risk.

Copy the very long password.

On the next page, paste the very long password.

On the next page, type in the domain into the input field that will be used for Nextcloud. Here it is ncaio.domain.ltd Select or unselect addons and fill in your timezone.

Then "Download and start containers. This will take a while. You can hit the reload button to check out how it's going.
BE PATIENT!  The next part will take anywhere from 5 to 25 or 30 minutes.

Now, we wait.  In the background, the Nextcloud Master Container is pulling down all of the images for each of the Nextcloud modules that will run.

Once you see the message that all containers are in a 'Running' state, you'll get a button to Open Nextcloud, and you'll be provided a username (usually admin) and a randomly generated, long strong password for your initial login.  Make sure to copy that password and use it to login to your Nextcloud install the first time.

Nextclouds config.php file is stored in the nextcloud_aio_nextcloud Docker volume and can be edited by following the config.php documentation.

You can run Nextcloud's usual occ commands by following the occ documentation.

Nextcloud's datadir is getting stored in the /srv/.../Nextcloud/ directory. See the NEXTCLOUD_DATADIR documentation on how to change this.

The Nextcloud container is confied and local external storage in Nextcloud is disabled. See the NEXTCLOUD_MOUNT documentation on how to change this.

Nextcloud has an upload limit of 10G configured (for public link uploads. Bigger uploads are always possible when users are logged in). See the NEXTCLOUD_UPLOAD_LIMIT documentation on how to change this.

For Nextcloud, a memory limit of 512M per PHP process is configured. See the NEXTCLOUD_MEMORY_LIMIT documentation on how to change this.

Nextcloud has a timeout of 3600 seconds configured (important for big file uploads). See the NEXTCLOUD_MAX_TIME documentation on how to change this.

The /dev/dri device which is needed for hardware transcoding is not attached to the Nextcloud container. See the NEXTCLOUD_ENABLE_DRI_DEVICE documentation on how to change this.

For further documentation on AIO, refer to this page. You can use the browser search [CTRL]+[F] to search through the documentation. Additional documentation can be found here.

Lost setup password ?
sudo cat /var/lib/docker/volumes/nextcloud_aio_mastercontainer/_data/data/configuration.json | grep password

Between two installs, don't forget to ERASE DOCKER VOLUMES

 

Commonly used addons:

Cospend
Polls
Camera RAW Previews
App order
Breeze dark