34 lines
1.7 KiB
Markdown
34 lines
1.7 KiB
Markdown
# Noisebell
|
|
|
|
[](https://your-cache-domain.example.com/status)
|
|
|
|
Monitors the door at [Noisebridge](https://www.noisebridge.net) 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/`](pi/) | Raspberry Pi OS base with laptop-built Noisebell deploy |
|
|
| [`remote/`](remote/) | Server-side services (cache, RSS, Discord, Zulip) |
|
|
| [`secrets/`](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`.
|