Repository navigation
Releases: hmerrett/retro-hardware-database
Release list
0.2.0-rc.1 — a release candidate
A release candidate for 0.2.0, for testing. 0.2.0 is the first release whose app
and tool server are published as images, and this candidate is there to see that
work on real machines — x86 and a Raspberry Pi — before a release depends on it.
0.2.0 itself will be tagged from main once it has, with anything merged since.
What 0.2.0 brings
Each release is published as images, so an installation no longer builds them.
The app and the tool server are built for x86-64 and 64-bit ARM and published at
ghcr.io/hmerrett/retro-hardware-database. Installing a release is a checkout of
its tag, docker compose pull and docker compose up -d, and nothing is compiled
on your machine.
Since 0.1.0 it also brings:
- Accounts, administrators and viewers, managed in the browser, with API
tokens; and a site can be closed to visitors. - Locations as records with labels you can scan, a machine as a place things
are in, and an Audit screen for a phone or a handheld barcode scanner. - Labels with barcodes, two labels each set up for its own job, a picture of
each as it prints, and a print queue for a printer on another machine. - Files linked to the things they are for by asset tag, and PDFs, READMEs and
text files read in the browser. - A settings page, the database pinned to MariaDB 11.8, and the off-site backup
now including the uploaded files.
All of it, and what each change means for an installation, is under Unreleased in
CHANGELOG.md.
Trying it
On a new installation, follow INSTALL.md with v0.2.0-rc.1 in place
of v0.2.0 in step 2, and for step 5:
echo RHDB_VERSION=0.2.0-rc.1 >> .env
docker compose pull
docker compose up -dThe first line points it at this candidate's images. The compose file names 0.2.0's,
which aren't published until 0.2.0 is, so without it pull says the images must be
built from source. With it, pull should fetch both without building anything, and
⋯ → Settings → Server should say 0.2.0, at commit 55b97c2.
An installation of 0.1.0 can try it too, after a backup (tools/backup.sh):
git fetch --tags
git checkout v0.2.0-rc.1
echo RHDB_VERSION=0.2.0-rc.1 >> .env
docker compose pull
docker compose up -dMost of it upgrades itself as the app starts, but a few things want a hand — the
database engine, the tool server's login, the locations you typed, and
DATABASE_URL if you run it without Compose — and each is under Upgrading in the
changelog.
Don't try it on a box that follows main. That box is already past this candidate,
and pulling would swap its build for older code
(INSTALL.md §8, Not both).
When 0.2.0 is out, move to it as INSTALL.md §8 says, and take the RHDB_VERSION
line you added back out of .env.
Wanted: a Raspberry Pi
The ARM images were built on ARM, but haven't yet run on a Pi. A run on one is what
this candidate most wants, on the 64-bit Raspberry Pi OS: dpkg --print-architecture
says arm64. The 32-bit OS, armhf, can't run them. Anything that goes wrong, as an
issue, please.
The images
ghcr.io/hmerrett/retro-hardware-database/api:0.2.0-rc.1ghcr.io/hmerrett/retro-hardware-database/mcp:0.2.0-rc.1
Each for linux/amd64 and linux/arm64. A candidate is published under its own tag
alone: 0.2.0 and 0.2 arrive with 0.2.0 itself, and nothing is ever tagged
latest.
0.1.0 — the first release
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.