Skip to main content

Installing NextCloud on CasaOS

The method used here uses 2 containers for setup. The first container is the official NextCloud Cocker container. The second container is the official MariaDB container, but, because of some issues with the :latest tag at the time of writing, we're going to use the :10.5 tag.

You're going to need to download the nextcloud.json and ncdb.json files attached to this article.

Please review these .json files before you do anything with them so that you can see what they contain. Only use the files if you are comfortable with their contents.

To get started, you'll login to your CasaOS dashboard and then look for the "+ App" button on the right side of the screen.

Installing MariaDB

Click "+ App".

Click "Custom Install" at the bottom of the modal window that pops up.

In the new window, you're going to look at the top right for the "X" to close the window. DON'T click that. Instead, click the square with the arrow in it that is to the left of the "X".

A window titled "Import" will pop up and there will be 2 tabs. The first is "Docker CLI" and the other is "App File".

Click "App File".

Upload the ncdb.json file. This is the database that you're going to use for your NextCloud setup.

Click "Submit".

Next, you should see a screen that says, "AutoFill only helps you to complete most of the configuration." Click the botton to move to the next step.

If you are already using port 3306 on your setup, you can change the "Host" port from 3306 to something else.

You can change the "Host" volume to move the storage to wherever you want on your server.

Be sure to change the MYSQL_ROOT_PASSWORD and the MYSQL_PASSWORD to something other than password. The MYSQL_DATABASE and MYSQL_USER can stay as nextcloud if you want.

At this point you can either change other settings as you need or click the "Install" button at the bottom. 

Now you just need to wait for the container to deploy.

Installing NextCloud

Now that the database is installed, you can move onto installing the NextCloud app.

Click "+ App".

Click "Custom Install" at the bottom of the modal window that pops up.

In the new window, you're going to look at the top right for the "X" to close the window. DON'T click that. Instead, click the square with the arrow in it that is to the left of the "X".

A window titled "Import" will pop up and there will be 2 tabs. The first is "Docker CLI" and the other is "App File".

Click "App File".

Upload the nextcloud.json file. This is the NextCloud application that you're going to use for your NextCloud setup.

Click "Submit".

Next, you should see a screen that says, "AutoFill only helps you to complete most of the configuration." Click the botton to move to the next step.

If you are already using port 8181 on your setup, you can change the "Host" port from 8181 to something else.

You can change the "Host" volume to move the storage to wherever you want on your server.

If you changed any of the following on your database, be sure to match those settings in the Environment Variables on this page:

  • MYSQL_ROOT_PASSWORD
  • MYSQL_PASSWORD
  • MYSQL_DATABASE
  • MYSQL_USER

Change the MYSQL_HOST value to the IP of your server and make sure to leave the port on there as 3306 (unless you changed it in the database setup) so that it should look something like: 192.168.1.108:3306

Click "Install" and wait for the container to deploy.

Once the container has deployed, you can click the "NextCloud" icon on the dashboard and it should take you to a NextCloud screen that asks you to create an admin username and password.

Enter the credentials you want for the admin account and then tick or untick the box below based on whether or not you want to install the recommended apps. 

Click "Finish setup".

If everything goes well, you will NOT see any errors. There will be a spinning circle in the middle of the screen for a few moments and then you'll be taken to the welcome screen for NextCloud.

If you get an error, be sure to read what it says and correct any errors that it tells you that it has encountered and then try the setup again.