Skip to main content
Self-Host NextCloud on a Raspberry Pi 4 8GB: A Complete Private-Cloud Build for 2026

Self-Host NextCloud on a Raspberry Pi 4 8GB: A Complete Private-Cloud Build for 2026

A complete private-cloud BOM using a Raspberry Pi 4 8GB, a 1 TB SATA SSD, and NextCloud AIO — for a household of 3-10 users.

Self-host NextCloud on a Raspberry Pi 4 8GB with a Crucial BX500 SSD. Complete parts list, install steps, performance expectations, and security basics.

You self-host NextCloud on a Raspberry Pi 4 Model B 8GB by pairing it with a 1 TB SATA SSD like the Crucial BX500 attached via the Unitek SATA-to-USB 3.0 adapter, installing Raspberry Pi OS 64-bit, mounting the SSD as the data root, and running the official NextCloud AIO Docker deployment. For a household of 3-10 users, this gives you a private, always-on, subscription-free cloud file store, calendar, and contacts sync.

Why a Pi 4 8GB is the right base for private cloud in 2026

Subscription-storage fatigue is real. Between Dropbox tier price hikes, Google Drive quota changes, and the perennial "your files are now hostage to a plan you didn't opt into" cycle, more households and small teams are asking the same question every quarter: what would it take to run this ourselves? The honest answer in 2026 is: a low-power ARM SBC, a good SSD, and a weekend of setup. The Raspberry Pi 4 Model B 8GB is squarely enough hardware for a household-scale private NextCloud, and it draws less than 10 W idle.

The scale limit is real too. A Pi 4 8GB is not a business-class file server. It won't smoothly serve dozens of concurrent power users, transcode video previews for a massive photo library on the fly, or fill a 10 GbE link. But for a family of 4-8 users, a small team of 3-10, or one heavy solo user with syncing across multiple devices, it's a competent, cheap, silent server that runs for years on a $12 power supply. This synthesis draws on the Raspberry Pi 4 Model B product documentation and the NextCloud administration manual to walk through the recommended build.

Key takeaways

  • A Pi 4 8GB comfortably serves NextCloud for a household or small team — file sync, calendar, contacts, photo backup.
  • Use a SATA SSD (Crucial BX500 1 TB or similar) over USB 3.0, never the SD card, for data and database.
  • The official NextCloud All-in-One (AIO) Docker deployment is now the recommended install path.
  • Budget for good cooling, a quality PSU, and a wired ethernet connection.
  • Set up HTTPS via reverse proxy or built-in Let's Encrypt from day one — never expose HTTP.

What you'll need — checklist

  • Raspberry Pi 4 Model B 8GB — the 8 GB RAM variant, not the 2 or 4 GB. RAM matters for NextCloud's PHP-FPM workers and PostgreSQL cache.
  • Crucial BX500 1 TB SATA SSD — the data drive. 1 TB is a good starting point; step up to 2 TB if you plan to sync a large photo library.
  • Unitek SATA/IDE-to-USB 3.0 adapter — SATA-to-USB bridge to connect the SSD to the Pi's USB 3.0 port.
  • A separate microSD card (16-32 GB) for the boot OS. Keep boot and data on separate media.
  • A quality Pi 4 official USB-C PSU (5.1 V / 3 A) — undervoltage is the leading cause of Pi flakiness. Use the official supply.
  • A Western Digital 500 GB WD Blue SATA SSD as a smaller/cheaper alternative if 1 TB is more than you need.
  • A case with active cooling — a 24/7 Pi at load thermals below 60 °C is happier long-term. Case fans matter.
  • Wired ethernet — the Pi 4's gigabit ethernet is meaningfully more reliable than its 2.4/5 GHz Wi-Fi for a server workload.

Why does NextCloud on a Pi need an SSD, not just an SD card?

SD cards were fine as boot media in 2019 when the Pi was primarily a desktop learning platform. They are the wrong choice for a production server workload for three reasons:

Write endurance. SD cards are rated for a limited number of write cycles per cell, and NextCloud's database (SQLite or MariaDB) plus PHP session storage plus log files write continuously. A busy NextCloud instance can wear out a cheap SD card in months. A SATA SSD has orders of magnitude more endurance.

Sustained throughput. SD cards deliver reasonable burst read/write speeds but often collapse to 10-20 MB/s sustained. NextCloud file sync, especially on the initial dataset seed, needs hundreds of MB/s to stay responsive.

IOPS. Database workloads care about random I/O, not sequential. SATA SSDs deliver tens of thousands of random-write IOPS; SD cards deliver hundreds.

The correct architecture is: microSD (or Pi 4's built-in USB boot) for the OS and application binaries, SATA SSD for NextCloud data root, database files, and cache. When the microSD card eventually wears out you replace it in five minutes with no data loss because none of your data lives on it.

Component spec-delta table

ComponentRecommended PartKey SpecRoleNotes
SBCRaspberry Pi 4 8GB4× Cortex-A72 @ 1.8 GHz, 8 GB LPDDR4Application host8 GB variant, not 4 GB
Data SSDCrucial BX500 1 TB540 MB/s read, SATA IIIUser data + DB2.5" 7 mm form factor
SATA bridgeUnitek SATA-to-USB 3.0UASP-capable, USB 3.0 5 GbpsSSD interconnectVerify UASP support
Boot mediaAny Class-10 32 GB microSD~90 MB/s readOS + binaries onlyData is on SSD, not here
PSUOfficial Pi 4 USB-C 5.1 V/3 A15 W maxStable powerUndervoltage is the enemy
CaseAny active-cooled Pi 4 case30-40 mm fan preferredThermal managementPassive fine below 25 °C ambient
NetworkGigabit ethernet1000 Base-TClient syncWired, not Wi-Fi

Step-by-step install

The recommended install path in 2026 is the official NextCloud All-in-One (AIO), which packages the full NextCloud stack (server, database, cache, background worker, TLS proxy) as a set of Docker containers with sane defaults.

1. Prep the microSD card. Flash the latest Raspberry Pi OS 64-bit (Bookworm-based) using Raspberry Pi Imager. Enable SSH and set a strong password before flashing.

2. First boot and basic setup. SSH in. sudo apt update && sudo apt full-upgrade -y. Set the timezone. Set a hostname (sudo hostnamectl set-hostname nextcloud-pi). Set a static local IP address for the Pi in your router's DHCP reservation.

3. Format and mount the SSD. Plug the SSD in via the Unitek adapter to a USB 3.0 port (the blue-labeled ports). Identify with lsblk. Partition with a single ext4 partition, format, and mount at /mnt/ncdata with /etc/fstab entries so it persists across reboots.

4. Install Docker. Use the official install script or apt-based install per Docker's Raspberry Pi documentation. Add your user to the docker group; log out and back in.

5. Deploy NextCloud AIO. Pull the AIO image and run it, pointing the data mount at /mnt/ncdata. The AIO admin container listens on port 8080 (or a port you specify); connect to it in a browser, follow the wizard, and provide your intended NextCloud hostname.

6. Set up HTTPS. Two options:

  • If you have a real DNS name pointing at your public IP: use NextCloud AIO's built-in Let's Encrypt integration.
  • Otherwise: front NextCloud with an internal reverse proxy (Caddy, nginx) that terminates TLS with an internal CA or Let's Encrypt DNS-challenge cert.

Never run NextCloud on plain HTTP, even inside your LAN.

7. Create user accounts. Log into NextCloud as admin. Create user accounts for each household member with strong passwords. Enable two-factor authentication in the admin settings and encourage users to enroll.

8. Install NextCloud clients. Desktop clients for macOS, Windows, Linux; mobile clients for iOS and Android. Configure each to point at your NextCloud hostname over HTTPS.

9. Set up automated backups. The AIO includes a Borg-based backup workflow that snapshots your data to a separate USB drive. Use it. Test restore before you need it. See the NextCloud administration manual's backup chapter for detail.

10. Enable notifications, previews, and background jobs. In the NextCloud admin panel, verify cron is running (not AJAX or webcron), enable preview generation for photos, and configure notifications.

What performance can you expect?

Realistic numbers for a 3-6 user household on a Pi 4 8GB with SATA SSD over USB 3.0:

WorkloadExpected performance
Small-file sync (documents, notes)~50-80 MB/s sustained
Large single-file upload~90-110 MB/s over gigabit ethernet
Concurrent user file browsing3-6 users comfortable, 10+ slows
Photo preview generation (initial)Slow — hours for a large library
Photo preview generation (incremental)Fine once initial pass completes
Calendar / contacts syncInstant for all users
Web UI responsivenessFeels snappy for 1-3 concurrent users

Independent Linux-hardware coverage on Pi 4 storage subsystems — see the general Linux SBC performance work at Phoronix — confirms that the USB 3.0 SATA bridge is the honest bottleneck. It's fast enough for household use, not fast enough for enterprise workloads.

Power and cooling for a 24/7 Pi server

The Pi 4 idle draws 3-5 W and peaks around 8-10 W under load. At $0.15/kWh, that's roughly $8-15 per year in electricity — negligible. The SSD adds another 1-2 W idle, 3-4 W under load.

Thermal management is where 24/7 vs "used a few hours" changes the build. A passively-cooled Pi 4 in a warm room will throttle over time. An active-cooled case with a small 30-40 mm PWM fan keeps CPU temp below 60 °C indefinitely under NextCloud load. Set the fan curve to spin gently above 50 °C.

Undervoltage is the number-one Pi 4 stability issue. Use the official USB-C PSU (5.1 V / 3 A), not a phone charger. Check vcgencmd get_throttled — anything non-zero after boot indicates an undervoltage event.

Consider a small UPS (a cheap 300 VA unit) if your household has iffy power. A Pi 4 running NextCloud that gets hard-power-cycled during a database write can corrupt the SQLite/MariaDB file. Two minutes of UPS runtime is enough for the Pi to shut down cleanly on power loss.

Security basics

HTTPS from day one. Never HTTP, not even on LAN. Cheap Let's Encrypt or your own internal CA.

Remote access via VPN or reverse proxy — not port forwarding a NextCloud admin panel. WireGuard is the recommended path for VPN. If you're exposing NextCloud to the internet, do it behind a hardened reverse proxy and never expose the admin panel to the public.

Strong passwords and 2FA. Every account. NextCloud supports TOTP and WebAuthn.

Software updates. Apply Raspberry Pi OS security updates weekly. Update NextCloud through AIO's built-in updater; back up first.

Backups. The AIO Borg backup workflow to a separate USB drive is the minimum. Ideally have a second offsite backup — a rotating USB drive taken to work, an encrypted rsync to a friend's Pi, or a cloud storage bucket for encrypted archives.

File encryption at rest. NextCloud supports server-side encryption but the recommended approach in 2026 is filesystem-level encryption (LUKS on the SSD) plus TLS in transit, rather than the application-level encryption which has performance costs.

Verdict matrix: Pi 4 8GB or a mini-PC?

SituationPi 4 8GB NextCloudStep to a mini-PC
1-8 household users, mostly light useyes
Documents, calendar, contacts, occasional photo uploadyes
Photo library >100 GB with heavy preview needsmini-PC
Video preview transcodingmini-PC
15+ concurrent usersmini-PC
Running additional heavy services (Immich, Jellyfin, Home Assistant) alongsidemini-PC
Silent, low-power, low-cost priorityyes
You already own a Pi 4 8GByes

Common pitfalls when self-hosting on a Pi 4

  • Cheap USB-SATA adapter without UASP support. Non-UASP adapters halve throughput and cause disconnects under load. Verify UASP support in the adapter specs.
  • Running everything from SD card. Fatal. Move data and database to SSD.
  • Skipping automatic updates. A NextCloud that runs unpatched for 18 months is a headline-grade CVE liability.
  • Wi-Fi for the server. Use ethernet. Wi-Fi latency and occasional dropouts make client syncs feel broken.
  • No backup, or backup on the same SSD. A backup that dies with the primary storage isn't a backup.
  • Under-cooled case. Passive cases in warm rooms will thermal-throttle over months.
  • Wrong PSU. Anything less than the official Pi 4 USB-C PSU is asking for undervoltage events.

When NOT to use a Pi 4 for NextCloud

If you have a 15-person team, if you want to run Immich, Jellyfin, and a full home automation stack on the same host, or if your photo library is measured in terabytes with heavy preview generation, a used mini-PC (Intel N100, Ryzen 5825U, etc.) gives you more headroom for similar power draw. If you only need file sync for one person, a cheap cloud plan may be simpler. The Pi 4 8GB is squarely aimed at the household or small-team private-cloud sweet spot.

Bottom line

Self-hosting NextCloud on a Raspberry Pi 4 8GB with a Crucial BX500 1 TB SSD over a Unitek USB-to-SATA adapter gives you a private, subscription-free cloud that comfortably serves a household. Use ethernet. Use an active-cooled case. Use HTTPS. Back up religiously. In under a weekend of setup, you'll own your family's file sync, calendar, and contacts stack for less than a year of Dropbox.

Related guides

Citations and sources

This piece is editorial synthesis based on publicly available information. No independent first-party benchmarking is reported.

Products mentioned in this article

Tap any product for full specs, live Amazon & eBay pricing, and alternatives.

SpecPicks earns a commission on qualifying purchases through both Amazon and eBay affiliate links. Prices and stock update independently.

Frequently asked questions

Can a Raspberry Pi 4 8GB really run NextCloud for a household?
Yes, for a small number of users it works well. A Pi 4 8GB comfortably serves file sync, calendar, contacts, and photo backup for a family or a handful of accounts. It is not built for dozens of simultaneous heavy users or large-scale office deployments, but as a personal or household private cloud it is a capable, low-power, always-on server.
Why can't I just store NextCloud data on the SD card?
SD cards have limited write endurance and modest sustained speeds, and a busy NextCloud instance writes constantly to its database and file store. Running everything on an SD card leads to sluggish performance and eventual card wear-out. Mounting NextCloud's data and database on a SATA SSD over USB gives far better speed, capacity, and reliability, which is why an SSD is part of a serious build.
How do I access my Pi NextCloud securely from outside my home?
Never expose it with plain HTTP. Enable HTTPS with a valid certificate, then reach it either through a reverse proxy with proper TLS, a VPN back into your home network, or a secure tunnel service. Keep the software updated and use strong, unique credentials with two-factor authentication. The most-missed step is configuring encrypted remote access before opening anything to the internet.
How much storage should the SSD have?
Size it to your data plus growth headroom. For photo backups and document sync across a household, a 1 TB drive is a comfortable starting point and matches featured budget SSD options well. If you plan to sync large media libraries, step up in capacity. Leaving free space also keeps the SSD and the database performing smoothly rather than running near full.
When should I move from a Pi to a mini-PC instead?
Move up when you outgrow the Pi's ceiling: many concurrent users, server-side previews of large media, running additional heavy services alongside NextCloud, or needing more RAM and faster storage than USB SSD allows. A small x86 mini-PC offers more headroom and native SATA or NVMe. For a lightweight personal cloud, though, the Pi 4 8GB remains the efficient, inexpensive choice.

Sources

— SpecPicks Editorial · Last verified 2026-07-06

More guides & deep dives from the SpecPicks archive

Browse all articles & guides →

More reviews from the SpecPicks archive

Browse all reviews →

More buying guides from SpecPicks

Browse all buying guides →