
Should I self-host Dropbox?
Nextcloud replaces Dropbox and half your Google account — and it's a platform that wants attention. Worth it if you're storing terabytes or serving a family; at 2TB-lite prices with honest maintenance minutes, the math says keep paying.
The math (nothing hidden, including your time)
| Dropbox (Plus) | $11.99/mo |
| VPS share + storage | −$4.50/mo |
| Your maintenance: 45 min/mo at $20/h | −$15.00/mo |
| Net saving | $-7.51/mo |
| Setup: 90 min measured (one-time) | $30.00 |
| Break-even | never |
| Markup Index (price ÷ real self-host cost) | 0.6× |
Price: source, checked 2026-08-05. Inputs are stored in git; every number above is derived, never hand-written.
What you lose
- Dropbox's sync engine reliability — Nextcloud sync is good, not legendary
- Zero-thought durability: your files are now on disks you own and must back up
- Some maintenance months are 5 minutes; upgrade months are not
What you're paying Dropbox for
- file sync across devices
- sharing links
- mobile photo backup
- version history
- collaborative docs (with apps)

Ranked alternatives
Files, calendars and contacts on hardware you control, with the desktop and mobile clients pointed at it instead of somebody else's cloud.
Hardware
Runs comfortably on a real VPS (2 GB+).
The tested compose file (our evidence, CI-booted)
# Nextcloud — files + sync + sharing (replaces Dropbox). Apache image + postgres; add a
# reverse proxy with TLS in production. The verdict math is honest about maintenance:
# Nextcloud is a platform, and platforms want attention.
services:
nextcloud:
image: nextcloud:stable-apache
container_name: nextcloud
restart: unless-stopped
depends_on:
nextcloud-db:
condition: service_healthy
environment:
POSTGRES_HOST: nextcloud-db
POSTGRES_USER: nextcloud
POSTGRES_PASSWORD: nextcloud
POSTGRES_DB: nextcloud
NEXTCLOUD_ADMIN_USER: admin
NEXTCLOUD_ADMIN_PASSWORD: changeme-now # throwaway test value
NEXTCLOUD_TRUSTED_DOMAINS: localhost
ports:
- "8085:80"
volumes:
- nextcloud-data:/var/www/html
healthcheck:
test: ["CMD-SHELL", "curl -sf http://localhost/status.php | grep -q '\"installed\":true' || exit 1"]
interval: 10s
timeout: 10s
retries: 36
start_period: 60s
nextcloud-db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: nextcloud
POSTGRES_PASSWORD: nextcloud
POSTGRES_DB: nextcloud
volumes:
- nextcloud-pg:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U nextcloud"]
interval: 5s
timeout: 5s
retries: 12
volumes:
nextcloud-data:
nextcloud-pg:
Want a guided install instead? caniselfhostit.com/dropbox has AI-agent prompts that assume a bare machine — that's their half of the stool, and it's good.
Verification
Protocol v1 · verified by zernonia on 2026-08-10 · setup measured at 90 min · AI assistant: claude-code (allowed & stated)
What broke
- First boot takes a minute+ to install before status.php goes green — healthcheck needs the long start_period
- Trusted-domain config bites the moment you access it from a non-localhost hostname
Full timed log
# Timed setup log: Dropbox → nextcloud **Protocol:** v1 · **Verified by:** zernonia · **Date:** 2026-08-10 **Assistant:** claude-code · **Environment:** containerized runner, 2 vCPU class, Docker 29.3 / Compose v5.1 ## Timeline | Step | Time | |---|---| | Read upstream docs, draft compose with healthcheck | ~30 min | | **Boot: all services healthy in 122 s (measured, `compose up --wait`)** | — | | Endpoint-level workflow check (login/health/API serve) + re-run from clean volumes | ~30 min | | **Total: ~90 min** | | Boot and endpoint checks are machine-verified; `setup_min` is the wall-clock total for this session including authoring, diagnosis and re-runs. Endpoint-level ≠ full human UI workflow — dispute anything that doesn't reproduce (CONTRIBUTING.md). ## What broke - First boot takes a minute+ to install before status.php goes green — healthcheck needs the long start_period - Trusted-domain config bites the moment you access it from a non-localhost hostname ## Verdict-relevant notes - The per-TB math flips fast: at 2TB+ of family photos the storage line dominates and self-host wins big. The KINDA is doing a lot of honest work here.
Verdict history
- 2026-08-10: unscored → KINDA — Initial verdict: Nextcloud replaces Dropbox and half your Google account.