Peira Labs

New Peira 1.2.0 adds Datacenter Manager and Backup Server tabs

Infrastructure software that shows what it checked.

Peira Labs builds tools for people who run their own servers: a native control panel for Proxmox VE, a health check for VPN download stacks, and an open specification for answers that report which revision they came from.

Linux · Apache-2.0 · releases signed with the Peira Labs key

The Peira dashboard in demo mode: a navigation rail, alerts that need attention, four nodes with CPU and memory use, and cluster load gauges.
Peira in demo mode. A banner marks every demo screen as fake data, so a screenshot cannot pass for a real lab.

Products

Tools for the people who run the servers

Peira, deadair and revcheck are open source, and each one’s documentation says plainly what it does not do.

Released v1.2.0 · Apache-2.0 · Linux

Peira

A native desktop control panel for a Proxmox VE homelab. Read-only with an auditor token, with management actions when you give it a token that allows them.

  • Proxmox VE nodes, containers and snapshots, with live charts
  • Datacenter Manager and Backup Server tabs
  • Metrics from Prometheus, and media-service status panels
  • AI chat for any OpenAI-compatible endpoint
  • Terminal whose SSH targets come from live inventory
  • Eight themes, each with a light and a dark variant

Released v0.1.1 · Apache-2.0 or MIT

deadair

Checks that a gluetun and qBittorrent stack is moving traffic, not only configured. It stays quiet when the queue is idle, so it is safe to alert on.

[ok]   tunnel          203.0.113.42
[fail] port_agreement  forwarded 51413, listening 6881
[fail] traffic         3 torrents want data; 0 bytes in 900s

Example output from the deadair README.

About deadair

Draft 0.1.0 · revcheck v0.2.1

Revision Agreement

An open specification for systems that answer from a copy of their data, such as a search index or a cache. It asks three questions:

  1. Does a result carry its revision?
  2. Can the copy be checked against the original?
  3. Does disagreement stop it?

Read the specification

Also from Peira Labs

Field tools Live
A set of twelve free browser tools for planning and troubleshooting a homelab. Four use a language model you supply. MIT.
Peira Baseline In development
OpenTofu and Ansible for a small Proxmox cluster, accepted when tofu plan reports no changes and a check-mode Ansible run reports nothing changed. The method is described in the Cluster-as-Code series.
ask-homelab Internal
Answers questions about a private wiki. Every answer carries the revision its search index was built from, and answers from a stale index are labeled. How it works.

Approach

How the work is built

Signed, checksummed releases

Every Peira release ships with checksums signed by the Peira Labs release key. deadair and revcheck publish a SHA256SUMS file beside their binaries.

Source: Peira 1.2.0 release

Tested where it runs

Peira’s documentation names the distributions it was tested on, how they were tested, and the platforms that are out of scope.

Source: Peira compatibility

Read-only first

Peira works with a read-only Proxmox token until you need management actions. deadair only reads; its one write is the login it needs in order to read.

Source: deadair scope

Answers that name their source

The Revision Agreement asks a system to report which revision an answer came from, and to refuse or label the answer when its copy is behind.

Source: requirements

Open specification

Catch a stale answer

Search indexes, caches and replicas fall behind the data they copy, and the answers still look right. This simulation runs entirely in the page and sends nothing anywhere. Change the source, then ask.

Worked example

  1. The source says backups start at 02:00, at revision r12. The copy was built from r12.
  2. Someone changes the source to 03:30. The source is now r13; the copy is still r12.
  3. The unchecked reader answers “02:00” from the copy, with nothing to show it is out of date.
  4. The checked reader compares revisions, sees r12 against r13, and refuses.
  5. After the copy is rebuilt, both answer “03:30”, and the checked reader adds that the answer came from r13.

The unchecked reader is level 0 in the specification. The checked reader meets level 3: it reports its revision (R1), compares the copy with the source (R2), and refuses when they disagree (R3). R3 also allows answering with a machine-readable label naming the stale copy and both revisions.

Get in touch

Questions about the products, bug reports, or anything else.