first pass?
This commit is contained in:
56
README.md
56
README.md
@@ -1,2 +1,56 @@
|
||||
# snotes
|
||||
# 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
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
uv sync
|
||||
./run-local
|
||||
```
|
||||
|
||||
Open http://localhost:8000
|
||||
|
||||
## Docker
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user