{"id":16670051,"url":"https://github.com/liske/barkery","last_synced_at":"2025-04-09T19:41:11.561Z","repository":{"id":62802599,"uuid":"482978913","full_name":"liske/barkery","owner":"liske","description":"WebKit2-based kiosk browser for digital signage","archived":false,"fork":false,"pushed_at":"2023-06-10T09:38:05.000Z","size":37,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-01T00:27:47.149Z","etag":null,"topics":["gtk3","kiosk-browser","mqtt-client","python3","webkit2"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/liske.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2022-04-18T19:56:14.000Z","updated_at":"2023-08-11T05:45:22.000Z","dependencies_parsed_at":"2024-10-23T02:00:03.739Z","dependency_job_id":null,"html_url":"https://github.com/liske/barkery","commit_stats":{"total_commits":22,"total_committers":2,"mean_commits":11.0,"dds":0.09090909090909094,"last_synced_commit":"6a0d338c93285bd8afe0920a518be8ee56e9362e"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liske%2Fbarkery","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liske%2Fbarkery/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liske%2Fbarkery/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liske%2Fbarkery/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liske","download_url":"https://codeload.github.com/liske/barkery/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247948581,"owners_count":21023189,"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":["gtk3","kiosk-browser","mqtt-client","python3","webkit2"],"created_at":"2024-10-12T11:36:52.337Z","updated_at":"2025-04-09T19:41:11.537Z","avatar_url":"https://github.com/liske.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# barkery - WebKit2-based kiosk browser for digital signage\n\nThis is project provides a *WebKit2*-based kiosk browser to be used for digital signage. It has a simple *MQTT* interface for remote management.\n\nIt is implemented in *Python3* and uses *Glib GObject Introspection* to use *Gtk3* and *Webkit2*. Using [Alpine Linux](https://www.alpinelinux.org/) it is possible to run barkery on a read-only rootfs on *Raspberry Pi* or other ARM SoCs.\n\n## Prerequisits\n\n- *Python3*\n- *Glib GObject Introspection*\n  - *Gtk3*\n  - *WebKit2Gtk-4.1*\n- *Paho MQTT*\n\n## Installation\n\n*Barkery* is available in the following linux distributions:\n\n- [Alpine Linux](docs/Alpine.md)\n\nOn other platforms you could install it's [python dependencies](requirements.txt) using the package manager (i.e. *apt-get*) or using *pip3*. *Barkery* is a single python script which can be run without any special installation if the dependencies are met.\n\n*Merge requests with instructions for other Linux distributions are very welcome.*\n\n## Configuration\n\nThe configuration file is loaded from `/etc/barkery/barkery.conf`. Look at the [example config file](ex/barkery.conf) for available options.\n\n## Features\n\n### MQTT\n\n*Barkery* can be configured to connect to a MQTT broker. It subscribes to the configured MQTT topics and performs defined actions when a message is published.\n\nCommand topics subscribed by barkery:\n\n- load the URL from the message body\n  - `barkery/terminal/{hostname}/load`\n  - `barkery/terminal/_bcast/cmd/load`\n\n- load barkery's startup page\n  - `barkery/terminal/{hostname}/reset`\n  - `barkery/terminal/_bcast/cmd/reset`\n\n\nState topics published by barkery:\n- barkery's state as JSON structure\n  - `barkery/terminal/{hostname}/status`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliske%2Fbarkery","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliske%2Fbarkery","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliske%2Fbarkery/lists"}