ha-addon

Create and publish Home Assistant add-ons with Docker, Supervisor API, and multi-architecture builds.

Updated Jun 11, 2026
One-click install
npx skills add https://github.com/brillianodhiya/VisionScript --skill ha-addon-brillianodhiya
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ha-addon
Source: https://github.com/brillianodhiya/VisionScript/tree/main/.agents/skills/ha-addon
Command: npx skills add https://github.com/brillianodhiya/VisionScript --skill ha-addon-brillianodhiya

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes assets (resource) and references (resource) components.

What problem does it solve? Building Home Assistant add-ons involves many failure-prone details: correct config.yaml schemas, S6 overlay service scripts, Supervisor API authentication, ingress reverse proxy setup, and multi-architecture Docker builds. This Skill provides proven templates, patterns, and troubleshooting guidance to prevent common errors like permission failures, data loss, and architecture mismatches. ## Core Features & Use Cases - Add-On Scaffolding: Generate the full project structure with config.yaml, Dockerfile using official Home Assistant base images, and executable S6 service scripts. - Supervisor API & bashio Integration: Communicate with the Supervisor API using SUPERVISOR_TOKEN and bashio helper functions for logging, configuration access, and notifications. - Ingress & Multi-Arch Publishing: Configure ingress reverse proxy for web UIs and build multi-architecture images (amd64, armv7, aarch64) for GitHub-based add-on repositories. - Use Case: You want to package a Python service as a Home Assistant add-on with a web UI. Use this Skill to generate the config.yaml, Dockerfile, S6 run script, and ingress configuration, then validate everything against the pre-publish checklist. ## Quick Start Ask the AI to create a new Home Assistant add-on project named 'my-addon' with a Dockerfile, config.yaml, and S6 service script supporting amd64 and aarch64.

Frequently Asked Questions about ha-addon

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a Home Assistant add-on from scratch?▼

Create a directory with config.yaml defining name, slug, version, and supported architectures, plus a Dockerfile based on ghcr.io/home-assistant/{arch}-base images. Add executable S6 service scripts under rootfs/etc/s6-overlay/s6-rc.d/ to manage your application process.

How to fix Supervisor API 401 Unauthorized errors in add-ons?▼

Supervisor API 401 errors occur when the SUPERVISOR_TOKEN is missing or permissions are insufficient. The token is injected automatically by Home Assistant; verify your config.yaml includes the required permissions such as homeassistant or hassio for the endpoints you call.

Which Docker base image should Home Assistant add-ons use?▼

Use official Home Assistant base images like ghcr.io/home-assistant/{arch}-base, which include S6 overlay and bashio helpers pre-installed. Generic Alpine or Ubuntu images lack these runtime components and cause supervisor integration failures.

Why does my add-on lose configuration data after restart?▼

Data loss happens when files are saved outside the /data/ directory, which is the only persisted volume for add-ons. Use bashio::addon::config_path to resolve the correct path and store all persistent state there.

Why is my add-on ingress web UI returning 502 errors?▼

Ingress 502 errors mean your application is not listening on the configured ingress_port or reverse proxy headers are missing. Verify the service binds to the correct port and sets X-Forwarded-For and X-Forwarded-Proto headers.

What architectures can Home Assistant add-ons support?▼

Supported architectures are amd64, armv7, aarch64, armhf, and i386. List them in config.yaml and use the {arch} placeholder in the image field so builds resolve the correct base image per architecture.