Havenllo
Havenllo is a small, single-board kanban app for the Haven homelab. It serves a Preact SPA and a same-origin Go/SQLite API from one binary. On first start it creates the fixed To do, In progress, and Done columns.
Local development
Use a writable database path outside the default container location:
$env:HAVENLLO_DATABASE_PATH = "$PWD\havenllo.db"
go run ./cmd/havenllo
In another terminal, run the frontend development server:
Set-Location web
npm ci
npm run dev
For the embedded production bundle, run npm run build in web/ before
go build ./....
Verification
go test ./...
Set-Location web; npm ci; npm run build
Set-Location ..; go build ./...
Container and deployment
Build and push the multi-architecture image on docker-build.haven:
docker buildx build --platform linux/amd64,linux/arm64 -t git.ivanch.me/ivanch/havenllo:latest --push .
Or push main / dispatch the Gitea workflow. Apply the manifest and restart
the deployment:
kubectl apply -f deploy/havenllo.yaml -n default
kubectl -n default rollout restart deployment/havenllo
The app is available internally at http://havenllo.haven.
Description
Languages
TypeScript
35.6%
CSS
32.2%
Go
31.4%
Dockerfile
0.5%
HTML
0.3%