{"id":14985298,"url":"https://github.com/bkbilly/service-update-helper","last_synced_at":"2026-01-04T03:12:47.603Z","repository":{"id":62954708,"uuid":"306912072","full_name":"bkbilly/service-update-helper","owner":"bkbilly","description":"Automatically install services on linux","archived":false,"fork":false,"pushed_at":"2022-11-17T17:21:40.000Z","size":52,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-01T17:04:33.414Z","etag":null,"topics":["home-assistant","mqtt","services","updater"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bkbilly.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-24T15:23:19.000Z","updated_at":"2023-02-20T00:06:10.000Z","dependencies_parsed_at":"2023-01-23T19:45:17.794Z","dependency_job_id":null,"html_url":"https://github.com/bkbilly/service-update-helper","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkbilly%2Fservice-update-helper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkbilly%2Fservice-update-helper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkbilly%2Fservice-update-helper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bkbilly%2Fservice-update-helper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bkbilly","download_url":"https://codeload.github.com/bkbilly/service-update-helper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243960666,"owners_count":20375105,"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":["home-assistant","mqtt","services","updater"],"created_at":"2024-09-24T14:10:40.397Z","updated_at":"2026-01-04T03:12:47.571Z","avatar_url":"https://github.com/bkbilly.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Service Update Helper\n\nThis is a collection of scripts that help update and install services on linux machines which are autodiscovered by Home Assistant. It can be easily expanded for other platforms and supports configuration for each of them. \n\nCurrently supported:\n  - AgentDVR\n  - Zigbee2mqtt\n  - Plex\n  - Homeassistant\n  - PiHole\n  - Bazarr\n  - Radarr\n  - Sonarr\n\n## Setup\nThe configuration is done by the `config.yaml` file which contains the provider name as the file name on the providers folder. Some services need configuration so it can be written there. If the service is not in this config, then it will be ignored.\n\nThis is an example:\n```yaml\nmqtt:\n  identifier: service_updater\n  server: 192.168.1.1\n  port: 1883\n  auth:\n    user: user\n    pass: pass\nupdate_interval: 21600\nproviders:\n  plex:\n  pihole:\n  zigbee2mqtt:\n    install_dir: \"/opt/zigbee2mqtt\"\n  homeassistant:\n    config_path: \"/etc/homeassistant\"\n  agentdvr:\n    install_dir: \"/opt/agentdvr\"\n  bazarr:\n    url: \"http://localhost:6767\"\n    api: \u003ckey\u003e\n  sonarr:\n    url: \"http://localhost:8989\"\n    api: \u003ckey\u003e\n  radarr:\n    url: \"http://localhost:7878\"\n    api: \u003ckey\u003e\n```\n\nSome prerequirements are required which can be installed using the pip command:\n```shell\nsudo pip3 install service-updater\n```\n\n## Run\nOnce the setup is done, run the script as super user `sudo service_updater`.\n\n\n## Development\nThe contribution to this repository is really easy. Create a new file on the providers folder with the name of the service and follow this template:\n\n```python\n\nclass Updater():\n    service = 'NewService'\n    image = \"https://example.com/icon.png\"\n\n    def __init__(self, config=None):\n        self.config = config\n        self.latest_version = None\n        self.current_version = None\n\n    async def get_current_version(self):\n        return self.current_version\n\n    async def get_latest_version(self):\n        return self.latest_version\n\n    def install(self):\n        pass\n```\n\nMost services are based on web scrapping, so it is very likely that they will stop working, so please create an issue. Any help is more than welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbkbilly%2Fservice-update-helper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbkbilly%2Fservice-update-helper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbkbilly%2Fservice-update-helper/lists"}