86 lines
1.3 KiB
Markdown
86 lines
1.3 KiB
Markdown
# 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
|
|
```
|