A self-hosted registry for the metadata Matter discards.
Matter commissioning tools usually discard setup secrets after the first pairing. That is a problem when you need to pair a device again and the box is long gone. Matter Registry keeps the pairing PIN, setup codes, original QR payload, photos, purchase details, warranty dates, firmware notes, and anything else you want to remember about the device.
From a stored payload, Matter Registry can recreate the QR code and 11-digit manual pairing code. It can also print a sticker for one device or a full sheet on Avery L7162 (A4) or 5162 (US Letter) label stock. Choose the label format under Settings → Printing. You can restore a JSON backup on a fresh installation without losing devices, credentials, or photos.
The application has no login screen. It is meant to stay on a private LAN, with access controlled by your network or Home Assistant Ingress.
- Open Home Assistant → Settings → Add-ons → ⋮ (overflow menu) → Repositories.
- Add the store URL:
https://github.com/Jaano/matterregistry - Refresh the store list, find Matter Registry, and click Install.
- Start the App, then click Open Web UI.
Home Assistant opens the App through Ingress, so you do not need port forwarding or a reverse proxy. Links continue to work under the Ingress URL.
Create a docker-compose.yml:
services:
matterregistry:
image: ghcr.io/jaano/matterregistry:latest
container_name: matterregistry
ports:
- "5591:5591"
volumes:
- ./data:/config
environment:
- MR_LOG_LEVEL=info
restart: unless-stoppedThen:
docker compose pull && docker compose up -dOpen http://localhost:5591. Matter Registry keeps all of its data in one SQLite file at ./data/matterregistry.db.
Camera scanning requires HTTPS. Browsers only allow
getUserMediain a secure context. On a standalone server, use a TLS reverse proxy or open Matter Registry onlocalhost. Manual entry, pastedMT:payloads, JSON import, and the REST API still work over plain HTTP. Home Assistant Ingress already provides a secure context.
Settings → Download full backup creates one JSON file with every device, credential, and attachment. Images are stored in the file as base64. Pairing PINs are plain text, so keep the backup somewhere only you can read.
To restore it, open Settings → Restore from backup, choose the file, and decide whether duplicate records should be skipped or replaced.
- Home Assistant, Matter Server, and OpenThread Border Router integrations are optional; when configured, compatibility baselines are Home Assistant 2026.1.1, Python Matter Server 8.0.0, and OpenThread Border Router 3.0.0, with newer capabilities used only when supported.
- The SQLite database and JSON backups contain pairing PINs in plain text. Protect the data directory and backup files with filesystem permissions.
- Matter Registry relies on Home Assistant Ingress or your own reverse proxy for access control. Do not expose port 5591 to the public internet.
- Camera scanning needs HTTPS. This restriction does not affect manual entry, pasted payloads, or JSON imports.
- Sticker printing does not work in the iOS Home Assistant companion app. Its embedded web view (
WKWebView) does nothing when you tap "Print." Open Matter Registry in Safari on the same iPhone or iPad instead. Printing also works in desktop browsers and on Android.





