Tag: Docker on NAS

  • How I Actually Use a NAS Day to Day After the Setup Phase

    How I Actually Use a NAS Day to Day After the Setup Phase

    When people talk about NAS devices online, it usually falls into two extremes. Either everything is a shiny demo during the first week, or it turns into an over engineered home lab that barely resembles normal use.

    Both miss what actually matters long term.

    This post is about what ownership looks like after the excitement fades. When the NAS stops being a project and starts being part of daily life. What still runs, what quietly disappeared, and which decisions ended up saving time rather than creating more work.

    If you are trying to decide whether a NAS makes sense beyond the initial setup phase, this is the part that usually gets skipped.


    What runs 24 hours a day

    These are the services that stay on permanently because they deliver value without demanding attention.

    Automated backups (local first, cloud as insurance)

    Local backups are the foundation of my setup. Both my MacBook and my wife’s MacBook back up automatically to the NAS, and our iPhone photo libraries are included as well. Once configured, this becomes invisible. Devices back up when they are on the network, and there is nothing to remember or trigger manually.

    On top of that, I use Azure Blob Storage as an off site insurance layer, not as a requirement and not as something I would tell everyone to do.

    If you are running a four bay NAS with RAID and your data lives entirely at home, an off site backup is a nice to have rather than a must have. Local redundancy already covers most everyday failures. The cloud layer exists to protect against unlikely but high impact events such as theft, fire, or total hardware loss.

    In my case, I am storing roughly 3TB in the Cool tier with RA GRS enabled, meaning the data is replicated across regions. This currently costs around $65 to $70 per month, and the cost is dominated by geo replication, cool tier storage, and write operations.

    I have not had to restore from this backup yet, which is exactly how I want it to be. It exists purely for peace of mind rather than day to day recovery.

    The backups are handled using rclone, which gives me full control over scheduling, encryption, bandwidth usage, and retention policies. It also avoids vendor lock in. If I ever decide to move away from Azure, the tooling stays the same. I have a full breakdown of how this is set up in my rclone backup guide.


    Core Docker services

    A small number of Docker containers run continuously because they support everything else I rely on.

    Home Assistant is always running. It handles automations, device integrations, and state tracking quietly in the background. I rarely interact with it directly day to day, which is exactly the point. When automations are reliable, they disappear from your attention entirely.

    This pattern repeats across the setup. Anything that needs constant monitoring or manual intervention does not survive long term.


    What runs occasionally

    These are tasks that exist to maintain confidence in the system rather than provide convenience.

    Maintenance and administration

    I do not actively manage the NAS day to day, but I do check in periodically.

    This usually means:

    • Updating Docker containers when meaningful updates are released
    • Applying NAS firmware updates
    • Reviewing SMART data and disk health
    • Confirming backups are still completing as expected

    This happens infrequently, often weeks apart. The goal is not optimisation or performance tuning. It is reassurance. I want to know the system is still healthy and behaving as expected.

    Manual actions

    Some things are intentionally kept manual.

    I occasionally restore files from backups to confirm that restores actually work. This is not something I do often, but it matters. A backup that has never been tested is only theoretical protection.

    Container updates are another example. While critical updates are automated, some applications require manual updates or restarts. I prefer this balance. Automation handles the boring and predictable parts, while I stay in control of anything that could cause disruption.

    These interactions are rare, but deliberate. Over time, they build trust in the system rather than add ongoing work.


    What I am actively planning to add

    This is where the role of the NAS will expand beyond storage and background services.

    PoE security cameras

    I am preparing to move away from battery powered cameras and into a PoE based setup once UGREEN’s native cameras are available.

    At the moment, I use SwitchBot outdoor cameras. They are genuinely good cameras, but battery management is a constant friction point. I have already run USB power to some of them, and in one location that cable is far from ideal. It works, but it is not how I want fixed infrastructure to be installed.

    The plan is to introduce a dedicated PoE switch and run Ethernet to each camera location. CAT5e, CAT6, and even CAT7 will all work for PoE cameras. In practice, CAT6 offers a good balance of reliability, shielding, and future flexibility without chasing specifications that add little real world benefit. The priority here is consistency rather than speed.

    The appeal of the upcoming UGREEN cameras is not just PoE. Features like local AI processing, tight NAS integration, and removing subscription dependencies are exactly what I want. I have already covered those features in detail in my UGREEN SynCare AI Home Security NAS post.

    Once deployed, the NAS shifts from being storage and services into proper local surveillance infrastructure, with recordings kept on site and fully under my control.


    What I use it for beyond storage

    A family recipe web app

    One use case I did not originally plan for is hosting small, purpose built applications.

    I am currently building a simple web app to store and manage family recipes. Rather than paying for another subscription or relying on third party apps, it runs locally in Docker and does exactly what we need. No ads, no accounts, and no recurring costs.

    This is a good example of where a NAS quietly replaces paid services. The value is not complexity, but ownership and flexibility over time.

    Media streaming

    I originally used Plex for media streaming, but over time I moved to Jellyfin.

    Plex increasingly depends on user accounts, cloud services, and paid tiers. Pricing changes, features moving behind subscriptions, and past security incidents eventually made me uncomfortable with the direction of the platform.

    Jellyfin is fully self hosted. There is no account requirement, no cloud authentication, and no external dependency. Everything stays local. The trade off is less polish, but the benefit is full control.

    For my usage, that trade off is worth it. Media playback should not depend on an external service being online, a subscription remaining valid, or an account existing at all. Once everything is local, media becomes another background service rather than something that needs to be managed.


    Built in apps I still use

    While Docker handles most workloads, I do not avoid built in NAS features entirely.

    I actively use:

    • The UGREEN photo app for managing local photo libraries
    • The UGREEN UPS integration in the control panel for monitoring power events and safe shutdowns (US3000 UPS review)

    The difference is intent. I use built in apps where they add value and integrate tightly with the system, and Docker where flexibility matters more.


    What surprised me over time

    Stability changes how you think about performance

    I still care about performance, but I no longer obsess over it. The system has proven itself stable under real workloads, which means I spend less time watching metrics and more time trusting the platform.

    A NAS becomes background infrastructure

    Once configured properly, a NAS fades into the background. That is a good thing. It should feel closer to household infrastructure than a gadget you constantly interact with.

    Simplicity scales better than features

    The setups that lasted were the simple ones. Anything that added complexity without a clear benefit was eventually removed.


    Who this kind of setup is actually for

    This approach works well for people who want reliability first.

    If you enjoy constant tweaking, experimentation, and rebuilding, there is nothing wrong with that. Some people genuinely enjoy running a home lab as a hobby.

    For me, the NAS is not a hobby. It is infrastructure. I want it to work, recover gracefully when something goes wrong, and stay out of the way the rest of the time.


    When something goes wrong

    This is where the setup really earns its keep.

    Things do go wrong occasionally. Files get deleted by mistake. Power drops unexpectedly. A service stops behaving the way it should. The difference now is that these situations are no longer disruptive.

    If a file is deleted, it is a restore job, not a panic. If there is a power cut, the UPS handles shutdown cleanly and everything comes back up without intervention. If something looks off, I already know where to check and what a healthy system looks like.

    Even the worst case scenarios are planned for. Local backups cover day to day mistakes. Off site backups exist for events I hope never happen. Nothing relies on a single point of failure that would force me to scramble.

    That is the real outcome of this setup. Not that failures never happen, but that they stop being stressful when they do.


    Why this setup works long term

    Owning a NAS is not exciting long term, and that is exactly why it is worth having.

    Once the setup phase is over, it becomes dependable infrastructure. Files are protected locally, off site backups exist for worst case scenarios, automations run quietly, and services behave predictably.

    The goal was never to build the most complex setup possible. It was to build something that reduces friction over time.

    A setup like this saves more than money. It saves attention. Fewer batteries to charge, fewer subscriptions to track, fewer dashboards to check, and fewer decisions to revisit.

    That is the real value of a NAS once you stop treating it like a project and start treating it like infrastructure.

    If you’re thinking through a similar setup and want a second opinion, I’m always happy to talk it through!

  • How to Install Home Assistant on the UGREEN NASync Series Using Docker

    How to Install Home Assistant on the UGREEN NASync Series Using Docker

    Introduction

    After getting my UGREEN NASync DXP2800 set up, the next logical step was bringing my smart home devices under one roof.
    With its compact size, low power consumption, and full Docker support, the DXP2800 is a perfect hidden powerhouse for running Home Assistant.
    Rather than setting up another Raspberry Pi or a VM, I decided to run Home Assistant directly in Docker on the DXP2800 for a cleaner, more efficient setup.

    Quick Update:
    In my last post, I mentioned setting up lightweight apps like Pi-hole and Plex.
    After exploring it further, I decided to hold off on Plex for now — personally, I don’t need a media server since I’m not storing my own movies or shows.

    I’m planning to try setting up Pi-hole soon as a local DNS blocker. However, since I’m based in Japan, and local ISPs tend to lock down their routers pretty tightly, it might need a few extra workarounds. Either way, I’ll share how it goes — whether it’s a full setup guide or lessons learned trying to get it working.

    I also spent some time working on setting up an OpenVPN tunnel. The original plan was to host an OpenVPN server on Azure and route only my Fire Stick’s traffic through the VPN, without affecting the rest of my home network. After running into some technical hurdles, I decided to simplify things for now — I’m currently connecting my MacBook directly to the TV when needed, and planning to pick up an Apple TV 4K later to streamline streaming even further.

    As always, if you have questions, or there’s a specific setup you want to see covered, drop a comment below — happy to help!

    If you’re completely new to the UGREEN NASync series, you might want to check out my earlier post where I set up the NASync DXP2800 from scratch: Setting up the UGREEN NASync DXP2800 – A Beginner-Friendly Guide.

    Now that you know why Home Assistant is a great choice, let’s get it installed.


    Why Home Assistant?

    • Free, open-source smart home platform.
    • Supports thousands of integrations.
    • Centralises your entire smart home without cloud dependence.
    • Running it on the NAS keeps everything in one place and easy to manage.

    What You’ll Need

    • UGREEN NASync series unit
    • Docker installed (via App Center)
    • Bluetooth dongle (optional but recommended for Bluetooth devices)
    • I used the TP-Link UB500 — Bluetooth 5.0 and works flawlessly
    • Access to your NAS’s IP address and admin account

    Let’s move on to installing Home Assistant on your DXP2800.

    🖥️ The NAS used in this setup:

    💡 Need more bays?

    🧩 Bluetooth adapter I used for Home Assistant:

    These are affiliate links — if you decide to buy through them, it supports the blog at no extra cost to you. Thanks!


    Installing Home Assistant in Docker

    Option 1: Using the UGREEN NAS Interface (Recommended)

    UGREEN’s built-in Docker app makes container setup simple, even for beginners.

    Step 1: Install the Docker App

    • Open the App Center on your NAS.
    • Search for and install Docker.

    Step 2: Download the Home Assistant Image

    • Go to Docker > Image > Image Database.
    • Search for:
      homeassistant/home-assistant
    • Click Download to pull the image onto your NAS.

    Step 3: Create the Home Assistant Container

    • Go to Docker > Container > New Container.
    • Choose the homeassistant/home-assistant image you just downloaded from the Image Database.

    Configure the container:

    • Container Name: homeassistant
    • Network Mode: Host
    • Restart Policy: Always
    • Volume Mapping:
    • Host path: /docker/homeassistant/config (or your preferred location)

    Important: Enable Privileged Mode

    • When setting up the container, scroll down and tick Privileged Mode (this is essential if you want Bluetooth devices like SwitchBot to work).

    ✅ Once created, Home Assistant will launch and you can access it at:

    http://[NAS-IP]:8123

    If you prefer using command line for finer control, here’s how to set it up via SSH.


    Option 2: Installing via SSH (Optional / Advanced)

    Note:
    Depending on your NAS settings, you may need to prefix the following commands with sudo.
    For example, use sudo docker pull homeassistant/home-assistant instead of docker pull homeassistant/home-assistant.

    Prefer full control over your setup? Here’s how to do it manually via SSH.

    Step 1: SSH into Your NAS

    ssh [your-username]@[NAS-IP]

    Step 2: Pull the Home Assistant Image

    docker pull homeassistant/home-assistant

    Step 3: Run Home Assistant with Privileged Mode

    docker run -d \
      --name homeassistant \
      --privileged \
      --network host \
      --restart unless-stopped \
      -v /docker/homeassistant/config:/config \
      homeassistant/home-assistant

    ✅ Same result — Home Assistant running and Bluetooth-ready.


    Quick Comparison

    MethodBest ForProsCons
    NAS InterfaceBeginnersEasy, visual, no command line neededMight not suit users who want full CLI control
    SSH CLIAdvanced usersFull control, scripting flexibilityRequires SSH access and basic Docker knowledge

    Now that Home Assistant is installed and running, let’s move onto adding Bluetooth devices if you need them.


    Setting Up Bluetooth Devices like SwitchBot (Optional)

    If you want to control Bluetooth smart home devices, here’s how to set it up.

    Hardware Used:

    • Bluetooth Dongle: TP-Link UB500 (Bluetooth 5.0)

    How to Enable Bluetooth Support:

    1. Plug in the TP-Link UB500 to one of your NAS’s USB ports.
    2. Verify Bluetooth Detection:
      SSH into your NAS and run:
       lsusb

    Look for something like:

       Bus 002 Device 003: ID 2357:0604 TP-Link UB500 Adapter
    1. Home Assistant Detection:
    • Home Assistant should auto-detect the Bluetooth adapter after restarting.
    • You can then add integrations like SwitchBot easily.

    Pro Tip: If your NAS is tucked away in a cabinet or has weak Bluetooth range, using a short USB extension cable can dramatically improve signal reception.

    Adding SwitchBot Devices:

    • Go to Settings > Devices & Services.
    • Click + Add Integration, search for SwitchBot.
    • Follow the prompts to pair devices.

    First Steps After Installation

    Once Home Assistant was up and running, here’s what I did first:

    • Set up geofencing automations using the Home Assistant mobile app:
    • When I leave the house, my lights automatically turn off.
    • When I arrive home, certain lights turn on.
    • Created a few basic backups (snapshots) of my configuration, just in case anything went wrong.
    • Explored integrations like SwitchBot, lights, and sensors to start building out my smart home.

    Tip: Setting up a simple automation like geofencing is a great way to immediately see the power of Home Assistant in everyday life.


    Quick Troubleshooting Tips (Optional)

    If you run into small issues during setup:

    • Home Assistant can’t find Bluetooth devices?
      ➡️ Make sure Privileged Mode was enabled when creating the container, and confirm the Bluetooth dongle is detected with lsusb.
    • Can’t access Home Assistant web page?
      ➡️ Double-check the network mode was set to Host, and verify the container is running.

    Wrapping Up

    Running Home Assistant on the UGREEN NASync is a perfect way to centralise your smart home — simply and reliably. Thanks to Docker and a small Bluetooth dongle, I was able to control everything from Wi-Fi devices to SwitchBot sensors without needing multiple hubs or additional hardware.

    I’m planning to spend a bit more time exploring Home Assistant properly before posting anything detailed about it. No point rushing into features without understanding them fully.

    In the meantime, I’m looking at setting up a reliable NAS backup system — aiming to use Azure as a cloud destination to protect my data. If all goes well, I’ll share a simple guide on how to back up your NASync to Azure soon.

    As always, feel free to drop a comment if there’s something you’d like to see covered!

  • Setting Up the UGREEN NASync DXP2800: Step-by-Step Initial Configuration Guide

    Setting Up the UGREEN NASync DXP2800: Step-by-Step Initial Configuration Guide

    The UGREEN NASync DXP2800 is one of the most accessible NAS options for first-time users, and setting it up is refreshingly simple. In this post, I’ll walk you through the initial setup steps I took — from powering on to creating a storage pool — with commentary on RAID choices and a few tips I picked up along the way.


    What’s Included in the Box

    • UGREEN NASync DXP2800 unit
    • Power adapter
    • Ethernet cable
    • Screws (for 2.5″ drives)

    The NAS has the following ports:

    • 1x 2.5GbE LAN port (back)
    • 2x USB 3.2 Gen1 ports (back)
    • 1x USB-C 3.2 Gen1 port (front)
    • 2x USB 2.0 ports (back)
    • 1x HDMI (currently not in use)
    • Power button and reset button

    Make sure to connect the NAS using the included Ethernet cable for the most stable setup experience.

    Looking to pick up the NAS I used in this guide?

    💡 Need more bays? UGREEN also offers higher-capacity models:

    These are affiliate links — if you decide to buy through them, it supports the blog at no extra cost to you. Thanks for your support!


    Step 1: Power On and Detect the NAS

    Before you start, make sure your NAS is connected via Ethernet for the most reliable connection. It’s also worth checking for any available system updates once you’re in the dashboard — UGREEN recommends updating UGOS Pro early on to avoid compatibility issues, especially if you plan to use SSD caching or Docker later.

    As soon as the NAS is powered on and connected to your network, it appears in the UGREEN NAS app. It can take a few minutes for the device to be detected. However, if it doesn’t show up automatically, you can register it manually by scanning the QR code located on the bottom of the device.

    If it doesn’t appear straight away, you can scan the QR code on the bottom of the NAS to register it manually.

    Step 2: Name Your NAS & Accept Terms

    Once detected, the app prompts you to name your NAS and accept the standard user agreement and privacy terms.

    Give your device a unique name to help distinguish it on the network.

    Step 3: Register Your Email (Recommended)

    While you can skip this, I recommend linking your email for access to UGREENlink and system alerts.

    Registering your email enables remote access and alerts for any system issues.

    Step 4: Enable Remote Access

    I enabled UGREENlink, which gives you remote access to your NAS — useful if you want to monitor or transfer files while away.

    Remote access lets you securely manage your NAS from anywhere.
    UGREENlink remote access lets you securely manage your NAS over the internet. Your NAS name becomes your UGREENlink ID, which you can use from the web or mobile app.

    Step 5: Create Your Storage Pool

    Before you begin, ensure the NAS is powered off when inserting any drives. The DXP2800 uses a tool-less tray system for 3.5″ drives, which makes installation quick and simple. For M.2 SSDs, be cautious as they slot in internally and require careful handling.

    Here’s where you’ll select the drives you installed. I had two 7.2TB HDDs and two 1TB NVMe SSDs.

    You can mix drive types, but it’s best to separate HDDs and SSDs into different pools.

    I opted to configure my HDDs into a single RAID 1 array for redundancy. RAID 1 mirrors the data between the two drives, so if one fails, the other still has all your files. It’s not the most space-efficient, but it offers peace of mind.

    For the SSDs, I chose a Basic (non-RAID) setup for now — mainly because I plan to use them for apps or caching later. I didn’t see much benefit to mirroring them at this stage, especially since I’m not storing critical data there yet.

    RAID 1 for HDDs and a basic SSD pool gives a good mix of reliability and flexibility.

    Step 6: Format and Create Volume

    Once your storage pool is created, the next step is formatting the drives and setting up a volume. This is where you choose between Btrfs and ext4, the two available file systems.

    I chose Btrfs for my HDDs because it supports advanced features like snapshots, built-in data integrity checks, and efficient storage management — all of which are helpful if you’re storing lots of data or want more control over versioning and recovery. It’s especially useful in a home NAS setup where accidental deletion or corruption is a concern.

    For the SSD pool, I went with ext4. While it lacks the bells and whistles of Btrfs, it’s lighter on resources and has a long-standing reputation for reliability and performance. Since I’m planning to use the SSDs for running apps and temporary data, ext4’s speed and lower overhead made more sense.

    Here’s a quick breakdown:

    • Btrfs Pros: Snapshots, checksums, automatic error correction, efficient disk usage
    • Btrfs Cons: Slightly more system overhead, slower write performance than ext4 in some cases
    • ext4 Pros: Fast, low overhead, extremely stable
    • ext4 Cons: No native snapshots, no checksumming or automatic correction
    Btrfs is great for snapshots and folder-level protection. ext4 is a better fit for app containers or temporary storage.

    Before confirming, the system will warn you that all existing data on the drives will be erased.

    Once confirmed, your drives will be formatted and the volume created.

    Step 7: Review System Usage

    After setup, you’ll be shown a breakdown of how your drives are being used. In my case, the system reserved about 15.2GB on one of the SSDs — this includes operating system files and essential services needed to run UGOS Pro.

    This is completely normal, especially on Btrfs volumes where a bit more space is allocated for things like snapshots, metadata, and system overhead. You may also notice:

    • Slightly less available capacity than expected
    • Reserved space depending on your file system and RAID choice

    This screen is a great checkpoint to understand how your storage will behave moving forward:

    • Btrfs can accumulate snapshots and logs, so it’s worth checking the system status occasionally
    • SSDs used for apps (e.g. Docker) may fill quickly if large containers or image caches build up

    You can always check system usage later under the Storage section of the dashboard for a more detailed view.

    Storage overview shows space used by the system, available space, and reserved capacity.

    Final Thoughts

    The DXP2800 offers one of the smoothest NAS setup experiences I’ve used. From unboxing to configuring storage pools, everything was laid out in a way that’s friendly for first-time users. The guided setup process is clear and surprisingly quick.

    I’d recommend enabling two-factor authentication early on to help secure your admin account — it works with any standard authenticator app, and I opted for Microsoft Authenticator since I already use it elsewhere.

    If you’re planning to share the NAS, take advantage of personal folders or set up user-specific access permissions. It’s an easy way to protect privacy and organise data effectively.

    While RAID 1 is a great way to add redundancy, don’t rely on it as your only backup. It’ll help if a drive fails, but it won’t protect you from accidental deletion or file corruption.

    Finally, take note of the reset button behaviour: a short press restarts the system, while holding it down for 10 seconds resets it to factory settings — useful if you ever run into serious issues.

    Next time, I’ll walk through installing Docker and setting up lightweight apps like Pi-hole and Plex to unlock more potential from the NAS.

    Have questions or planning your own setup? Drop them in the comments — always happy to help!