Operations¶
Where notes live¶
Every note is a plain markdown file in DATA_DIR (/data in the container), named <id>.md. With the quick start's compose.yaml that's the data folder next to it. You can read, grep or copy the files directly.
notefeed writes them as the owner of that folder: create it yourself (mkdir data) and the notes are yours. To choose a different owner, set PUID and PGID. If Docker created the folder (owned by root), notefeed falls back to uid/gid 1000.
Keeping notes in git¶
Since the notes are your files, data can be a git repository:
cd data
git init
git add -A && git commit -m "notes"
notefeed only reads files named like notes, so .git and any other files in the folder are ignored.
Backups¶
Back up the data folder. There's no database: restoring the files restores the notes.
tar czf notefeed-notes.tgz -C data .
Deleting a note¶
Delete its file. It disappears from the web UI and the feed straight away.
rm data/20260929T140512Z-backup-finished.md
Upgrading¶
With the published image:
docker compose pull && docker compose up -d
Image tags on ghcr.io/marceltov/notefeed:
| Tag | Moves on |
|---|---|
:latest |
every release and every change on main |
:main |
every change on main |
:X.Y.Z, :X.Y, :X |
releases (:0.1 follows the newest 0.1.x) |
To upgrade only on purpose, pin a version, e.g. image: ghcr.io/marceltov/notefeed:0.1. Each release is listed on GitHub Releases with its notes.
Built from source:
git pull && docker compose up -d --build
Notes are untouched by upgrades.
Running from source¶
For development:
npm ci
NOTEFEED_TOKEN=dev DATA_DIR=./data npm run dev
npm test && npm run lint && npm run typecheck