Skip to main content

Gather information about service updates

Project description

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:

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: <key>
  sonarr:
    url: "http://localhost:8989"
    api: <key>
  radarr:
    url: "http://localhost:7878"
    api: <key>

Some prerequirements are required which can be installed using the pip command:

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:

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 = None

    async def get_current_version(self):
        return self.current_version

    async def get_latest_version(self):
        return self.latest_version

    def 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

service_updater-2022.11.4.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

service_updater-2022.11.4-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file service_updater-2022.11.4.tar.gz.

File metadata

  • Download URL: service_updater-2022.11.4.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for service_updater-2022.11.4.tar.gz
Algorithm Hash digest
SHA256 6a18b7a93ff3f3c99180402a5936ff973fe3edc209cbeb7190e9d59b78a2a608
MD5 e2eb0ca2bf372601cba645cdcba1d3d0
BLAKE2b-256 249fc107d4602dba20c06c91654237d5fc550a6bc20204e0e1223e79eedbf560

See more details on using hashes here.

File details

Details for the file service_updater-2022.11.4-py3-none-any.whl.

File metadata

File hashes

Hashes for service_updater-2022.11.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4a13748983479a41d3624f2f8c32fe8ce70cf4910b29e2974f8c3f188d8e5440
MD5 7d4d2069bffe5f7a9af34676f12cc675
BLAKE2b-256 bfe92945f5a3cc3b6d6449ea7ec189d28040e3d81cf2823856a7005de2b7f0e2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page