openSUSE
zypper asks whether to trust the repository key on the refresh. Check the fingerprint against the one at the foot of this page, then answer a to trust it always. openSUSE's rctapedeck shortcut is installed too.
Every release is built on the openSUSE Build Service for five distributions, on x86_64 and — for most of them — ARM. Add the repository once, and new versions arrive with the rest of your system updates. No Rust toolchain and no Bun on the machine that runs it.
| Distribution | OBS repository | Architectures |
|---|---|---|
| Tumbleweed | openSUSE_Tumbleweed | x86_64 |
| Tumbleweed on ARM | openSUSE_Factory_ARM | aarch64 |
| Leap 16.0 | 16.0 | x86_64, aarch64 |
| Fedora 44 | Fedora_44 | x86_64, aarch64 |
| Fedora 43 | Fedora_43 | x86_64, aarch64 |
| Rawhide | Fedora_Rawhide | x86_64 |
| Debian 13 “trixie” | Debian_13 | amd64, arm64 |
| Ubuntu 26.04 | xUbuntu_26.04 | amd64 |
| Arch | Arch | x86_64 |
The build log and the files for each one are on the OBS package page. openSUSE's download page writes the same commands for your distribution, if you would rather take them from there.
zypper asks whether to trust the repository key on the refresh. Check the fingerprint against the one at the foot of this page, then answer a to trust it always. openSUSE's rctapedeck shortcut is installed too.
This is the dnf5 syntax Fedora has shipped since 41. dnf asks to import the repository key on the first install; the fingerprint is at the foot of this page.
Raspberry Pi OS on trixie is Debian 13, so a Pi running the 64-bit image takes the arm64 package as it is — nothing to compile on the Pi. The key is trusted for this one repository only, rather than dropped into trusted.gpg.d where apt would accept it for all of them. Debian 12 is not built: its Rust is older than the 1.88 Tapedeck needs.
22.04 and 24.04 are not built — their Rust is older than the 1.88 Tapedeck needs. On those, build from source.
The section name has to be home_abksh_tapedeck_Arch exactly — pacman looks for a database file of that name. The fingerprint in the second line is the key OBS signs with; the first line only fetches it, and nothing trusts it until the second.
The service is installed but not started, on every distribution. Until someone creates the first admin account, the setup page answers anyone who can reach port 8080. So it starts when you start it, not as a side effect of a package install.
MUSICBRAINZ_CONTACT is the one setting to fill in. MusicBrainz blocks clients
that don't identify themselves. Leave it empty and the MusicBrainz and Cover Art Archive
lookups stay off, and the log says so. Behind a reverse proxy, set TRUST_PROXY=true and PUBLIC_URL in the same file. Everything
else is set in the web UI.
/usr/bin/tapedeck The binary, with the web UI embedded/etc/tapedeck/tapedeck.env Infrastructure settings, read by the service. Kept across upgrades/var/lib/tapedeck Databases, the credential key tapedeck.key, uploaded scans/var/log/tapedeck Log files, alongside the journal/usr/share/doc/tapedeck/env.example Every setting there is, and what it is forIt runs as a systemd dynamic user. There is no tapedeck account to create, and
nothing else on the host can write to its directories. Logs are also in journalctl -u tapedeck.
Back up /var/lib/tapedeck, but keep tapedeck.key out of the database
backups. A backup stored with its key is the same as no encryption. Fedora and openSUSE
restart the service when an upgrade lands. On Debian, Ubuntu and Arch the old version keeps
running until you sudo systemctl restart tapedeck.
Tapedeck is packaged for Linux only. On Debian 12, Ubuntu 22.04 or 24.04, another
distribution, or another system, build it from source. You need
Rust 1.88+ and Bun, and cargo build --release gives you one binary with the UI
inside. A Docker image is in development.
Or try the demo first. It is the real binary on a Raspberry Pi Zero 2 W.
Every repository is signed by the same key: home:abksh OBS Project. Check its fingerprint before you trust it.