Skip to content

Releases: hmerrett/retro-hardware-database

0.2.0-rc.1 — a release candidate

Pre-release

Choose a tag to compare

@hmerrett hmerrett released this 14 Oct 08:02

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 -d

The 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 -d

Most 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.1
  • ghcr.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

Choose a tag to compare

@hmerrett hmerrett released this 18 Sep 20:47
5e9d91c

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_URL is 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_USER and RHDB_AUTH_PASSWORD put editing behind a login.
    Leaving them blank makes every visitor the owner — which is supported, but only
    deliberately: without RHDB_OPEN the 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.