Add Podman installation docs with required capabilities

Document NET_RAW and NET_ADMIN capabilities needed for network
scanning when running Strix with Podman. Includes podman run,
podman-compose, and Quadlet (systemd) setup instructions.

Addresses #6
This commit is contained in:
eduard256
2026-03-22 17:57:24 +00:00
parent c95740137d
commit 7cab640bf2
2 changed files with 90 additions and 0 deletions
+82
View File
@@ -67,6 +67,88 @@ Services:
- go2rtc: http://localhost:1984
- Frigate: http://localhost:5000
## Podman
Strix uses raw sockets for network scanning. Podman drops these capabilities by default,
so you need to add them explicitly. Rootless mode does not support host network scanning —
run with `sudo`.
### Using Podman Run
```bash
sudo podman run -d \
--name strix \
--network host \
--cap-add=NET_RAW \
--cap-add=NET_ADMIN \
--restart unless-stopped \
eduard256/strix:latest
```
- `NET_RAW` — required for network scanning (ARP, ICMP) to discover cameras
- `NET_ADMIN` — required for network interface and routing operations
### Using Podman Compose
```yaml
version: '3'
services:
strix:
image: eduard256/strix:latest
container_name: strix
restart: unless-stopped
network_mode: host
cap_add:
- NET_RAW
- NET_ADMIN
environment:
- STRIX_LOG_LEVEL=info
- STRIX_LOG_FORMAT=json
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:4567/api/v1/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
```
```bash
sudo podman-compose up -d
```
### Using Quadlet (systemd)
Recommended for production. Create `/etc/containers/systemd/strix.container`:
```ini
[Unit]
Description=Strix Camera Stream Discovery
After=network-online.target
Wants=network-online.target
[Container]
Image=docker.io/eduard256/strix:latest
ContainerName=strix
Network=host
AddCapability=CAP_NET_RAW CAP_NET_ADMIN
Environment=STRIX_LOG_LEVEL=info
Environment=STRIX_LOG_FORMAT=json
AutoUpdate=registry
[Install]
WantedBy=multi-user.target
```
```bash
sudo systemctl daemon-reload
sudo systemctl enable --now strix
sudo systemctl status strix
```
Quadlet auto-generates a systemd service from the `.container` file.
The container starts on boot and restarts on failure automatically.
## Building Locally
```bash
+8
View File
@@ -49,6 +49,14 @@ Open **http://YOUR_SERVER_IP:4567**
sudo apt update && command -v docker >/dev/null 2>&1 || curl -fsSL https://get.docker.com | sudo sh && command -v docker-compose >/dev/null 2>&1 || { sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose; } && curl -fsSL https://raw.githubusercontent.com/eduard256/Strix/main/docker-compose.yml -o docker-compose.yml && docker-compose up -d
```
### Podman
```bash
sudo podman run -d --name strix --network host --cap-add=NET_RAW --cap-add=NET_ADMIN --restart unless-stopped eduard256/strix:latest
```
Strix uses network scanning to discover cameras. Podman blocks this by default, so `NET_RAW` and `NET_ADMIN` capabilities are required. Must run as root (`sudo`). See [DOCKER.md](DOCKER.md) for Podman Compose and Quadlet (systemd) setup.
### Home Assistant Add-on
**Installation:**