Getting Started
Quick start
Needs Nix (with flakes) and Docker or Podman.
nix develop # enter the dev shell (provides every tool)
task lock # generate Cargo.lock (first time only)
task run # open http://localhost:3000
Run task with no arguments to see all available tasks (build, test, lint,
container, sbom, cve, deploy, …).
For the shared, persisted canvas, run a Redis alongside:
docker run -d -p 6379:6379 redis:7-alpine
REDIS_URL=redis://localhost:6379 task run
What task run does
sequenceDiagram
actor Dev as Developer
participant T as task run
participant C as cargo
participant App as pixelflux (:3000)
participant S as Canvas store
actor Br as Browser
Dev->>T: task run
T->>C: cargo run
C->>App: compile (debug) and start
Note over App,S: REDIS_URL set: Redis<br/>otherwise: in-memory
Br->>App: open http://localhost:3000
App-->>Br: embedded web UI
Br->>App: POST /api/pixel
App->>S: store the pixel
App-->>Br: SSE /api/events (live update)