{"id":16484739,"url":"https://github.com/damdo/gokrazy-kiosk","last_synced_at":"2025-03-23T12:32:43.641Z","repository":{"id":170683914,"uuid":"646376046","full_name":"damdo/gokrazy-kiosk","owner":"damdo","description":"run containerized GUIs in kiosk mode on gokrazy","archived":false,"fork":false,"pushed_at":"2024-08-06T12:57:16.000Z","size":26,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-12T13:18:07.846Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/damdo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-28T07:34:16.000Z","updated_at":"2024-08-06T12:57:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"8fa3cade-b781-4980-914d-d2167daa5882","html_url":"https://github.com/damdo/gokrazy-kiosk","commit_stats":null,"previous_names":["damdo/gokrazy-kiosk"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damdo%2Fgokrazy-kiosk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damdo%2Fgokrazy-kiosk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damdo%2Fgokrazy-kiosk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damdo%2Fgokrazy-kiosk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/damdo","download_url":"https://codeload.github.com/damdo/gokrazy-kiosk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221850610,"owners_count":16891657,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T13:18:06.787Z","updated_at":"2024-10-28T15:47:47.227Z","avatar_url":"https://github.com/damdo.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## gokrazy-kiosk\n\ngokrazy kiosk allows launching a GUI within a container on gokrazy\nand displaying it on a display connected to the host device by leveraging frame buffer passthrough.\n\nThis is designed, but not limited to browser kiosks.\n\nYou can tailor it to other purposes by following the provided Dockerfile and replacing\nthe chromium installation with a different GUI application.\n\n### usage\n\nThe following is an example on how to launch a browser kiosk (chromium).\nThis example only works with `amd64` and `arm64` architectures.\n\n```\ngok add github.com/gokrazy/iptables\ngok add github.com/gokrazy/nsenter\ngok add github.com/greenpau/cni-plugins/cmd/cni-nftables-portmap\ngok add github.com/greenpau/cni-plugins/cmd/cni-nftables-firewall\ngok add github.com/gokrazy/podman\n\n# and finally\ngok add github.com/damdo/gokrazy-kiosk\n```\n\nThen add under `config.json` within `\"PackageConfig\"`:\n\n```\n        \"github.com/damdo/gokrazy-kiosk\": {\n            \"CommandLineFlags\": [\n                \"--name\", \"gokrazy-kiosk\",\n                \"quay.io/damdo/gokrazy-kiosk-chromium:20240806144534\",\n                \"/usr/bin/chromium\",\n                \"--no-sandbox\",\n                \"--no-first-run\",\n                \"--password-store=basic\",\n                \"--simulate-outdated-no-au='Tue, 31 Dec 2199 23:59:59 GMT'\",\n                \"--noerrdialogs\",\n                \"--disable-infobars\",\n                \"--kiosk\",\n                \"--app='https://play.grafana.org'\"\n            ]\n        },\n```\n\n### what is left to do\n- [x] full screen + resolution config need improvements\n- [ ] make keyboard work (hard to reliably detect due to gokrazy not having udev)\n- [ ] 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)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdamdo%2Fgokrazy-kiosk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdamdo%2Fgokrazy-kiosk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdamdo%2Fgokrazy-kiosk/lists"}