Both TrueNAS SCALE and Ubuntu are good options for running Nextcloud, but the best choice depends on your needs and environment. Here's a comparison:
TrueNAS SCALE
✅ Best for: If you already have a TrueNAS SCALE setup and want an easy-to-manage storage solution.
Easy Deployment: Nextcloud can be installed as an app/container via TrueCharts or manually in a Docker container.
ZFS Storage Integration: TrueNAS is built around ZFS, providing excellent data protection and snapshots.
Web UI Management: Easier for non-Linux users with a built-in GUI for app management.
Efficient Storage Usage: If you plan to store large amounts of data, TrueNAS is optimized for this.
Automatic Backups & Snapshots: Built-in ZFS snapshots and backup options.
⚠️ Downsides
Limited customization compared to a full Linux server.
Containerized Nextcloud might have some configuration restrictions.
Fewer community resources for troubleshooting compared to Ubuntu.
---
Ubuntu
✅ Best for: If you need more flexibility, control, and customization over your Nextcloud setup.
Full Control: You can install Nextcloud via LAMP stack, Snap, Docker, or using Nextcloud All-in-One (AIO).
More Community Support: Easier to find guides, fixes, and updates.
Better for Advanced Users: If you want to tweak performance settings, install additional services, or optimize caching.
Supports External Storage Easily: Can integrate with ZFS, Btrfs, or traditional storage solutions.
⚠️ Downsides
Requires manual setup of Apache/Nginx, MySQL/MariaDB, PHP, Redis, and SSL.
No built-in storage management like TrueNAS (but you can use ZFS separately).
Need to handle backups and updates manually.
---
Final Recommendation
If you already have a TrueNAS SCALE server, it's easier to run Nextcloud there.
If you want full flexibility and plan to run Nextcloud as a central part of your system, Ubuntu is a better choice.
For a balance of both, you could install Ubuntu as a VM on TrueNAS SCALE and set up Nextcloud inside it. That way, you get the power of ZFS storage with full control over Nextcloud.
Installing Ubuntu as a VM on TrueNAS SCALE is a great way to have full control over Nextcloud while benefiting from TrueNAS's powerful ZFS storage. Here’s a step-by-step guide:
---
Step 1: Prepare TrueNAS SCALE for VM Creation
1. Log in to TrueNAS SCALE via your web browser.
2. Go to "Virtualization" → Click "Add"
3. Ensure Virtualization is Enabled in TrueNAS SCALE settings if needed.
---
Step 2: Download Ubuntu ISO
1. Visit: Ubuntu Official Site
2. Download the Ubuntu Server ISO (recommended for a lightweight installation).
3. Upload the ISO to TrueNAS:
Go to "Storage" → "Datasets" → Create a Dataset for ISOs.
Go to "Virtualization" → "ISO Images" → "Upload"
Select and upload the downloaded Ubuntu ISO.
---
Step 3: Create a VM in TrueNAS SCALE
1. Go to "Virtualization" → Click "Add"
2. Enter VM Name (e.g., Ubuntu-Nextcloud).
3. Set Resources:
CPU: At least 2 cores (4+ recommended).
RAM: 4GB minimum, 8GB+ recommended for Nextcloud.
Boot Method: UEFI.
4. Select Install Media:
Choose the Ubuntu ISO you uploaded earlier.
5. Create Storage (Virtual Disk):
Add a virtual disk (e.g., 50GB+ for Ubuntu, more if needed for Nextcloud).
Set it to VirtIO for better performance.
6. Networking:
Set NIC Type to VirtIO (recommended for better performance).
Ensure it connects to your network (e.g., Bridged Mode to get an IP on your LAN).
7. Confirm and Start the VM.
---
Step 4: Install Ubuntu
1. Open the VM console in TrueNAS and start the VM.
2. Follow the Ubuntu installation steps:
Select Language & Keyboard.
Choose "Install Ubuntu Server".
Select disk (use the entire virtual disk).
Configure a username/password.
Enable OpenSSH Server (optional, but recommended).
Let the installation complete.
3. Reboot the VM after installation and remove the ISO from boot options.
---
Step 5: Install Nextcloud on Ubuntu VM
Once Ubuntu is installed, you can set up Nextcloud using one of these methods:
1. Manual Install (LAMP Stack)
sudo apt update && sudo apt upgrade -y
sudo apt install apache2 mariadb-server php php-cli php-mysql php-gd php-curl php-mbstring php-xml php-zip unzip -y
Then install Nextcloud manually (Guide).
2. Nextcloud AIO (All-in-One, Docker-Based)
sudo apt install docker.io -y
sudo docker run -d --name nextcloud-aio-mastercontainer --restart always -p 8080:8080 -v nextcloud_aio:/mnt/docker_aio nextcloud/all-in-one:latest
Then visit http://<your-vm-ip>:8080 to configure.
3. Nextcloud Snap (Easy Install)
sudo snap install nextcloud
(Easiest but less flexible).
---
Final Steps
Set up external storage in Nextcloud (e.g., mount a TrueNAS dataset).
Enable SSL (Let's Encrypt or self-signed) for security.
Configure backups (TrueNAS snapshots, Nextcloud backup plugins).
Now, your Nextcloud on Ubuntu VM in TrueNAS SCALE is ready! Let me know if you need more details.