Skip to content

v0.2.0

Choose a tag to compare

@uniskela uniskela released this 14 Jun 05:56
· 64 commits to main since this release

Summary

v0.2.0 adds single-admin authentication and a stronger database foundation on top of the v0.1.0 manual-services dashboard. The dashboard is no longer open by default — first-run setup creates the admin account, and all routes are protected by signed session cookies.

What's new

  • First-run /setup to create the admin account
  • /login and logout from Settings
  • Middleware protection for dashboard routes
  • SQLite migrations (drizzle/) with startup migrator
  • settings and users tables
  • Safer auth redirects and session handling behind reverse proxies
  • PWA offline cache updated for authenticated deployments

Breaking changes

  • SESSION_SECRET is required in production containers
  • On first visit after upgrade, complete /setup to create the admin account
  • Unauthenticated access to /, /services, and /settings is blocked

Upgrade from v0.1.0

  1. Add SESSION_SECRET to your .env (generate with openssl rand -base64 32)
  2. Rebuild/restart: docker compose up --build -d
  3. Visit the app and complete /setup (existing services in the SQLite volume are preserved)
  4. Behind HTTPS reverse proxy: set COOKIE_SECURE=true and PUBLIC_URL to your public origin

See README.md and SECURITY.md.

Container images

GHCR

docker pull ghcr.io/uniskela/unihomelabdash:v0.2.0

Docker Hub

docker  pull  uniskela/unihomelabdash:v0.2.0

Tags v0.2.0 and 0.2.0 point at the same image.

Quick run (generate a secret first or use --env-file .env):

docker run -d --name unihomelabdash \
  -p 3000:3000 \
  -e SESSION_SECRET="$(openssl rand -base64 32)" \
  -v unihomelabdash-data:/app/data \
  --restart unless-stopped \
  ghcr.io/uniskela/unihomelabdash:v0.2.0

Still in v0.1.0 scope


  • Manual service bookmarks
  • On-demand health checks
  • Mobile-first PWA
  • Docker Compose deployment (no Docker socket mount)

What's next


  • Provider system foundation
  • Docker/Portainer read-only status (behind auth)
  • Multi-user / OIDC (later)

Full changelog: v0.1.0...v0.2.0