Part 2: Installing Nextcloud on TrueNAS SCALE
This is part 2 of a series on building a home server. Part 1 covers installing TrueNAS SCALE from scratch. This post assumes you have a working TrueNAS system with at least one storage pool configured.
What is Nextcloud?
Nextcloud is a self-hosted cloud platform: file sync and sharing, calendars, contacts, document editing, and more — all running on hardware you control. Think Google Drive and Google Photos combined, but your data never leaves your home.
In TrueNAS SCALE, Nextcloud runs as a Docker-based app from the official TrueNAS catalog. You don't need to touch the command line; the web UI handles everything.
Before you start: create a dataset for Nextcloud data
TrueNAS uses datasets — ZFS-managed directories with their own settings — to organise data. It's good practice to give Nextcloud its own dataset rather than dumping its files into a generic location. This makes snapshots, permissions, and future migrations much cleaner.
Go to Storage in the left sidebar → Create Dataset.
Give it a sensible name, like nextcloud-data. Leave the other settings at their defaults unless you have specific requirements (compression is on by default and works well).
Why a dedicated dataset? Because ZFS snapshots apply per-dataset. Snapshotting just your Nextcloud data separately from other things is more efficient and flexible.
Note the full path to this dataset — you'll need it when configuring the app. It will look something like /mnt/tank/nextcloud-data.
Step 1: Open the Apps catalog
In the TrueNAS web UI, click Apps in the left sidebar, then click Discover Apps. You'll see the full catalog of available applications.
Search for Nextcloud and click on it.
Step 2: Configure the app
Click Install on the Nextcloud page. The configuration form has several sections — here's what matters:
Application Name
Leave as nextcloud unless you have a reason to change it.
Nextcloud Configuration
- Admin Username / Admin Password: Set a strong admin password here. This is the Nextcloud admin account, separate from your TrueNAS login.
- Admin Email: Used for Nextcloud notifications.
Storage Configuration — Host Path This is where you connect the dataset you created to the Nextcloud container.
- Under Nextcloud Data Storage, change the type to Host Path
- Set the path to your dataset:
/mnt/tank/nextcloud-data(adjust to match yours)
Why Host Path instead of the default? The default stores data inside TrueNAS's internal app storage, which is harder to snapshot independently or access directly. Using a Host Path puts your files in a proper ZFS dataset where you have full control.
Network
The default port for Nextcloud's web interface is 30027. You can change this if it conflicts with something else. Make a note of it — you'll use it to access Nextcloud.
Leave the remaining settings at their defaults unless you know you need something specific.
Step 3: Install and wait
Click Install at the bottom of the form. TrueNAS will pull the Nextcloud Docker image and start the container. This can take a few minutes the first time depending on your internet connection.
Once the app status shows Running on the Apps → Installed screen, you're ready.
Step 4: Access Nextcloud
Open a browser and navigate to:
http://<your-truenas-ip>:30027
Log in with the admin credentials you set during installation.
The first login takes a moment while Nextcloud finishes its internal setup. You'll land on the Nextcloud dashboard.
Step 5: A few things to configure immediately
Create a regular user account. The admin account should stay for administration only. Go to the top-right menu → Users → New User and create an account for your day-to-day use.
Install the desktop sync client. Nextcloud's sync client is available for Windows, macOS, and Linux at nextcloud.com/install. Point it at your TrueNAS IP and port, log in with your user account, and your files will sync to and from your home server automatically.
Install the mobile app. Available on iOS and Android. Same process — point it at your server address.
Optional: setting a trusted domain
If you try to access Nextcloud from a different hostname or IP (for example, via a domain name or over a VPN), you may see a warning about untrusted domains. This is a security feature.
You can add trusted domains via Apps → Nextcloud → Edit. Look for the Nextcloud Host or trusted domains setting and add your domain or alternative IP.
Snapshots: protect your data automatically
One of the best features of running Nextcloud on ZFS is automatic snapshotting. Go to Data Protection → Periodic Snapshot Tasks in TrueNAS and create a task for your nextcloud-data dataset.
A sensible schedule: hourly snapshots kept for 24 hours, daily snapshots kept for 30 days. This means if you accidentally delete a file, you can restore it from a snapshot without any drama.
What you have now
A private cloud file storage server that:
- Syncs files across all your devices
- Lives entirely on your own hardware
- Gets snapshotted automatically by ZFS
- Can be accessed via browser, desktop client, or mobile app
Next up, we'll add Immich — a self-hosted Google Photos replacement that backs up your phone's camera roll automatically.