Repository navigation
A self-hosted register for a collection of old computers — every machine, card,
drive and chip with an asset tag, a page, photographs, files and a dated history;
a QR label you print and stick on the thing; browsing public and editing behind
one login; a JSON API and a command-line toolkit beside the web pages.
This is the first release, and so not a list of changes: there is nothing before
it to have changed from. README.md says what it is for,
MANUAL.md what every part of it does, and
INSTALL.md how to run your own.
Start here
Follow INSTALL.md from the top. Two settings decide things that are
awkward to change later:
RHDB_BASE_URLis what the QR codes on printed labels encode. Set it before
you print any, or the labels point at the wrong place and the only fix is to
print them again.RHDB_AUTH_USERandRHDB_AUTH_PASSWORDput editing behind a login.
Leaving them blank makes every visitor the owner — which is supported, but only
deliberately: withoutRHDB_OPENthe app says so at startup and on every page.
What it runs on
Docker Compose, with Caddy in front for TLS, and MariaDB behind. Migrations run
as the app starts, so an upgrade needs no step of its own.
It has been installed three times in two shapes before this tag: the author's own
host, a clean host walked from INSTALL.md by the guide alone, and — as a test,
not a supported second path — a Kubernetes cluster, written up in
docs/deploying-on-k3s.md. That write-up is a record of
what Compose turned out to be quietly providing, and is worth reading before you
try the same.
Known, and said rather than left to be found
If DATABASE_URL is unset, the app falls back to a built-in default of
retro:retro@db. Under Compose you will not meet this: ${DB_PASSWORD:?…} stops
the stack before it can matter. Run the app any other way — Kubernetes, or by
hand outside Compose — and a missing variable does not fail, it quietly tries a
guessable password. Set DATABASE_URL explicitly if you are not using the
supplied compose file.
The accessibility target is WCAG 2.2 AA, with no exception taken
(ADR-0014), and deliberately
narrowed to the part of it the test suite can hold: the register says what it
tests and makes no conformance claim.
Licence
AGPL-3.0.