5 minute read.Last Modified 2023-11-30 10:15 EST
Community applications are created and maintained by members of the TrueNAS community. Similarly, community members actively maintain application articles in this section. Click Edit Page in the top right corner to propose changes to this article.
Nextcloud is a drop-in replacement for many popular cloud services, including file sharing, calendar, groupware and more. One of its more common uses for the home environment is serving as a media backup, and organizing and sharing service. This procedure demonstrates how to set up Nextcloud on TrueNAS SCALE, and configure it to support hosting a wider variety of media file previews, including High Efficiency Image Container (HEIC), MP4 and MOV files. The instructions in this article apply to SCALE 22.12.0 and later.
Before using SCALE to install the Nextcloud application you need to configure TrueNAS SCALE storage for Nextcloud application to use.
Verify the local administrator account has sudo permissions enabled.
Set up an account with Nextcloud if you don’t already have one.
In this procedure you:
Add the storage Nextcloud uses
Install the Nextcloud app in SCALE
Nextcloud needs a primary dataset for the application (nextcloud), and four datasets, one it uses for the primary data volume (data), a postgres data volume (db) and one as a postgres backup volume (dbbackup), and an one for extra mount path volume (opt).
SCALE Bluefin creates the ix-applications dataset in the pool you set as the application pool when you first go to the Apps screen. This dataset is internally managed so you cannot use this as the parent when you create the required Nextcloud datasets.
To create the Nextcloud datasets, go to Datasets, select the dataset you want to use as the parent dataset, then click Add Dataset to add a dataset. In this example, we create the Nextcloud datasets under the root parent dataset tank.
Enter nextcloud in Name, make any other setting changes you want to make, and click Save.
Next, select the nextcloud dataset, click Add Dataset to add the data child dataset. Enter data in Name, make any other setting changes you want to make for the dataset, and click Save.
Repeat this three more times to add the other three child datasets to the nextcloud non-root parent dataset. Add one named db, the next dbbackup, and then finally opt.
When finished you should have the nextcloud parent dataset with four child datasets under it. Our example paths are:
Go to Apps to open the Applications screen and then click on the Available Applications tab.
Set the pool SCALE applications use.
If you have not installed an application yet, SCALE opens the Choose a pool for Apps dialog. Select the pool where you created the Nextcloud datasets from the Pools dropdown list and then click Choose to set the pool for all applications.
After SCALE finishes configuring the system to use this pool, a confirmation dialog displays. Click Close
Locate the nextcloud widget and then click Install to open the Nextcloud configuration wizard.
Enter a name for the app in Application Name and then click Next. This example uses nextcloud.
Enter a user name and password to use as a Nextcloud login on the Nextcloud Configuration settings screen. For a basic installation you can leave the default values in all settings except Username and Password. This example uses admin as the user. TrueNAS populates Nextcloud host with the IP address for your server and Nextcloud data directory with the correct path. The checkbox for Install ffmpeg is not selected by default. If selected, the utility FFmpeg is automatically installed when the container starts.
TrueNAS populates the Node Port to use for Nextcloud field with the correct port number. To specify an optional Nextcloud environment name and value, click the Add button.
Enter the storage settings for each of the four datasets created for Nextcloud.
a. Enter or browse to the location where you created the nextcloud/data dataset in Host Path for Nextcloud Data Volume. This example uses the /mnt/tank/nextcloud/data path.
b. Click Add to display the Mount Path in Pod and Host Path fields. Enter the mount path in the Nextcloud container that you want to use in Mount Path in Pod. The example uses the same as the dataset path /opt. Enter or browse to the location where you created the nextcloud/opt dataset in Host Path. This example uses the /mnt/tank/nextcloud/opt path.
c. Select Enable Host Path for Postgres Data Volume, and then enter or browse to the nextcloud/db dataset location in Host Path for Postgres Data Volume.
d. Select Enable Host Path for Postgres Backup Volume, and then enter or browse to the nextcloud/dbbackup dataset location in the Host Path for Postgres Backup Volume.
Select Enable cronjobs for nextcloud on the CronJob configuration screen.
NextCloud cron jobs only run while the app is running. If you stop the app, the cron job(s) do not run until you start the app again.
For more information on formatting and using cron jobs, see Managing Cron Jobs.
Accept the remaining setting defaults on the Scaling/Upgrade Policy and Advanced DNS Settings screens.
Scroll up to review the configuration settings and fix any errors or Save to complete the installation.
Click on the Installed Applications tab to see the nextcloud widget.
When the nextcloud widget displays ACTIVE, click Web Portal to open the NextCloud sign in screen in a new browser window.