Silicon Notes is a deliberately small personal knowledge base you host yourself: pages are Markdown, rendered to HTML, stored in a single SQLite database on your own disk. It is built by Charles Ulrich and written in Python with Flask and Mistune rather than a large web framework, which is why the whole application is a handful of files and starts in a container in seconds. The project has been on GitHub since 2023 and is licensed Apache-2.0.
The design brief is “few frills”, and the interface reflects it. A page opens as rendered HTML with a left sidebar holding the table of contents, the edit button, page history and related pages, and a search box at the bottom. Editing switches to raw Markdown in a textarea, or to a CodeMirror editor with syntax highlighting if you leave the default configuration in place. There are no notebooks, no blocks, no plugins and no sync daemon to reason about — just pages, links between them, and revisions kept for every save.
/docs section ships with the app and covers Markdown syntax, configuration and the page conventions it follows.Everything lives under the INSTANCE_PATH directory, normally /home/silicon/instance in the official container: an SQLite database for pages, revisions, relationships and the search index, plus a generated secret key. Pages can be exported to one JSON file per page — with all their revisions — and imported back, which means the storage layer can be backed up, migrated or replaced without losing writing. A nightly copy of that directory is a complete backup.
The project publishes an official image, so a first run is one command: mount a volume for the instance directory, publish port 5000, and the entrypoint initialises the database before starting Gunicorn. Configuration is by environment variable — INSTANCE_PATH, SECRET_KEY, and SILICON_EDITOR=textarea to drop CodeMirror in favour of a plain textarea.
One honest caveat from the project’s own README: Silicon Notes ships with no authentication or authorisation at all. It is designed for a trusted private network or behind a reverse proxy that handles access control, and it is explicitly not meant to be exposed to the open internet as-is. Deploy it on a LAN, a VPN or behind an authenticating proxy.
Open source, Apache-2.0. Copyright 2023 Charles Ulrich; the full licence text ships in the repository root.