⚠ Breaking Change: Moved from Alpine to Distroless
With version 0.39.0 the docker base image has moved from Alpine to Distroless.
Why
I've moved Kiosk over to Distroless for size, speed and security. I've always tried to be as friendly to users hardware (and security conscience) as I can and a smaller docker image just makes sense.
- Smaller image (around 50% smaller then Alpine)
- No shell (bash etc) so it has a smaller attack surface
- Faster startups
- Runs as nonroot by default
Possible user actions
Healthcheck
With this change the current healthcheck will no longer work as distroless does not include CURL, so I built one into Kiosk.
# OLD
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
# NEW
healthcheck:
test: ["CMD", "/kiosk", "--healthcheck"] # 👈 This is the only change to the healthcheck
interval: 30s
timeout: 5s
retries: 3
start_period: 10sOffline assets permissions
As Kiosk now runs as nonroot you may get permission errors when using offline mode. View the offline docs for a solution.
Fullscreen keyboard keybind
Pressing "f" will toggle the browser fullscreen mode.
What's Changed
🚀 New Features
- keybind for fullscreen by @damongolding in #757
- Feature/cache duration by @damongolding in #762
🔨 Maintenance
- Chore/remove bun
slopby @damongolding in #752 - Chore/distroless by @damongolding in #759
- Chore/gofumpt by @damongolding in #760
- deps by @damongolding in #767
Full Changelog: v0.38.1...v0.39.0