mirror of
https://github.com/aljazceru/addons.git
synced 2025-12-18 13:44:20 +01:00
623f6f47d2c6e3a8f28aca1cdbf8c27cd55b3b91
hassio-addons
Docker addons for HassIO
All PRs need to be build branch!
Addon folder
addon_name:
README.md
Dockerfile
config.json
run.sh
Use FROM %%BASE_IMAGE%% inside your docker file. We use alpine linux 3.5 for addons. It need also a this line:
ENV VERSION %%VERSION%%
You should use bash scripts for simple stuff inside docker to hold the image small.
Addon config
{
"name": "xy",
"version": "1.2",
"slug": "folder",
"description": "long descripton",
"startup": "before|after|once",
"boot": "auto|manual",
"ports": {
"123/tcp": 123
},
"map": ["config", "ssl", "addons", "backup"],
"options": {},
"schema": {
"bla": "str|int|float|bool|email|url",
"list1": ["str|int|float|bool|email|url"],
"list2": [
{ "ble": "str|int|float|bool|email|url" }
]
},
"image": "for custom addons",
}
If you want to set a value to requered and need to be set from user before it start the addon, set it to null.
SSL
Default you can use fullchain.pem and privkey.pem from /ssl for you stuff. Your SSL addon should also create default this files.
Addon need to known
/data is a volume with a persistant store. /data/options.json have the user config inside. You can use jq inside shell script to parse this data.
Custom Addon repository
Add a repository.json to root of your git repository with:
{
"name": "Needed, Name of repository",
"url": "url to website (optional)",
"maintainer": "(optional) Pascal Vizeli <pvizeli@syshack.ch>"
}
Description
Languages
Shell
37.4%
Tcl
35.3%
Dockerfile
14.4%
HTML
5.1%
Python
4.2%
Other
3.6%