What you run
API_KEY=… curl … | bash does not pass the key into bash — use ?key=.)
That script:
- Enrolls — EC P-256 key on the node → Cloudflare client certificate via
/sensors/register - Runs —
docker composefromoci://ghcr.io/reyhford/sensor:latest+ host cert override - Updates — enables
reyhford-sensor-pull.timer(:latest→ cosign verify →compose up)
install.sh.
Prerequisites
- Linux host (root / sudo)
- Public IPv4 (honeypot ports bind on the host)
- Docker (installed by
install.shif missing) - Org API key from the developer portal
Step 1 — Get your API key
- Open the developer portal and sign in.
- Copy your org API key (same key used for the public API).
- Or use Add Sensor for the one-liner template.
Step 2 — Run it
Paste the command on your Linux host. First boot enrolls the node and starts Cowrie, Dionaea, Conpot, and Vector.Step 3 — Confirm
- Containers:
docker ps(all should be healthy) - Portal: My Sensors
- API:
GET https://reyhford.com/api/v1/sensors/{sensor_id}/status
Updates
Do nothing.reyhford-sensor-pull.timer runs about hourly: resolves
ghcr.io/reyhford/sensor:latest, verifies the cosign signature (GitHub Actions
OIDC / Fulcio), then docker compose pull && up. Failed verify = no update.