2026-09-24 09:37:20 -07:00
2026-09-23 12:43:10 -07:00
2026-09-24 08:28:43 -07:00
2026-09-24 08:28:43 -07:00
2026-09-23 13:01:22 -07:00
2026-09-24 09:37:20 -07:00
2026-09-23 13:01:22 -07:00
2026-09-23 13:36:24 -07:00
2026-09-22 16:11:20 -07:00
2026-09-23 10:59:58 -07:00
2026-09-23 11:14:58 -07:00
2026-09-22 16:11:20 -07:00
2026-09-22 16:11:20 -07:00

snotes (SchmeeveNotes)

A simple hosted markdown notes app. Notes are stored as plain .md files on a filesystem mount (NAS), with metadata and full-text search kept in SQLite.

Features

  • Rich text editor (TipTap) with markdown round-trip
  • Twitter-style #tags parsed automatically from note text
  • Front page with recent notes, most-used tags, and search (SQLite FTS5)
  • Multi-user spaces selected via cookie, plus a shared common space
  • Local (LAN) access needs no password; remote access needs one set in .env
  • Append-only note history recording time, IP, and user-agent

Quick Start

cp .env.example .env
uv sync
./run-local

Open http://localhost:8000

Docker

docker compose up --build

Runs on http://localhost:8019, mounting /mnt/aura/snotes for notes.

Configuration

Variable Default Description
DATA_DIR data/notes Filesystem directory for .md notes
DATABASE_PATH snotes.db SQLite metadata + FTS index
USERS schmeeve,ilya Comma-separated fixed usernames
COMMON_SPACE common Shared space name
REMOTE_PASS (empty) Remote-access password
SECRET_KEY change-me-... Signing key for auth cookies
LAN_CIDRS 192.168.1.0/24 Subnets allowed in without a password

Tests

uv run pytest

Stack

  • Backend: Python / FastAPI / aiosqlite (FTS5)
  • Editor: TipTap (ProseMirror) + marked + Turndown for markdown round-trip
  • Storage: Markdown files on a mounted filesystem; SQLite for metadata
  • Deploy: Docker
Description
No description provided
Readme 9.1 MiB
Languages
Python 49.6%
JavaScript 28.1%
CSS 16.4%
Shell 3.5%
HTML 2.1%
Other 0.3%