No description
Find a file
2026-03-23 15:56:36 -07:00
pi feat: add basic rss feat support 2026-03-23 13:56:00 -07:00
remote fix: remove invalid offline -> online check 2026-03-23 15:56:36 -07:00
scripts fix: active poll instead of wait for interupt 2026-03-23 13:22:55 -07:00
secrets feat: update ot synchronous gpio and rotate keys 2026-03-23 01:49:01 -07:00
.envrc feat!: make declarative version 2026-03-22 17:40:48 -07:00
.gitignore feat!: make declarative version 2026-03-22 17:40:48 -07:00
Cargo.lock feat: move rss to it's own module and add atom support 2026-03-23 15:43:59 -07:00
Cargo.toml feat: move rss to it's own module and add atom support 2026-03-23 15:43:59 -07:00
flake.lock feat!: make declarative version 2026-03-22 17:40:48 -07:00
flake.nix feat: move rss to it's own module and add atom support 2026-03-23 15:43:59 -07:00
README.md feat: deploy onto the pi and add scripts for boot 2026-03-22 23:24:07 -07:00
rustfmt.toml feat: add basic rss feat support 2026-03-23 13:56:00 -07:00

Noisebell

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 Discord.

Pi (door sensor) ──webhook──> Cache ──webhook──> Discord
                                |
                     polls Pi <-+

Layout

Directory What it is
pi/ Raspberry Pi OS base with laptop-built Noisebell deploy
remote/ Server-side services (cache and Discord bot)
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.