A Check-in kiosk app built with Flutter for Ubuntu Frame and Ubuntu Core environment
See how it works in action with video
Simply run snapcraft where snapcraft, snap and lxd are installed.
Install Ubuntu Frame, Ubuntu Frame OSK and Network Manager on Ubuntu Core 22+
sudo snap install ubuntu-frame ubuntu-frame-osk network-managerGet Snap from Circle CI Build artifacts, Send it to remote machine then install.
scp -i <PATH_TO_SSH_KEY> ubuntu-kr-qr-kiosk_<version>_arm64.snap <USER>@<IP_ADDRESS>:~/
sudo snap install --dangerous ubuntu-kr-qr-kiosk_<version>_arm64.snapVarious interface connections are required to make kiosk app work. Use following commands to configure.
sudo /snap/ubuntu-kr-qr-kiosk/current/bin/setup.shSetup Kiosk server and api token
snap set ubuntu-kr-qr-kiosk server.host="http://localhost:8000"
snap set ubuntu-kr-qr-kiosk server.apitoken="12345"Enable cursor on Ubuntu Frame
snap set ubuntu-frame config="cursor=auto"Install ubuntu-image
sudo snap install ubuntu-image --classicIn snap/ubuntu-core-model.json change authority-id and brand-id to your id found from the snapcraft whoami command output. Below is an example of snapcraft whoami output.
$ snapcraft whoami
email: <email-address>
username: <username>
id: xSfWKGdLoQBoQx88
permissions: package_access, package_manage, package_metrics, package_push, package_register, package_release, package_update
channels: no restrictions
expires: 2024-04-17T10:25:13.675Z Create and register key for snap signing if you don't have one yet.
snapcraft create-key my-model-key
snapcraft register-key my-model-keyUpdate timestamp field of snap/ubuntu-core-model.json. You may get timestamp from date -Iseconds --utc command.
Sign the model so that we can create custom core image.
snap sign -k my-model-key snap/ubuntu-core-model.json > snap/ubuntu-core-model.modelBuild build the custom ubuntu core image with Kiosk Snap and Custom Pi Gadget with following command
ubuntu-image snap snap/ubuntu-core-model.model --snap <snap_file_name> --snap <snap_file_name>