Anytype

Local-first encrypted knowledge workspace

Notes & Knowledge Base ★ 8.8k stars Medium setup MIT

Anytype is a local-first, encrypted knowledge management app for notes, tasks, and objects with a flexible data model. It targets users wanting a private Notion-like tool. It uses peer-to-peer sync and an optional self-hosted sync node.

Key features

  • Local-first encrypted storage
  • Flexible object-based model
  • Peer-to-peer sync
  • Self-hostable sync node

Pros & cons

Strengths

  • Strong privacy model
  • Flexible structure
  • Works offline

Trade-offs

  • Self-hosting sync is advanced
  • Ecosystem still young

Anytype replaces

Last reviewed Aug 26, 2026 · 926 words

"Self-hosting Anytype" means something different from self-hosting anything else on this site. The app is local-first: every note, task and object lives encrypted on your laptop and phone whether or not a server exists. What you can self-host is the sync network, a set of cooperating services that relay encrypted data between your devices and hold a backup of it. If you use Anytype on one device you need none of it. If you use 2 devices on the same Wi-Fi, they already sync peer to peer. The self-hosted network earns its keep when devices are apart, when you want a backup you control, or when you refuse to send even ciphertext to the project's own servers.

What the network can see: nothing useful

Every space is encrypted on the device with keys derived from a 12-word recovery phrase you get at signup. The sync nodes store and forward ciphertext; they hold no password and cannot decrypt what they store. Two consequences. The official network, which has a free tier with a storage cap at last check, learns which devices talk and how much, but not what. And losing the phrase loses everything, on the official network or your own, because there is nobody who can reset it. Write it down before you write a note.

Four services and a config file

The project publishes a Docker Compose repository, any-sync-dockercompose, that stands up the whole network: a coordinator that tells clients where things live, one or more sync nodes that hold spaces, a file node backed by S3-compatible storage for attachments, and a consensus node that keeps the others agreeing, plus the MongoDB, Redis and MinIO instances they depend on. It is the "advanced" con in the catalogue made concrete: not one container but around 8, wanting 512 MB as the bare floor and comfortably 1 to 2 GB once a few spaces with attachments are in.

The flow is short once you accept it:

git clone https://github.com/anyproto/any-sync-dockercompose.git
cd any-sync-dockercompose
cp .env.default .env      # set EXTERNAL_LISTEN_HOSTS to your public hostname or IP
make start

make start generates keys for every node and writes a client configuration file (under etc/, the exact name is in the README) that describes your network to the app. Check the repository for the current variable names; the project is young and the compose has been reworked more than once. The nodes listen on several TCP and UDP ports that every one of your devices must reach, so a homelab behind NAT needs port forwards or, better, Tailscale with the listen hosts set to the tailnet address. Expose it to the internet only with a firewall that allows nothing but those ports.

Every device has to load the same network

In the desktop app, before logging in, the network settings let you choose the official network, a self-hosted one, or local-only, and the self-hosted option takes the generated config file. Mobile does the same via a file or QR code. All devices must use the same network for a space to sync; a laptop on your network and a phone on the official one will each think the other is offline. Switching an existing account between networks is not automatic. Export the spaces first (Anytype exports to its own format and to Markdown), set up the account on the new network, and re-import if anything did not follow. Treat the network choice as a decision you make once.

Anytype against the other Notion escapes

Its data model is the reason to choose it over the rest of the notes category: everything is an object with a type, objects link through typed relations, and sets and collections query them, so "all books I rated 5 with a note attached" is a view rather than a search. That is closer to Notion's databases than any other open-source app manages.

AppFlowy is the nearest rival, also local-first with optional self-hosted sync, with a more conventional pages-and-databases feel and a more traditional server you can run in Docker. Logseq is an outliner with plain Markdown files on disk, which makes sync a solved problem via any file sync tool and gives you readable files forever; it lacks Anytype's object model entirely. Joplin and Trilium are simpler notes with simpler sync. If the object model does not excite you, one of those is less to run.

The honest downsides are the young ecosystem (few integrations, no plugin story to speak of yet) and the fact that your notes live in an app-specific store rather than files you can grep. Markdown export exists and the owning your exports post explains why I would run it monthly.

What I'd do

Use Anytype on the official network for the first month. It costs nothing, the encryption is the same, and it tells you whether the object model is something you will actually build on. If it sticks and the storage cap or the principle bothers you, run any-sync-dockercompose on a box reachable over Tailscale, load the config into every device on the same afternoon, and export to Markdown on a schedule as the backup of last resort. If two devices on the same Wi-Fi is your whole life, skip the network and enjoy the rare self-hosted app that needs no server.

Compare Anytype

21 head-to-head comparisons.

Similar notes & knowledge base apps