# 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: ```powershell $env:HAVENLLO_DATABASE_PATH = "$PWD\havenllo.db" go run ./cmd/havenllo ``` In another terminal, run the frontend development server: ```powershell Set-Location web npm ci npm run dev ``` For the embedded production bundle, run `npm run build` in `web/` before `go build ./...`. ## Verification ```powershell 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`: ```sh 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: ```sh kubectl apply -f deploy/havenllo.yaml -n default kubectl -n default rollout restart deployment/havenllo ``` The app is available internally at `http://havenllo.haven`.