Skip to content

Latest commit

 

History

170 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔥 AddMan

Add-ons as code for Home Assistant.
Declare which add-ons should be installed, how they are configured, and which ones should be removed - all in a single YAML file you can keep in git.

aarch64 amd64

The problem

Home Assistant add-ons are configured by hand in the UI. That works for one add-on, but it doesn't scale:

  • Rebuilding or migrating a Home Assistant instance means re-installing and re-configuring every add-on by hand, from memory.
  • There is no version history of your add-on configuration - no diff, no rollback, no review.
  • Keeping several Home Assistant instances consistent is a manual chore.

What AddMan does

AddMan is a small add-on that continuously reconciles your add-ons against a declarative addman.yaml file:

  • Installs add-ons and the repositories they come from.
  • Configures them: options, boot, watchdog, auto_update, ingress_panel, start/restart behaviour.
  • Removes add-ons you mark with state: absent.
  • Validates every option against the add-on's own schema before applying, so a typo can't break an add-on.

Point AddMan's config directory at a git repo (e.g. with the git-pull add-on) and your entire add-on setup becomes version-controlled, reproducible infrastructure-as-code.

addman.yaml  ->  AddMan reconcile loop  ->   Home Assistant Supervisor API
(desired state)   (every check_interval)      (install / configure / remove)

Quick start

  1. Add this repository to Home Assistant:

    Add repository to your Home Assistant instance.

  2. Install the add-on:

    Open this add-on in your Home Assistant instance.

  3. Start AddMan. On first start it writes a default /config/addman.yaml you can edit. A minimal example:

    repositories:
      - https://github.com/sabeechen/hassio-google-drive-backup
    
    addons:
      # The key is the add-on slug.
      core_samba:
        auto_start: true
      cebe7a76_hassio_google_drive_backup:
        auto_start: true
        options:
          days_between_backups: 3
      # No longer want an add-on? Declare it absent and AddMan uninstalls it.
      core_ssh:
        state: absent

See the add-on documentation for every option, secrets support, and troubleshooting.

Contributing

Issues and pull requests are welcome — see CONTRIBUTING.md.

About

AddMan is an add-on for home-assistant. It's an add-on manager.

Topics

Resources

Contributing

Stars

10 stars

Watchers

1 watching

Forks

Packages

Used by

Contributors

Languages