SiYuan is a privacy-first personal knowledge management app built around block-level references and a Markdown WYSIWYG editor. Instead of linking whole pages, you can reference and embed individual blocks (a paragraph, a list item, a heading) anywhere else in your notes, and those links stay two-way. It's built for people who want a local-first, block-based note system with a lot of editing and organizing power, from students building study notes to writers and researchers managing large, cross-referenced document sets.
SiYuan works well for anyone building a large, interconnected knowledge base where individual ideas, not just whole documents, need to link to each other. Concrete scenarios:
It's a weaker fit if you just want a simple, lightweight note-taking app with minimal setup. The block-reference model and editor have a learning curve, and some advanced capabilities (detailed in SiYuan's pricing page) are reserved for paid members rather than the free tier. If your workflow is plain-text files edited in an external editor, a simpler Markdown tool may suit you better.
The project recommends installing through an app market first, since that enables one-click upgrades later.
Desktop: Microsoft Store, or download an installation package directly from the SiYuan site or GitHub Releases.
Mobile: App Store, Google Play, or F-Droid.
Package managers: SiYuan is packaged under the names siyuan and siyuan-note in various distro repositories (see Repology for current package status).
Self-hosting with Docker is the recommended way to run SiYuan on a server:
docker run -d \
-v /siyuan/workspace:/siyuan/workspace \
-p 6806:6806 \
-e PUID=1001 -e PGID=1002 \
b3log/siyuan \
serve \
--workspace=/siyuan/workspace/ \
--accessAuthCode=xxx
The --workspace flag sets the data folder mounted from the host, and --accessAuthCode sets a lock-screen password (change this, since anyone with network access can otherwise reach your data). PUID/PGID let you match the container's user to your host's file ownership. A Docker Compose setup is also documented for those who prefer it, using the same environment variables, along with guidance on NAS-oriented options like Unraid and TrueNAS hosting for people who want SiYuan running alongside their other self-hosted services.