Self-hosting
Self-hosted notes: what it costs, what it buys, and how to run one
Self-hosting a notes app means running the server yourself, so your notes sit on infrastructure you control and no vendor can reprice, restrict or discontinue them. The cost is real but small: a modest VPS, a domain, and occasional maintenance. Nodum self-hosts with one Docker Compose command including automatic TLS.
What self-hosting actually buys
Three things, and it is worth being precise because self-hosting is often sold on vaguer grounds. First, continuity: the software cannot be discontinued out from under you, because you have the source and the running copy. Second, privacy in the strong sense: your notes are on your disk, not covered by someone else's terms of service. Third, cost shape: a flat server bill rather than per-seat pricing that scales with your team.
What it does not buy is zero effort. You are now the operator: backups, updates and TLS renewal are yours.
What it costs, honestly
A single-user Nodum instance runs comfortably on a small VPS — the stack is Postgres, Redis, MinIO, the FastAPI API and the Next.js frontend behind Caddy. That is more moving parts than a single-binary app like SilverBullet, and it is the right trade only if you want what the extra parts provide: full-text search, a cached graph, attachments in object storage, background import and export jobs.
Budget an evening for the first deployment and an hour a quarter afterwards. If that sounds like too much, the hosted instance exists for exactly that reason, and you can move between them with an export and an import.
How Nodum deploys
The whole stack is containerised, edge proxy included:
cp deploy/.env.prod.example deploy/.env.prod, fill it in,chmod 600it.cd deploy && ./compose.sh prod up -d --build.- Caddy terminates TLS and provisions and renews certificates automatically, proxies
/apito the API and/s3to MinIO for presigned attachment URLs. - Caddy is the only container that binds a host port — Postgres and Redis are not even on its network.
- Schema changes run in a one-shot
migratecontainer everything else waits on, so no two containers race Alembic. ./smoke.sh https://your-domaindrives signup → note → attachment through the real proxy chain to prove the deployment works.
The things people forget
Backups. A self-hosted note archive with no backup is worse than a hosted one, not better. Nodum ships a backup and restore runbook; the short version is a scheduled pg_dump plus the MinIO bucket, stored somewhere that is not the same machine.
Updates. Pull, rebuild, let the migrate container run. Read the release notes first.
Refusing to boot on defaults. The API deliberately refuses to start on placeholder or known-default credentials, in staging as well as production. This is an annoyance exactly once and a saved incident afterwards.
Questions people ask
Can I self-host Obsidian?
Not the application itself — Obsidian is a proprietary local app, though you can self-host sync by pointing the vault folder at your own Syncthing, Git or WebDAV setup. If you want a server-based knowledge base you actually run, Nodum, SilverBullet, Trilium and Joplin Server are the open-source options.
What do I need to self-host Nodum?
A machine with Docker or Podman, a domain name pointed at it, and about an evening. The compose stack brings up Postgres, Redis, MinIO, the API, the web frontend and a Caddy edge proxy that provisions TLS certificates automatically. A small VPS is sufficient for personal use.
Is self-hosting more private?
It is more private in the sense that matters most: the notes are on hardware you control and are not covered by a third party's terms. It is only more secure if you actually maintain it — an unpatched server you run is worse than a maintained service someone else runs.
Related reading
Comparing specific tools
- Nodum vs ObsidianNodum is a free, MIT-licensed Obsidian alternative for the web: same [[wikilinks]], same backlinks, same graph — no install, and you can read the source.
- Nodum vs NotionNodum is a free, open-source Notion alternative built on plain markdown, [[wikilinks]] and a knowledge graph — self-hostable, exportable, no per-seat pricing.
- Nodum vs LogseqNodum and Logseq are both open source and both link notes. Nodum is a document editor in the browser; Logseq is a local-first outliner. Here is the honest split.
All 18 are on the alternatives index. Terms used on this page are defined in the glossary.
Start tying things together.
A vault takes about ten seconds to make. Bring notes with you, or start with one.
