Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/damdo/gokrazy-kiosk

run containerized GUIs in kiosk mode on gokrazy
https://github.com/damdo/gokrazy-kiosk

Last synced: 9 days ago
JSON representation

run containerized GUIs in kiosk mode on gokrazy

Awesome Lists containing this project

README

        

## gokrazy-kiosk

gokrazy kiosk allows launching a GUI within a container on gokrazy
and displaying it on a display connected to the host device by leveraging frame buffer passthrough.

This is designed, but not limited to browser kiosks.

You can tailor it to other purposes by following the provided Dockerfile and replacing
the chromium installation with a different GUI application.

### usage

The following is an example on how to launch a browser kiosk (chromium).
This example only works with `amd64` and `arm64` architectures.

```
gok add github.com/gokrazy/iptables
gok add github.com/gokrazy/nsenter
gok add github.com/greenpau/cni-plugins/cmd/cni-nftables-portmap
gok add github.com/greenpau/cni-plugins/cmd/cni-nftables-firewall
gok add github.com/gokrazy/podman

# and finally
gok add github.com/damdo/gokrazy-kiosk
```

Then add under `config.json` within `"PackageConfig"`:

```
"github.com/damdo/gokrazy-kiosk": {
"CommandLineFlags": [
"--name", "gokrazy-kiosk",
"quay.io/damdo/gokrazy-kiosk-chromium:20240806144534",
"/usr/bin/chromium",
"--no-sandbox",
"--no-first-run",
"--password-store=basic",
"--simulate-outdated-no-au='Tue, 31 Dec 2199 23:59:59 GMT'",
"--noerrdialogs",
"--disable-infobars",
"--kiosk",
"--app='https://play.grafana.org'"
]
},
```

### what is left to do
- [x] full screen + resolution config need improvements
- [ ] make keyboard work (hard to reliably detect due to gokrazy not having udev)
- [ ] the mouse works but only if it is passed down before the container image as `--device=/dev/input/eventXXXX:/dev/input/event4` it's the only usb device plugged and only if it's there at boot (hard to reliably detect due to gokrazy not having udev)