Skip to content
Self-Hostingcloud server Issue #795

How to Set Up a Personal Cloud Server: The Builders Guide

What to know

<p>Tonido is dead. Nextcloud + Immich on a $5 Hetzner VPS is the modern self-hosted cloud, with Tailscale for private access and Backblaze B2 for off-site backup.</p>


⚡ TLDR

“Personal cloud server” used to mean putting Tonido or ownCloud on a desktop tower in the closet. the right setup is different: a small Linux server running Nextcloud or Immich behind Tailscale, with backups to a cheap cold-storage tier. The DIY route still pays back vs Dropbox or iCloud over 18 months.

  • Top pick: Nextcloud on a $5/month Hetzner CX22 VPS with 40GB SSD, fronted by Tailscale for private access.
  • Photo-only setup: Immich is now the standard. Self-hosted Google Photos replacement with face recognition that runs on a Raspberry Pi 5 or any old laptop.
  • Storage backend: Hetzner Storage Box for $4/month per TB, or Backblaze B2 for $6/month per TB. Either is cheap enough that “drives at home” no longer makes sense.
  • Skip: Tonido (discontinued from public cloud recently), AeroFS, FreeNAS branding, and most “personal cloud appliance” hardware. Software-defined wins on cost and recoverability.
  • The math: 1TB of personal data costs $4-12/month self-hosted vs $10/month for iCloud, $10/month for Dropbox Plus. Self-hosted wins on cost only when the storage exceeds 2TB or privacy matters more than convenience.

Setting up a personal cloud server is different work than it was when this site first wrote about it. The “Tonido on a Windows tower” pattern stopped making sense when the company shut down its public cloud and the alternatives caught up. Today the question is no longer “can I self-host my cloud”. Yes, easily. But “should I, given the cost and effort versus iCloud and Dropbox”. This guide answers both.

01Why builders still self-host their cloud

The case for a personal cloud server has narrowed but sharpened. Three reasons it still makes sense:

  • Privacy. Files stay on hardware you control. Photos, financial records, work documents do not pass through a vendor’s servers.
  • Cost above 2TB. iCloud charges $9.99/month for 2TB; the same volume on a self-hosted Nextcloud with Hetzner Storage Box costs $8/month and scales linearly. Above 4TB the gap widens.
  • Photo organization without ML lock-in. Immich gives you face recognition and album organization without sending photos to Google for training data. The model runs locally.

The case against self-hosting is also clearer. ICloud Photos handles 1TB cleanly and survives device failure without thinking. The 30 to 90 minutes a month of self-hosting maintenance is a real cost. For builders who just want photos to back up automatically, iCloud or Google Photos is the right answer. The rest of this guide assumes the case for self-hosting holds.

02The current setup at a glance

LayerWhat we useCost/monthWhy this
ComputeHetzner CX22 (2 vCPU, 4GB RAM)$5Cheapest serious VPS in the EU. AWS Lightsail equivalent is $7
StorageHetzner Storage Box 1TB$4Mounted via SSHFS or used as Nextcloud external storage
ApplicationNextcloud (files) + Immich (photos)FreeThe two best self-hosted options, both actively maintained
NetworkTailscale free tier$0Private mesh VPN; up to 100 devices free
Off-site backupBackblaze B2$6 per TBS3-compatible cold storage
Total at 1TB$15vs $10 for iCloud 2TB; tradeoff is privacy + control

03Step 1: Pick the compute layer

WikiWalls verdict 9.0 / 10

A small Linux VPS is the right base. Hetzner Cloud’s CX22 is the cheapest serious option; AWS Lightsail and DigitalOcean are reasonable runners-up with better US latency.

Buy if: you want a setup that survives ISP outages and home power cuts. Skip if: the data must literally never leave your house. Then a Raspberry Pi 5 at home is the alternative.

Compute options at a glance

Hetzner CX22
2 vCPU, 4GB RAM, 40GB NVMe. Around $5/month, EU-only
AWS Lightsail (2GB)
$10/month, US/EU/AP regions, free tier first 3 months
DigitalOcean Basic
$6/month, 1GB RAM minimum, NYC/SFO/AMS regions
Raspberry Pi 5 (8GB)
$80 one-time + $5/month electricity at home
Old laptop / NUC
$0 if you have one already; power and noise apply

For most readers, Hetzner CX22 is the answer. It costs less than a Netflix subscription, runs Nextcloud and Immich together comfortably, and is hosted in datacenters with better uptime than home internet. The Raspberry Pi alternative is good if the data must stay on premises, but factor in the SD card or SSD reliability and the home internet’s actual upload speed.

04Step 2: Install Nextcloud (the file-sync layer)

Nextcloud is the standard self-hosted file-sync platform. It plays the role Dropbox plays. Desktop client, mobile app, web interface, sharing links, calendar, contacts. The current install path is Docker Compose; the all-in-one image bundles every dependency.

  1. 1Spin up the VPS, set up SSH key auth, disable password login
  2. 2Install Docker and Docker Compose
  3. 3Run the Nextcloud All-in-One container, pointed at a domain
  4. 4Complete the web installer, create the admin account
  5. 5Install desktop and mobile clients, sign

The Nextcloud All-in-One repository documents the exact Docker Compose file. The official path uses nextcloud/all-in-one on Docker Hub, exposes ports 80 and 443, and handles its own Let’s Encrypt certificate. Plan for the container to take 8 to 12 GB of disk on first run; storage for actual files lives on the Storage Box mount or in a configured external storage backend.

Performance tip. Nextcloud benefits from a dedicated PostgreSQL or MariaDB and a Redis instance. The All-in-One image bundles both. For sites with more than 5 users or 500GB of files, allocate at least 4GB of RAM to the VPS.

05Step 3: Add Immich (the photo layer)

WikiWalls verdict 9.2 / 10

Immich is the only self-hosted Google Photos replacement that actually works. Face recognition, places view, “this day in past years”, iOS and Android apps that auto-upload from camera roll.

Buy if: you have more than 50GB of photos and care about organization. Skip if: Apple Photos already does the job and the iCloud cost is acceptable.

Immich runs as its own Docker stack alongside Nextcloud. The maintainers ship a separate Compose file. Run it on the same VPS if disk allows, or on a second small VPS pointed at the same Storage Box. The mobile apps auto-upload from the camera roll on iOS and Android with the same UX as Google Photos.

Resource note. Immich’s machine-learning container (face recognition and CLIP search) wants more RAM than the file-sync layer. On a 4GB VPS, plan for the ML jobs to take a few hours on the initial photo import. After the catch-up, ongoing usage is light.

06Step 4: Front it with Tailscale (private access without port forwarding)

Exposing Nextcloud or Immich on a public domain works but invites brute-force login attempts and bot traffic. Tailscale’s free tier gives you a private mesh network. Your laptop, phone, and the VPS see each other on a 100.x.x.x address that only authenticated devices can reach. The free tier supports up to 100 devices, which is more than any reasonable household.

Install Tailscale on the VPS, run sudo tailscale up, authenticate from a browser. Install on your laptop and phone the same way. The Nextcloud and Immich endpoints are now only reachable when Tailscale is running on the device. No public DNS, no port-forwarding, no certificate management for a public hostname unless you specifically want sharing links to work for non-Tailscale users.

07Step 5: Backups (the part that matters most)

This is the step people skip. A self-hosted setup without off-site backups is one ransomware attack or one accidentally deleted directory away from total loss. The provider’s own backups are not your backups. Hetzner snapshots help against hardware failure but do nothing against an attacker who has SSH keys.

The 3-2-1 rule still applies: three copies of the data, on two media, with one off-site. The setup we use:

  • Primary copy: Nextcloud’s data directory on the VPS
  • Secondary copy: nightly rclone sync to Backblaze B2 ($6/TB/month, S3-compatible)
  • Tertiary cold copy: monthly rclone snapshot to a separate B2 bucket with object lock enabled (immutable for 60 days)

The rclone documentation covers the B2 setup in three commands. Schedule the nightly sync via cron. The object-locked tier protects against the ransomware case where an attacker with VPS access tries to wipe the backup target. They cannot delete locked objects until the retention period expires.

08Tonido and the dead alternatives

The original version of this guide recommended Tonido. CodeLathe shut down the public Tonido cloud service years ago and the desktop software is no longer actively maintained. Other personal-cloud projects that have stalled or shut: AeroFS (acquired and discontinued), Resilio Sync (still alive but never crossed the chasm into mainstream), Syncthing (alive but file-sync only, not a cloud platform). The two surviving projects with momentum are Nextcloud (the comprehensive option) and Seafile (faster but less feature-rich).

09Which setup should you pick?

Pick the right architecture

  1. Want photo backup only, less than 200GB? → iCloud or Google Photos. Self-hosting is overkill.
  2. Want photos plus files, 1-2TB total? → Nextcloud + Immich on a $5 Hetzner VPS
  3. Privacy is the main reason and the data must stay home? → Raspberry Pi 5 with external SSD, Tailscale for remote access
  4. Need to share files with non-technical clients? → Nextcloud with public domain (skip Tailscale-only) and Cloudflare in front for DDoS protection
  5. Already pay for Dropbox Plus and have under 1TB? → Stay with Dropbox; the math does not break in your favor

10FAQ

Is self-hosting a personal cloud cheaper than Dropbox or iCloud?

Below 2TB, no. ICloud at $10/month for 2TB is hard to beat on cost. Above 2TB, self-hosted Nextcloud + Hetzner Storage Box wins. Privacy and control are the durable reasons; cost only wins at scale.

Can I run Nextcloud on a Raspberry Pi?

Yes, on a Pi 5 with 8GB RAM. The All-in-One image runs comfortably. Pair with an external SSD over USB 3; the SD card is too slow and unreliable for a primary disk. Plan for slower face recognition on Immich than a VPS but otherwise the same UX.

What replaces Tonido?

Nextcloud for general file sync and sharing. Immich for photos. Seafile if you want only file sync without the rest of the platform. Tonido is no longer maintained as a personal cloud service.

Do I need a domain name and TLS certificate?

If you use Tailscale, no. Tailscale handles the secure connection and you reach the server by its mesh hostname. If you want public sharing links or non-Tailscale device access, yes. Point a domain at the VPS and use Nextcloud All-in-One’s built-in Let’s Encrypt support.

How much storage should I plan for?

Take your current iCloud or Dropbox usage and double it. The phone’s photo backups grow faster than you expect; documents grow slower. Hetzner Storage Box scales in 1TB increments at $4/month each, so it is easy to expand later.

11WikiWalls verdict

WikiWalls verdict. Nextcloud + Immich on a $5 Hetzner VPS, accessed via Tailscale, with Backblaze B2 cold backup. That is the right personal-cloud setup. Skip Tonido and the consumer “personal cloud appliance” devices. Self-hosting wins on privacy and on cost above 2TB; below that, iCloud is fine and you should not feel guilty for using it.

This guide was last reviewed and updated by WikiWalls recently to reflect Tonido’s discontinuation, the rise of Immich for photos, current Hetzner / Tailscale / Backblaze B2 pricing, and 2026 self-hosting best practices.


Administrator · 28 published guides · Joined 2016

Welcome to wikiwalls

The WikiWalls Journal · Free, weekly

One careful fix in your inbox each Wednesday.

No affiliate links inside the diagnosis. No sponsored "top 10". One careful fix per week — unsubscribe in one click.

No tracking pixels · No spam · Edited by a human.