File sync and sharing you host yourself, plus calendars, contacts and collaborative documents — the open answer to Dropbox and Google Drive on your own hardware.
Build me the file sync I actually need instead of a Nextcloud subscription: my files on my own server, on every device, with sharing links. Read this first: Nextcloud itself is free — the fee is a support contract, and the desktop and mobile clients already exist and are good. Before writing anything, consider Syncthing, which synchronises directories between your own machines with no server, no accounts and no web interface, and is the right answer for a great many people. Build this when you need share links for people outside your network, or a web view, or one authoritative copy rather than a mesh. STACK - Node 20+ with Fastify - SQLite through better-sqlite3, WAL mode, with FTS5 for search - Plain filesystem storage, laid out so the files are usable without this software at all - Caddy in front THE DATA MODEL - users: id, email, name, quota_bytes, used_bytes, is_active, created_at - files: id, owner_id, parent_id, name, path, kind, sha256, bytes, mime, mtime, version, is_trashed, trashed_at, deleted_at - versions: id, file_id, sha256, bytes, blob_path, created_at — content stored by hash, so an unchanged file copied twice occupies one blob - chunks: id, upload_id, index, sha256, bytes — for resumable uploads - shares: id, file_id, kind, token, password_hash, permission, expires_at, max_downloads, download_count, created_by, revoked_at - share_events: id, share_id, kind, ip_hash, at — append-only, so 'did they open it' is answerable - deltas: id, user_id, file_id, kind, at — the ordered change feed clients read - locks: file_id, holder, expires_at - The layout on disk mirrors the user's own folder structure, with versions kept separately. If this application vanishes, the current files are still a normal directory tree — that property is worth more than any feature SYNC - Clients ask 'what changed since this cursor' and get an ordered feed. Ordering is by a server-side counter, never by a timestamp: device clocks disagree and a timestamp feed silently skips changes - Uploads chunked and resumable, with each chunk hashed and the whole file verified server-side before it is accepted. Never trust the client's hash - Deduplication by content hash before upload: ask whether the server has this hash and skip the transfer if it does - Downloads support range requests, so a large file resumes - Quota enforced on write with a clear error, and checked before a long upload starts rather than after CONFLICTS - Optimistic concurrency with a version per file. A write against a stale version is rejected, and the client writes a conflict copy beside the original with both names visible - The server never merges and never silently picks a winner. A sync that quietly chooses will eventually eat a day's work, and you will find out weeks later - File locking for the cases where a conflict copy is not acceptable, with a lease that expires so a crashed client does not lock a file forever VERSIONS AND TRASH - Every write keeps the previous version, with a retention policy that thins them over time — hourly for a day, daily for a month, then monthly - Trash with a stated retention and a restore that puts a file back where it was, recreating the folders if they have gone - Deletion after retention is real, on disk, and recorded SHARING - A link with a long unguessable token, optionally with a password, an expiry, a download limit and a permission — view, download, or upload into a folder - Upload-into-a-folder links are how somebody sends you a large file without an account, and they are the most useful share type there is - Revoking works immediately - A share page that is plain, fast and shows what it is: name, size, type, and a preview where it is safe - Every access recorded, so you know whether the link was used WEB VIEW - Browse, rename, move, upload, download, and preview images, PDFs, text and video - Search over names and, where they are indexed, contents - Fast and server-rendered. This is not where the work happens; it is where you go when you are on somebody else's machine STORAGE AND SAFETY - Encryption at rest optional, with the honest note that server-side encryption protects against a stolen disk and nothing else, because the server holds the key - Integrity: a scheduled job re-hashing a sample of blobs and reporting any that have changed. Silent corruption over years is the failure nobody plans for - A second copy off the machine, always, with its own schedule and its own verification. RAID is not a backup and a snapshot on the same disk is not a backup - A restore rehearsed onto a clean machine, with the time it took written down OPERATIONS - .env: DATABASE_PATH, STORAGE_PATH, BASE_URL, SESSION_SECRET, HASH_SALT, MAX_UPLOAD_BYTES - Migrations on boot, each once - Reachable over a VPN unless share links require otherwise; if it is public, put the share endpoints on their own path and rate-limit them hard - Nightly backup of the database plus an off-site copy of the blobs - Health endpoint reporting free space, quota usage and the age of the last verified backup WHAT MATTERS MOST Conflict handling and the off-site copy. Build the version check and the conflict copy first, then edit the same file on two machines while both are offline and bring them back. Then set up the second copy and restore from it before you trust this with anything you cannot lose. Give me the repository, the sync client, migrations, .env.example, the backup and restore scripts, and a README that opens with the Syncthing alternative and the restore rehearsal.
What you lose
- A support contract, which is what the enterprise fee buys — the software itself is free
- Desktop and mobile clients on every platform, already written
- An app ecosystem for calendars, documents and everything else bolted alongside files
If you would rather not build
- Seafile, which is faster for large file counts
What it costs
as published on their pricing page
| Plan | Billed monthly | Billed yearly | Last read |
|---|---|---|---|
| — | $4.50/mo | — | — |
Their pricing page is where these came from. Seeing a different price? Tell us.
The escape hatch
open source · no votes, no paid placement
Nextcloud
$0The product itself, free to self-host with clients on every platform.
nextcloud/serverfree · open source
Syncthing
$0Continuous file sync between your own machines, with no server at all.
syncthing/syncthingfree · open source
Why this verdict
our own opinion · changed only by a person
76/100
Verdict yes at 76 because the software is already free — the fee is support. The advice that matters is not to write a sync engine.
History
tracked since 10 Aug 2026 · nothing is ever overwritten
Questions about Nextcloud
answered from the record above
Is Nextcloud free?
No — the plan we track is $4.50 a month. Around €4.50 per user per month for a supported enterprise subscription; the software is free to self-host.
Can you replace Nextcloud by building your own?
YES. Replaceable in one session with an AI coding agent. Replacement score 76 out of 100, build time one session. Read what you lose before you decide.
How much does Nextcloud cost?
$4.50 a month on Enterprise — $54 a year. Recorded 10 Aug 2026.
What do you lose by replacing Nextcloud?
A support contract, which is what the enterprise fee buys — the software itself is free; Desktop and mobile clients on every platform, already written; An app ecosystem for calendars, documents and everything else bolted alongside files. If any of those carry weight for you, keep paying.
Is there an open-source alternative to Nextcloud?
Yes: Nextcloud, Syncthing. The prompt on this page is for when you want it your way instead.
Related entries
same category first, most replaced first
Every week, something stops being worth paying for.
New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.
free forever · no tracking pixel · stored here, never passed to anyone

