ads

Latest Update

recent

Latest Update

random

TrueNAS Home Server

Homelab case study · August 2025

Building a TrueNAS Home Server on a UGREEN DXP2800

Replacing the appliance’s factory software with TrueNAS SCALE to create a self-hosted storage and application platform for file services, backups, media, containers, and remote access under my own administration.

Platform UGREEN DXP2800 · TrueNAS SCALE
Primary use Storage · Backups · Containers · Media
Remote access Cloudflare Tunnel
Environment Personal homelab
TrueNAS home server on UGREEN DXP2800
Self-hosted Storage and application services under local administration
5 core services Media, photos, inventory, tunnel access, and password-related workloads
No inbound ports Remote access designed around Cloudflare Tunnel rather than direct port exposure
01 · Project overview

A home server built for learning, control, and practical self-hosting.

This project started from a simple objective: use the UGREEN DXP2800 as a general-purpose homelab and storage platform rather than relying only on the appliance’s original software. Moving to TrueNAS SCALE gave me a familiar storage model, dataset-level control, application hosting, and a platform I could extend as my lab evolved.

The system was designed to support media streaming, file storage, backups, containerized applications, and secure remote access. More importantly, it became a practical environment for testing services before introducing similar concepts elsewhere.

This article documents my own homelab implementation. BIOS options, boot behavior, firmware, and appliance capabilities can vary between hardware revisions and software versions, so device-specific steps should always be verified before making changes.
02 · Hardware

Compact hardware with enough headroom for a multi-service lab.

ModelUGREEN DXP2800
ProcessorIntel N100
Memory16 GB DDR5
Boot / SSD1 TB SSD
Data storage2 TB Seagate HDD + 1 TB WD Blue HDD
NetworkGigabit LAN
03 · Installation

Preparing the appliance for TrueNAS SCALE.

The installation required changing the appliance boot behavior so TrueNAS could be installed and used as the primary operating environment. On my unit, BIOS access was available during boot and the original watchdog/boot behavior needed adjustment before the installation was reliable.

01
Prepare installation media.

Write the TrueNAS SCALE ISO to a USB drive using a tool such as balenaEtcher.

02
Enter the appliance BIOS.

On my DXP2800, the BIOS was accessible during startup using the keyboard shortcut available on that unit.

03
Adjust boot and watchdog behavior.

I disabled the appliance behavior that interfered with booting and running TrueNAS reliably.

04
Install TrueNAS SCALE.

Boot from USB, select the intended system disk, complete the installation, and reboot into TrueNAS.

05
Complete web-based configuration.

After the system received an address on the LAN, the remaining configuration was completed through the TrueNAS web interface.

04 · Storage design

Datasets separate applications, backups, and media.

The primary pool is named mainpool. Rather than placing every workload into one directory, I separated application configuration, stacks, backups, and media into distinct datasets so permissions and backup behavior could be handled independently.

Dataset layout

Applicationsdockge/config/snipeit
Compose stacksdockge/stacks
Backupsbackups
Mediamedia

Permissions model

OwnershipUID/GID 1000:1000 where required
Mode775 where appropriate
GoalPredictable container access
Permissions should be set according to the application and dataset ownership model in use. `chmod 775` and UID/GID 1000:1000 were choices used in parts of this lab, not a universal recommendation for every TrueNAS deployment.
05 · Applications

The server became a small platform rather than a single-purpose NAS.

01
Jellyfin

Local media streaming from storage hosted on the TrueNAS system.

Media
02
Immich

Self-hosted photo and media management.

Photos · Media
03
Snipe-IT

Asset-management application used for inventory testing and homelab workflows.

Asset Management
04
Cloudflare Tunnel

Outbound tunnel used to provide selected remote access without exposing service ports directly on the router.

Remote Access
05
Wardenvault

A self-hosted service included in the lab application stack.

Self-hosted Application

Applications were deployed using the mechanisms available in the TrueNAS environment and, where appropriate, Docker Compose-style stack definitions. Persistent data was mapped to dedicated datasets instead of being left inside ephemeral container storage.

06 · Networking and remote access

Local-first administration with selective remote access.

Administration is performed primarily over the local network. For remote access, the design uses an outbound Cloudflare Tunnel rather than forwarding application ports directly from the internet to the NAS.

LAN └── UGREEN DXP2800 / TrueNAS SCALE ├── Storage datasets ├── Jellyfin ├── Immich ├── Snipe-IT ├── Wardenvault └── Cloudflare Tunnel └── Selected remotely accessible services
I no longer recommend publishing a private NAS administration address in a public case study. The architecture is the useful part; administrative endpoints should remain private unless there is a specific reason to expose them.
07 · Backup and monitoring

The NAS still needs its own recovery plan.

Local storage is not the same thing as backup. The lab uses snapshots and external-copy workflows so application configuration and important datasets are not dependent on a single storage device.

Snapshots Used for point-in-time recovery of supported datasets.
External copy Selected data is copied to an external drive using rsync-based workflows.
Application backups Configuration and persistent application data are stored under dedicated datasets and included in backup routines.
Monitoring TrueNAS dashboard and system health indicators are used for routine monitoring.
08 · Challenges

The troubleshooting work became part of the value of the lab.

Problem Snipe-IT returned HTTP 500 errors.

The application stack was running but database authentication was not aligned with the configured application credentials.

Resolution Correct the database connection configuration.

After validating the MySQL credentials and application environment values, the service became available normally.

Problem Containers could not consistently access mapped datasets.

Dataset ownership and permissions did not match the user/group expected by the application containers.

Resolution Align ownership and permissions with the application runtime.

UID/GID ownership and file modes were adjusted for the affected datasets so persistent volumes could be accessed correctly.

Problem Cloudflare Tunnel configuration failed.

The tunnel process was present, but the configuration file did not describe the intended ingress routes correctly.

Resolution Correct the YAML structure and route definitions.

After fixing the tunnel configuration, the selected services were reachable through the intended hostnames.

09 · Access and security

Reduce unnecessary exposure and keep administration deliberate.

SSH Key-based authentication used for administrative access where SSH is required.
Inbound exposure No direct application port-forwarding was required for the documented remote-access design.
Remote access Selected services use Cloudflare Tunnel rather than exposing the NAS management interface directly.
Updates Updates are reviewed periodically rather than installed blindly; important services are backed up before significant changes.
10 · Next steps

A homelab is useful because it can keep evolving.

Future expansion is less about adding applications for their own sake and more about using the server as a safe place to test infrastructure patterns. Candidate workloads include DNS filtering, home automation, and lightweight virtual machines where the hardware capacity and operational value make sense.

Potential additions

DNSPi-hole or equivalent
AutomationHome Assistant
ComputeLightweight VMs

Design priority

FirstStability
SecondRecoverability
ThirdUseful experimentation

No comments:

Please Don't Spam Comment Box !!!!

All Rights Reserved by Bikram Bhujel © 2019 - 2030
Powered By Bikram Bhujel, Designed by Bikram Bhujel
Powered by Blogger.