Running The AIO Container
If you do not have a reverse proxy, run the command in Step 3 here.
If you have a reverse proxy and have set it up, run the command here. Additionally, if your reverse proxy is on the same device as the Nextcloud AIO installation, change --env APACHE_IP_BINDING=0.0.0.0 to --env APACHE_IP_BINDING=127.0.0.1. This step slightly improves security, but it is not critical, so I recommend skipping this step if you are unsure.
Installing Nextcloud Via The AIO Interface
Open the AIO interface at https://<ip-address-of-server>:8080 in the web browser. The IP address is 127.0.0.1 if you ran the docker image on the same computer as the browser. If you have SSHed into a computer to run the docker image, that IP address is the one to use here.
It will show you a passphrase to log in to the AIO interface. Note it down because it will not be shown again, and then log in.
Ensure that the domain name you have picked for the server is pointing to this machine, and then enter it in the text box that asks for the host domain.
It will then take you to a configuration page to select the containers to install:
- Collabora lets you edit documents in the browser, much like Google Docs
- Full text search lets you search file content
- Docker socket proxy is needed for some plugins like self-hosted LLMs, but it makes your Nextcloud container vulnerable to attackers that gain access to other containers
Set the timezone and choose any community containers you want (I picked none), save your changes and have it start downloading.
It took me 15 minutes to download, and a further 10 minutes to install everything and have a Nextcloud server up and running. When everything is ready, it will give you an initial username and password to log in with.
I recommend having an admin account separate from the account you will use to store your files. I also recommend using the provided credentials to create a new admin account, logging in to the new account and deleting the old one. This can be done by clicking the profile picture in the top right and going to Administration Settings > Users. Make sure to include the new admin user in the Admin group.
Next, use the new admin account to add user accounts for everyone who will be using the server. You can then log in with your freshly created account and enjoy!
Note that the first login with a new account takes some time - I believe it initializes the new user's data at first login rather than at account creation.
You can also use the admin account to check out plugins, called "Apps", to install. For example, Nextcloud Notes is a note-taking app with a mobile app to go with it.
Pros And Cons Of AIO Installation
There is a limit on the number of users that can be registered with a single Nextcloud AIO installation - 100 users. If you ever find yourself exceeding this limit, you can just install another instance, either on the same computer or on a different one. Nextcloud servers are able to talk to one another and users on one server can collaborate with users on another.
Backups are hard to take, with AIO setting up a Docker volume, and I will be writing a tutorial when I figure it out myself.
Make sure that your docker data directory is not on an SD card, as SD cards are not suited for lots of write operations.
One massive advantage of this AIO installation is the automated Collabora server installation - I struggled with this when I was using the Snap version and it wasn't reliable.
Starting And Stopping Containers
From your admin account, go to Adminstration Settings -> Open Nextcloud AIO Interface -> Stop Containers, then stop the AIO container with a Docker command.
You can restart the AIO container with the Docker command, open it as above, and restart the rest of the containers.