The deploy workflow is now a single job that builds, pushes, and deploys in one runner. Tag computation moved to docker/metadata-action, the per-deploy .env perl rewrite is gone (host pins LIBRENOTES_IMAGE once; main pushes update :main rolling, releases pin to :vX.Y.Z by manual edit), and both jobs run in our bespoke runner image whose runner user already has socket access via group membership. ci.yml moves to the same image so go/make/node are all available without per-step apt installs. Drops compose.prod.yaml (unused, redundant with compose.netcup.yaml).
33 lines
1.1 KiB
Markdown
33 lines
1.1 KiB
Markdown
# librenot.es
|
|
|
|
Cloud-native multi-tenant notes application built on Notesium (MIT).
|
|
|
|
## Project
|
|
|
|
- Repo: https://git.librete.ch/public/librenotes
|
|
- Remote: `https://git.librete.ch/public/librenotes.git`
|
|
- Stack: Go backend (forked from Notesium), vanilla JS frontend
|
|
- License: MIT (inherited from Notesium)
|
|
|
|
## Development rules
|
|
|
|
- **NEVER use sed** for file editing — use perl instead
|
|
- **NEVER install packages on host** — no pip, no nix-shell for deps
|
|
- **NEVER use python** for quick scripts — use perl
|
|
- **NEVER commit to the wrong repo** — this is `/home/mwc/Coding/librenotes`, not `/home/mwc/notes`
|
|
|
|
## Wave pipelines
|
|
|
|
- `gt-issue-*` pipelines use `tea` CLI with `--login libretech`
|
|
- `gh-issue-*` pipelines use `gh` CLI
|
|
- Personas must be registered in `wave.yaml` under `personas:` key — files alone aren't enough
|
|
- `wave.yaml` is gitignored (local config)
|
|
- `.env` contains GITEA_TOKEN (gitignored)
|
|
|
|
## Gitea
|
|
|
|
- Instance: https://git.librete.ch
|
|
- Auth: `tea` CLI, login name `libretech` (matches the Gitea username)
|
|
- API: https://git.librete.ch/api/v1
|
|
- Issues: https://git.librete.ch/public/librenotes/issues
|