Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bkbilly/service-update-helper
Automatically install services on linux
https://github.com/bkbilly/service-update-helper
home-assistant mqtt services updater
Last synced: about 1 month ago
JSON representation
Automatically install services on linux
- Host: GitHub
- URL: https://github.com/bkbilly/service-update-helper
- Owner: bkbilly
- License: mit
- Created: 2020-10-24T15:23:19.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-11-17T17:21:40.000Z (about 2 years ago)
- Last Synced: 2024-05-01T17:04:33.414Z (8 months ago)
- Topics: home-assistant, mqtt, services, updater
- Language: Python
- Homepage:
- Size: 50.8 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Service Update Helper
This 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.
Currently supported:
- AgentDVR
- Zigbee2mqtt
- Plex
- Homeassistant
- PiHole
- Bazarr
- Radarr
- Sonarr## Setup
The 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.This is an example:
```yaml
mqtt:
identifier: service_updater
server: 192.168.1.1
port: 1883
auth:
user: user
pass: pass
update_interval: 21600
providers:
plex:
pihole:
zigbee2mqtt:
install_dir: "/opt/zigbee2mqtt"
homeassistant:
config_path: "/etc/homeassistant"
agentdvr:
install_dir: "/opt/agentdvr"
bazarr:
url: "http://localhost:6767"
api:
sonarr:
url: "http://localhost:8989"
api:
radarr:
url: "http://localhost:7878"
api:
```Some prerequirements are required which can be installed using the pip command:
```shell
sudo pip3 install service-updater
```## Run
Once the setup is done, run the script as super user `sudo service_updater`.## Development
The 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:```python
class Updater():
service = 'NewService'
image = "https://example.com/icon.png"def __init__(self, config=None):
self.config = config
self.latest_version = None
self.current_version = Noneasync def get_current_version(self):
return self.current_versionasync def get_latest_version(self):
return self.latest_versiondef install(self):
pass
```Most 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.