Hey everyone! I'm completely new to self-hosting, but I've become convinced of its benefits and would like to get started in the near future. I'm still trying to figure out which hardware and software would be the best fit for my needs, so I'd really appreciate some advice.

What I'm looking for:

  • I live in the EU and want to move away from US-based and other non-EU cloud providers, which is one of the main reasons I'm interested in self-hosting.
  • I want to de-Google my digital life and replace services like Google Photos, Google Drive, and Google's contact and calendar syncing with self-hosted alternatives.
  • I'd like to automatically back up photos from my phone, sync files, contacts, and calendars, and access everything remotely.
  • I want to avoid proprietary operating systems and vendor-specific apps as much as reasonably possible, ideally relying on open-source software.
  • (Eventually, I'd also like to consider hosting my own email server, although I've heard that this comes with quite a few challenges. This isn't a priority for now.)
  • I don't want to become a Linux or server administration expert just to keep everything running.

A little more context:

  • Users: Just two people.
  • Workload: Mainly file storage and syncing, photo backups and management, contacts, and calendars. No video editing, media transcoding, or other particularly demanding tasks.
  • Budget: Around €500–800 for the NAS itself, excluding storage drives.
  • Hardware preference: I'd prefer a compact, reasonably power-efficient, ready-made NAS rather than building a full PC, mostly due to limited space.
  • Technical experience: I've been building my own PCs for almost 30 years and consider myself an advanced Windows user. However, my last real Linux experience was with Ubuntu about 20 years ago.
  • Internet connection: 250/40 Mbps DSL with a public (dynamic) IPv4 address and a FRITZ!Box 7590 router, which supports WireGuard VPN.

Here are my main questions:

  1. Which operating system would you recommend? I've been looking into TrueNAS Community Edition and OpenMediaVault, but I'm open to other suggestions. Ease of use, stability, and low maintenance are important to me.
  2. Would a prebuilt NAS be a good choice? I've been considering devices like the UGREEN DXP4800 Plus and TerraMaster F4-424 Pro. Can their proprietary operating systems be replaced with something open-source without losing important functionality, such as fan control, power management, or hardware monitoring? Are there particular models known to work especially well with TrueNAS or OpenMediaVault?
  3. How much hardware performance do I actually need? Given my relatively modest requirements, would something like an Intel N100 already be sufficient, or would it make sense to invest in a more powerful CPU and additional RAM for future flexibility?
  4. Which software stack would you recommend? I'm currently considering Nextcloud for files, contacts, and calendars, and possibly Immich for photos. I'd prefer solutions with reliable automatic syncing and open-source Android apps.
  5. What should I consider regarding backups and remote access? I'm planning to use WireGuard for remote access, but I'd be interested in recommendations for a simple, reliable backup strategy as well.

I'm happy to learn new things and follow technical guides, but I'd prefer a system that doesn't require constant tinkering once it's set up.

Thanks for reading, and I appreciate any suggestions or experiences you're willing to share!

you are viewing a single comment's thread
view the rest of the comments
[–] 4 points 10 hours ago* (last edited 9 hours ago) (2 children)

From now on, whenever you set up a service, you’ll use a subdomain just for that service (eg nextcloud.example.com), and you’ll point it in dns as a CNAME record at your apex domain (usually just an @ symbol in the input box). You’ll then (if it’s a web service) create a proxy in NPM pointed at whatever port you give it.

So now you wanna create a WireGuard vpn, so you can securely access your own stuff from your own devices outside your house. (I’d recommend not opening every service up to the internet.)

https://github.com/linuxserver/docker-wireguard

That one can be tricky, but ultimately you should have a file (or QR code) that you can put on your phone in the WireGuard app that will give you vpn access. Remember to set up a CNAME for your subdomain (something like vpn.example.com). Although, for this, it would be fine to use the apex domain.

So now you can set up a Nextcloud and an Immich stack. Put them on an unused port, then point a proxy for their subdomain at that port (http://127.0.0.1:2201/ or whatever), add your SSL cert, and you’re good.

[continued…]

  • source
  • parent
  • hideshow 2 child comments
  • [–] 4 points 9 hours ago* (last edited 9 hours ago) (1 child)

    In NPM, set up an access list like this:

    Last one should be your public IP address, with “/32” on the end.

    Use this access list for all services you don’t want the wider internet to see (probably all of them for you). With this setup, you can still open a service, if you want, but normally you’ll need to be on your VPN to see it from outside your house.

    Here’s an example of what a proxy host should look like:

    (Except your access list should be the local only one you set up earlier.)

    And the SSL tab:

  • source
  • parent
  • hideshow 1 child comment
  • [–] 5 points 9 hours ago* (last edited 9 hours ago)

    Every once in a while, you should run these commands in each services folder:

    docker compose pull
    docker compose up -d
    
    # check if everything is still good
    
    docker system prune -a
    

    You should also back up your services folder regularly. That’s beyond the scope of this Lemmy comment, though

    If you have anything open to the internet (not using that local only access list), you need to be very vigilant about updating it frequently. If you’re not, you could have vulnerabilities that are exploitable.

  • source
  • parent