Fast, secure self-hosted visual kanban board and task manager written in Rust.
Run the official zero-dependency container on port 4401:
docker run -d --name grid -p 4401:4401 -v /mnt/user/appdata/grid:/config ghcr.io/studio2201/grid:latestOpen your browser to http://localhost:4401 to start managing boards immediately.
On Debian, Ubuntu, Fedora, or RHEL:
curl -fsSL https://studio2201.github.io/packages/install.sh | sudo bashDeploy via the official Unraid Template:
- Copy
grid.xmlto your Unraid flash drive under/boot/config/plugins/dockerMan/templates-user/. - Open Docker -> Add Container -> Select grid from the template dropdown.
- Click Apply.
The backend service can be customized using the following environment variables:
| Variable | Description | Default |
|---|---|---|
PORT |
Network port the web server binds to | 4401 |
GRID_PIN |
Security PIN required for application access | (Disabled) |
GRID_DATA_DIR |
Directory path for persistent data and boards | /config |
GRID_ALLOWED_ORIGINS |
CORS allowed origins list (comma-separated) | * |
TRUST_PROXY |
Honor reverse proxy headers (X-Forwarded-For) |
false |
TRUSTED_PROXY_IPS |
Comma-separated CIDR list of trusted reverse proxies | (None) |
LOG_LEVEL |
Tracing filter (error, warn, info, debug) |
info |
Every container and package includes a built-in administration utility (grid).
Launch interactive TUI dashboard:
docker exec -it grid grid tuiSystem diagnostics and self-healing check:
docker exec -it grid grid doctorCLI Command Reference:
grid tui— Interactive terminal user interface.grid doctor— Diagnoses storage permissions, ports, and database health.grid status— Displays network configuration and security parameters.grid data stats— Shows storage utilization and entry metrics.grid data list— Lists kanban boards and task items.
- Axum Web Backend: High-concurrency async HTTP/JSON runtime built on Tokio.
- Yew WebAssembly Frontend: Type-safe client bundle running natively in browser WASM runtime.
- Strict Input & Path Sanitization: Path canonicalization guards preventing directory traversal escapes.
- Fail-Closed Security PIN Authentication: Rate-limited brute force protection with automatic lockout timers.
Distributed under the Apache 2.0 License. See LICENSE for details.