New daemon architecture

This commit is contained in:
2026-02-06 13:47:06 -03:00
commit cbe18da598
18 changed files with 2435 additions and 0 deletions

85
dist/INSTALL.md vendored Normal file
View File

@@ -0,0 +1,85 @@
# bleh / blehd install notes
## Recommended model
- `bleh` is unprivileged.
- `blehd` runs as **root** (recommended). It owns the BLE device, and exposes a Unix socket for `bleh` to use.
- Access to that socket can be restricted with `--group` (recommended).
## Build
```sh
make build
```
## Install (system)
```sh
sudo make install PREFIX=/usr/local
```
By default (`SETCAP=auto`), `make install` will apply capabilities to `blehd` when run as root.
If you plan to run `blehd` as a **root system service** (recommended), you can skip capabilities:
```sh
sudo make install SETCAP=0
```
## Group access (optional)
If you want group-based access to the socket:
```sh
sudo groupadd -r bleh || true
sudo usermod -aG bleh $USER
# then re-login
```
Then run blehd with `--group bleh`.
## systemd service (recommended)
Install the unit:
```sh
sudo make install-systemd
```
Enable it:
```sh
sudo systemctl daemon-reload
sudo systemctl enable --now blehd.service
```
This will run `blehd` as root, listening on:
- `/run/bleh/blehd.sock`
To uninstall:
```sh
sudo make uninstall-systemd
```
## OpenRC service
Install the init script:
```sh
sudo make install-openrc
```
Enable it:
```sh
sudo rc-update add blehd default
sudo rc-service blehd start
```
To uninstall:
```sh
sudo make uninstall-openrc
```