noisebell/README.md

1.7 KiB

Noisebell

Space status

Monitors the door at Noisebridge and tells you whether it's open or closed.

A Raspberry Pi reads a magnetic sensor on the door and pushes state changes to a cache server. The cache keeps the latest state and fans updates out to chat integrations such as Discord and Zulip.

Pi (door sensor) ──webhook──> Cache ──webhook──> Discord / Zulip
                                |
                     polls Pi <-+
                                |
                                +──webhook──> Pi relay ──webhook──> Home Assistant

Layout

Directory What it is
pi/ Raspberry Pi OS base with laptop-built Noisebell deploy
remote/ Server-side services (cache, RSS, Discord, Zulip)
secrets/ Shared agenix-encrypted secrets and recipient rules

Each directory has its own README with setup and configuration details.

For hosted deployment, another repo such as ../extremist-software imports noisebell.nixosModules.default. That host repo provides deployment-specific values like domains, ports, and the Pi address, while the Noisebell module itself points agenix at the encrypted files in secrets/ and consumes the decrypted runtime files on the target machine.

Useful commands:

  • ./scripts/nhs redeploys the remote cache host using the local checkout as the flake input
  • scripts/deploy-pios-pi.sh pi@100.66.45.36 redeploys the Raspberry Pi OS machine

The full Home Assistant relay workflow is documented in pi/README.md.