super basic note taking app, takes a Remote-User header provided by caddy/authelia (forward auth) and saves each users' note file to disk.
Find a file
2026-02-16 18:42:03 +01:00
templates thanks claude 2026-02-16 18:33:27 +01:00
app.py thanks claude 2026-02-16 18:32:50 +01:00
OpenRouter Chat Mon Feb 16 2026.md upload ai chat 2026-02-16 18:34:04 +01:00
README.md Update README.md 2026-02-16 18:42:03 +01:00

Needed a simple note taking app that works well with authelia.

HOW TO RUN:

  • install uv if you haven't, its the only sane way to run python
  • clone the repo
  • cd into the app dir
  • "uv run app.py"

SYSTEMD USER SERVICE

i like running my things as non-root. create a file in ~/.config/systemd/user/notes-app.service:

[Unit]
Description=Notes
After=network.target

[Service]
Type=simple
WorkingDirectory=%h/notes-app
ExecStart=/usr/bin/uv run app.py
Restart=on-failure

[Install]
WantedBy=default.target

Background info

ai chat almost 1shot this and i think it will be useful.

SUPER simple stuff, i do NOT recommend using AI code for anything serious.

I wish a lot more apps worked with the "forward-auth" pattern. have ONE simple, secure authentication service, like authelia, and a reverse proxy like caddy that "asks" it on each incoming request (for sites meant to be behind auth) if the access is allowed.

if access is allowed (usually decided by authelia having previously set a JWT - a fancy cookie - on the client) it gives Caddy some headers to add, such as Remote-User and Remote-Groups.

Your app can then simply check for existence of such a header and act accordingly, no need to roll your own auth.

This also works for many different services, as long as their domain is the same (shiny.space in my case).