49 Commits

Author SHA1 Message Date
bfa325775c update portainer to 2.18.4 2023-07-23 19:14:28 +02:00
10b4debdf5 update Portainer 2022-12-28 22:37:55 +01:00
62b412d28d update version 2022-12-28 22:36:32 +01:00
81d3fd429b update protainer version to 2.16.0 and hassio base image 2022-11-01 16:18:13 +01:00
7cf16ee403 update to latest portainer version (2.14.2) 2022-08-13 22:09:15 +02:00
ffddcfe663 make run file executable 2022-08-13 21:55:14 +02:00
1464c07280 make run file executable 2022-08-13 21:55:01 +02:00
5ebbd3ad4b make portainer.sh executbale 2022-08-13 21:47:29 +02:00
4ae213d3b2 Update hassio base image 2022-08-13 21:28:37 +02:00
cbe6bcf343 Update urls and maintainer name 2022-08-13 20:45:44 +02:00
f08b0ecaee Update readme 2022-08-13 20:29:19 +02:00
5055e39cd0 create a custom hassio repository with portainer 2022-08-13 20:19:59 +02:00
dependabot[bot]
1b71c11b96 Bump home-assistant/builder from 2022.06.2 to 2022.07.0 (#47)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-11 09:06:04 +02:00
dependabot[bot]
3c54ffde6f Bump home-assistant/builder from 2022.06.1 to 2022.06.2 (#45)
Bumps [home-assistant/builder](https://github.com/home-assistant/builder) from 2022.06.1 to 2022.06.2.
- [Release notes](https://github.com/home-assistant/builder/releases)
- [Commits](https://github.com/home-assistant/builder/compare/2022.06.1...2022.06.2)

---
updated-dependencies:
- dependency-name: home-assistant/builder
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-27 08:50:37 +02:00
Mike Degatano
c7709a773e Use exec in finish script (#44) 2022-06-25 01:01:29 +02:00
dependabot[bot]
8f3bfe5bde Bump home-assistant/builder from 2022.03.1 to 2022.06.1 (#42)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-20 08:42:55 +02:00
dependabot[bot]
e392b03550 Bump frenck/action-addon-linter from 2.8 to 2.9 (#43)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-20 08:42:27 +02:00
Mike Degatano
c2d080e2b2 Update for s6 v3 and add apparmor (#41)
* Update for s6 v3 and add apparmor

* Adjust from feedback

* Tweak service functionality instructions

* Logging in finish script

* Remove etc/s6 as not used anymore

* Update example/rootfs/etc/services.d/example/finish

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

Co-authored-by: Pascal Vizeli <pvizeli@syshack.ch>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-05-13 12:03:05 +02:00
dependabot[bot]
9bce8fa493 Bump docker/login-action from 1.14.1 to 2.0.0 (#40)
Bumps [docker/login-action](https://github.com/docker/login-action) from 1.14.1 to 2.0.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v1.14.1...v2.0.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-09 09:18:24 +02:00
dependabot[bot]
da130f2c72 Bump actions/checkout from 3.0.1 to 3.0.2 (#39)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.0.1...v3.0.2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-26 08:59:00 +02:00
dependabot[bot]
754930114e Bump actions/checkout from 3.0.0 to 3.0.1 (#38)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-18 10:53:34 +02:00
dependabot[bot]
b849586bbf Bump home-assistant/builder from 2022.01.0 to 2022.03.1 (#36)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-07 07:29:21 +01:00
dependabot[bot]
f1f688e61f Bump actions/checkout from 2.4.0 to 3.0.0 (#35)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>
2022-03-07 07:27:57 +01:00
dependabot[bot]
7b804a8c6d Bump docker/login-action from 1.13.0 to 1.14.1 (#34)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-07 07:15:12 +01:00
dependabot[bot]
409294db06 Bump frenck/action-addon-linter from 2.6 to 2.8 (#37)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-07 07:14:26 +01:00
dependabot[bot]
69e813fa24 Bump docker/login-action from 1.12.0 to 1.13.0 (#33)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-21 09:35:31 +01:00
Joakim Sørensen
d38ec25253 move devcontainer definition (#31) 2022-02-04 10:29:19 +01:00
Joakim Sørensen
97ef0aacda use weekly for dependabot (#30) 2022-02-04 10:28:46 +01:00
Joakim Sørensen
7eaa2a34bf Update tempio (#32) 2022-02-04 10:28:19 +01:00
dependabot[bot]
a7bc4ab7d4 Bump home-assistant/builder from 2021.12.0 to 2022.01.0 (#29)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-31 10:03:21 +01:00
dependabot[bot]
b807fc5f3d Bump frenck/action-addon-linter from 2.5 to 2.6 (#28)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-14 08:34:20 +01:00
dependabot[bot]
1aef85d39c Bump home-assistant/builder from 2021.11.4 to 2021.12.0 (#26)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-21 10:22:47 +01:00
dependabot[bot]
f75daad70c Bump docker/login-action from 1.10.0 to 1.12.0 (#27)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-12-21 10:22:34 +01:00
dependabot[bot]
bae3a5124a Bump home-assistant/builder from 2021.11.2 to 2021.11.4 (#25)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-30 11:48:10 +01:00
dependabot[bot]
16291df99c Bump home-assistant/builder from 2021.09.0 to 2021.11.2 (#23)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-23 09:30:54 +01:00
dependabot[bot]
f05e84f2b7 Bump actions/checkout from 2.3.5 to 2.4.0 (#22)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-03 07:55:50 +01:00
dependabot[bot]
2ae69f3620 Bump frenck/action-addon-linter from 2.4.1 to 2.5 (#21)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-02 08:20:21 +01:00
Joakim Sørensen
64796e73ec Add devcontainer (#19) 2021-10-22 18:09:02 +02:00
dependabot[bot]
91a4af13eb Bump actions/checkout from 2.3.4 to 2.3.5 (#20)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-10-18 08:21:08 +02:00
Joakim Sørensen
f238f0857b Simplify add-on files (#18) 2021-09-28 19:18:53 +02:00
Pascal Vizeli
a0ca06a9fb Use init false because of init-6 (#17) 2021-09-28 12:04:14 +02:00
Joakim Sørensen
e7302d0559 Use references to the main branch (#16) 2021-09-28 09:58:28 +02:00
Joakim Sørensen
302a9020b8 Bump action-addon-linter to v2.4.1 (#15) 2021-09-28 09:17:11 +02:00
Joakim Sørensen
a33beb344d Use addons_list (#13) 2021-09-26 22:31:00 +02:00
Joakim Sørensen
67fe105489 Remove startup directories (#12) 2021-09-26 18:34:48 +02:00
Joakim Sørensen
8b111e9eed Add more boilerplate (#10) 2021-09-26 18:28:49 +02:00
Ludeeus
9a921b3d70 Fix setting image during build 2021-09-26 16:23:33 +00:00
Pascal Vizeli
57d12e6c17 Fix finishing (#11) 2021-09-26 18:18:59 +02:00
Joakim Sørensen
f7242ec678 Use yaml files (#9) 2021-09-26 17:05:37 +02:00
24 changed files with 414 additions and 166 deletions

View File

@@ -1,5 +1,5 @@
{
"name": "Example Home Assistant add-on repository",
"name": "My custom Home Assistant add-on repository",
"image": "ghcr.io/home-assistant/devcontainer:addons",
"appPort": ["7123:8123", "7357:4357"],
"postStartCommand": "bash devcontainer_bootstrap",
@@ -8,6 +8,7 @@
"WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}"
},
"extensions": ["timonwong.shellcheck", "esbenp.prettier-vscode"],
"mounts": ["type=volume,target=/var/lib/docker"],
"settings": {
"terminal.integrated.profiles.linux": {
"zsh": {

View File

@@ -3,5 +3,5 @@ updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: daily
interval: weekly
time: "06:00"

View File

@@ -2,40 +2,35 @@ name: Builder
env:
BUILD_ARGS: "--test"
MONITORED_FILES: "build.json config.json Dockerfile rootfs"
MONITORED_FILES: "build.yaml config.yaml Dockerfile rootfs"
on:
push:
branches:
- master
- main
pull_request:
branches:
- master
- main
jobs:
init:
runs-on: ubuntu-latest
name: Initialize builds
outputs:
changed_files: ${{ steps.changed_files.outputs.all }}
changed_addons: ${{ steps.changed_addons.outputs.addons }}
changed: ${{ steps.changed_addons.outputs.changed }}
steps:
- name: Check out the repository
uses: actions/checkout@v2.3.4
uses: actions/checkout@v3.0.2
- name: Get changed files
id: changed_files
uses: jitterbit/get-changed-files@v1
- name: Get add-ons
- name: Find add-on directories
id: addons
run: |
declare -a addons
for addon in $(find ./ -name config.json | cut -d "/" -f2 | sort -u); do
addons+=("$addon");
done
echo "::set-output name=addons::${addons[@]}"
uses: home-assistant/actions/helpers/find-addons@master
- name: Get changed add-ons
id: changed_addons
run: |
@@ -51,7 +46,9 @@ jobs:
done
fi
done
changed=$(echo ${changed_addons[@]} | rev | cut -c 2- | rev)
if [[ -n ${changed} ]]; then
echo "Changed add-ons: $changed";
echo "::set-output name=changed::true";
@@ -65,13 +62,13 @@ jobs:
if: needs.init.outputs.changed == 'true'
name: Build ${{ matrix.arch }} ${{ matrix.addon }} add-on
strategy:
matrix:
matrix:
addon: ${{ fromJson(needs.init.outputs.changed_addons) }}
arch: ["aarch64", "amd64", "armhf", "armv7", "i386"]
steps:
- name: Check out repository
uses: actions/checkout@v2.3.4
uses: actions/checkout@v3.0.2
- name: Get information
id: info
@@ -79,27 +76,23 @@ jobs:
with:
path: "./${{ matrix.addon }}"
- name: Check add-on
- name: Check if add-on should be built
id: check
run: |
if [[ "${{ steps.info.outputs.architectures }}" =~ ${{ matrix.arch }} ]]; then
echo "::set-output name=build_arch::true";
else
echo "${{ matrix.arch }} is not a valid arch for ${{ matrix.addon }}, skipping build";
fi
image=$(jq -r '.image' "./${{ matrix.addon }}/config.json" | cut -d"/" -f3)
echo "::set-output name=image::${image}";
- name: Set build arguments
if: steps.check.outputs.build_arch == 'true'
run: |
if [[ -z "${{ github.head_ref }}" ]] && [[ "${{ github.event_name }}" == "push" ]]; then
echo "BUILD_ARGS=" >> $GITHUB_ENV;
if [[ "${{ steps.info.outputs.architectures }}" =~ ${{ matrix.arch }} ]]; then
echo "::set-output name=build_arch::true";
echo "::set-output name=image::$(echo ${{ steps.info.outputs.image }} | cut -d'/' -f3)";
if [[ -z "${{ github.head_ref }}" ]] && [[ "${{ github.event_name }}" == "push" ]]; then
echo "BUILD_ARGS=" >> $GITHUB_ENV;
fi
else
echo "${{ matrix.arch }} is not a valid arch for ${{ matrix.addon }}, skipping build";
echo "::set-output name=build_arch::false";
fi
- name: Login to GitHub Container Registry
if: env.BUILD_ARGS != '--test'
uses: docker/login-action@v1.10.0
uses: docker/login-action@v2.0.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
@@ -107,7 +100,7 @@ jobs:
- name: Build ${{ matrix.addon }} add-on
if: steps.check.outputs.build_arch == 'true'
uses: home-assistant/builder@2021.09.0
uses: home-assistant/builder@2022.07.0
with:
args: |
${{ env.BUILD_ARGS }} \

View File

@@ -1,12 +1,12 @@
name: Lint
on:
on:
push:
branches:
- master
- main
pull_request:
branches:
- master
- main
schedule:
- cron: "0 0 * * *"
@@ -15,35 +15,27 @@ jobs:
name: Find add-ons
runs-on: ubuntu-latest
outputs:
addons: ${{ steps.addons.outputs.addons }}
addons: ${{ steps.addons.outputs.addons_list }}
steps:
- name: ⤵️ Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v3.0.2
- name: 🔍 Find add-on directories
id: addons
run: |
declare -a found_addons
for addon in $(find ./ -name config.json | cut -d "/" -f2 | sort -u); do
found_addons+=("\"${addon}\",");
done
addons=$(echo ${found_addons[@]} | rev | cut -c 2- | rev)
echo "Add-ons found: ${addons}"
echo "::set-output name=addons::[${addons}]"
uses: home-assistant/actions/helpers/find-addons@master
lint:
name: Lint add-on ${{ matrix.path }}
runs-on: ubuntu-latest
needs: find
strategy:
matrix:
matrix:
path: ${{ fromJson(needs.find.outputs.addons) }}
steps:
- name: ⤵️ Check out code from GitHub
uses: actions/checkout@v2
uses: actions/checkout@v3.0.2
- name: 🚀 Run Home Assistant Add-on Lint
uses: frenck/action-addon-linter@v2.3.0
uses: frenck/action-addon-linter@v2.9
with:
path: "./${{ matrix.path }}"

View File

@@ -1,50 +1,26 @@
# Example Home Assistant add-on repository
# My cusstom Home Assistant add-on repository
This repository can be used as a "blueprint" for add-on development to help you get started.
## Contains the following add-ons:
</br>
Add-on documentation: <https://developers.home-assistant.io/docs/add-ons>
[![Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.](https://my.home-assistant.io/badges/supervisor_add_addon_repository.svg)](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Fhome-assistant%2Faddons-example)
## Add-ons
This repository contains the following add-ons
### [Example add-on](./example)
![Supports aarch64 Architecture][aarch64-shield]
![Supports amd64 Architecture][amd64-shield]
![Supports armhf Architecture][armhf-shield]
![Supports armv7 Architecture][armv7-shield]
![Supports i386 Architecture][i386-shield]
_Example add-on to use as a blueprint for new add-ons._
| Add-On Name | Notes |
| --- | --- |
| [Portainer](https://www.portainer.io/) | Fork of: [Home Assistant Community Add-on: Portainer](https://github.com/hassio-addons/addon-portainer) </br> The official add-on is discontinued so i maintain it here for my own usage. |
<!--
Notes to developers after forking or using the github template feature:
- While developing remove the 'image' tag from 'example/config.json' to make the supervisor build the addon
- While developing comment out the 'image' key from 'example/config.yaml' to make the supervisor build the addon
- Remember to put this back when pushing up your changes.
- When you merge to the 'master' branch of your repository a new build will be triggered.
- Make sure you adjust the 'version' key in 'example/config.json' when you do that.
- When you merge to the 'main' branch of your repository a new build will be triggered.
- Make sure you adjust the 'version' key in 'example/config.yaml' when you do that.
- Make sure you update 'example/CHANGELOG.md' when you do that.
- The first time this runs you might need to adjust the image configuration on github container registry to make it public
- Adjust the 'image' key in 'example/config.json' so it points to your username instead of 'home-assistant'.
- Adjust the 'image' key in 'example/config.yaml' so it points to your username instead of 'home-assistant'.
- This is where the build images will be published to.
- Rename the example directory.
- The 'slug' key in 'example/config.json' should match the directory name.
- The 'slug' key in 'example/config.yaml' should match the directory name.
- Adjust all keys/url's that points to 'home-assistant' to now point to your user/fork.
- Share your repository on the forums https://community.home-assistant.io/c/projects/9
- Do awesome stuff!
-->
[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg
[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg
[armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg
[armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg
[i386-shield]: https://img.shields.io/badge/i386-yes-green.svg

View File

@@ -1,8 +0,0 @@
<!-- https://developers.home-assistant.io/docs/add-ons/presentation#keeping-a-changelog -->
## 1.0.0
- Complete refresh of all files
## 0.1.0
- Initial release

View File

@@ -1,15 +0,0 @@
# Home Assistant Add-on: Example add-on
## Installation
Follow these steps to get the add-on installed on your system:
1. Navigate in your Home Assistant frontend to **Supervisor** -> **Add-on Store**.
1. Find the "Example add-on" add-on and click it.
1. Click on the "INSTALL" button.
## How to use
This add-on really does nothing. It is just an example.
When started it will print "Hello world" in the log and exit.

View File

@@ -1,6 +0,0 @@
# https://developers.home-assistant.io/docs/add-ons/configuration#add-on-dockerfile
ARG BUILD_FROM
FROM $BUILD_FROM
# Copy data
COPY rootfs /

View File

@@ -1,17 +0,0 @@
# Home Assistant Add-on: Example add-on
_Example add-on to use as a blueprint for new add-ons._
![Supports aarch64 Architecture][aarch64-shield]
![Supports amd64 Architecture][amd64-shield]
![Supports armhf Architecture][armhf-shield]
![Supports armv7 Architecture][armv7-shield]
![Supports i386 Architecture][i386-shield]
[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg
[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg
[armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg
[armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg
[i386-shield]: https://img.shields.io/badge/i386-yes-green.svg

View File

@@ -1,9 +0,0 @@
{
"build_from": {
"aarch64": "ghcr.io/home-assistant/aarch64-base:3.14",
"amd64": "ghcr.io/home-assistant/amd64-base:3.14",
"armhf": "ghcr.io/home-assistant/armhf-base:3.14",
"armv7": "ghcr.io/home-assistant/armv7-base:3.14",
"i386": "ghcr.io/home-assistant/i386-base:3.14"
}
}

View File

@@ -1,16 +0,0 @@
{
"name": "Example add-on",
"version": "1.0.0",
"slug": "example",
"description": "Example add-on",
"url": "https://github.com/home-assistant/addons-example/tree/master/example",
"arch": [
"armhf",
"armv7",
"aarch64",
"amd64",
"i386"
],
"startup": "once",
"image": "ghcr.io/home-assistant/{arch}-addon-example"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

92
portainer/.README.j2 Normal file
View File

@@ -0,0 +1,92 @@
# Home Assistant Community Add-on: Portainer
[![Release][release-shield]][release] ![Project Stage][project-stage-shield] ![Project Maintenance][maintenance-shield]
[![Discord][discord-shield]][discord] [![Community Forum][forum-shield]][forum]
[![Sponsor Frenck via GitHub Sponsors][github-sponsors-shield]][github-sponsors]
[![Support Frenck on Patreon][patreon-shield]][patreon]
Manage your Docker environment with ease.
## About
Portainer is an open-source lightweight management UI which allows you to
easily manage your a Docker host(s) or Docker swarm clusters.
It has never been so easy to manage Docker. Portainer provides a detailed
overview of Docker and allows you to manage containers, images, networks and
volumes.
## WARNING 1
The Portainer add-on is really powerful and gives you access to virtually
your whole system. While this add-on is created and maintained with care and
with security in mind, in the wrong or inexperienced hands,
it could damage your system.
## WARNING 2
The Portainer add-on is meant for debugging Home Assistant and its containers.
It has not meant or designed for managing or deploying your custom software
or third-party containers.
**Home Assistant DOES NOT SUPPORT running third party containers**
on Home Assistant OS or Supervised installation types. Ignoring this, will
render your system as unsupported!
![Portainer screenshot][screenshot]
{% if channel == "edge" %}
## WARNING! THIS IS AN EDGE VERSION!
This Home Assistant Add-ons repository contains edge builds of add-ons.
Edge builds add-ons are based upon the latest development version.
- They may not work at all.
- They might stop working at any time.
- They could have a negative impact on your system.
This repository was created for:
- Anybody willing to test.
- Anybody interested in trying out upcoming add-ons or add-on features.
- Developers.
If you are more interested in stable releases of our add-ons:
<https://github.com/hassio-addons/repository>
{% endif %}
{% if channel == "beta" %}
## WARNING! THIS IS A BETA VERSION!
This Home Assistant Add-ons repository contains beta releases of add-ons.
- They might stop working at any time.
- They could have a negative impact on your system.
This repository was created for:
- Anybody willing to test.
- Anybody interested in trying out upcoming add-ons or add-on features.
If you are more interested in stable releases of our add-ons:
<https://github.com/hassio-addons/repository>
{% endif %}
[discord-shield]: https://img.shields.io/discord/478094546522079232.svg
[discord]: https://discord.me/hassioaddons
[forum-shield]: https://img.shields.io/badge/community-forum-brightgreen.svg
[forum]: https://community.home-assistant.io/t/home-assistant-community-add-on-portainer/68836?u=frenck
[github-sponsors-shield]: https://frenck.dev/wp-content/uploads/2019/12/github_sponsor.png
[github-sponsors]: https://github.com/sponsors/frenck
[maintenance-shield]: https://img.shields.io/maintenance/yes/2021.svg
[patreon-shield]: https://frenck.dev/wp-content/uploads/2019/12/patreon.png
[patreon]: https://www.patreon.com/frenck
[project-stage-shield]: https://img.shields.io/badge/project%20stage-production%20ready-brightgreen.svg
[release-shield]: https://img.shields.io/badge/version-{{ version }}-blue.svg
[release]: {{ repo }}/tree/{{ version }}
[screenshot]: https://github.com/hassio-addons/addon-portainer/raw/main/images/screenshot.png

145
portainer/DOCS.md Normal file
View File

@@ -0,0 +1,145 @@
# Home Assistant Community Add-on: Portainer
Portainer is an open-source lightweight management UI which allows you to
easily manage a Docker host(s) or Docker swarm clusters.
It has never been so easy to manage Docker. Portainer provides a detailed
overview of Docker and allows you to manage containers, images, networks and
volumes.
## WARNING 1
The Portainer add-on is really powerful and gives you access to virtually
your whole system. While this add-on is created and maintained with care and
with security in mind, in the wrong or inexperienced hands,
it could damage your system.
## WARNING 2
The Portainer add-on is meant for debugging Home Assistant and its containers.
It has not meant or designed for managing or deploying your custom software
or third-party containers.
**Home Assistant DOES NOT SUPPORT running third party containers**
on Home Assistant OS or Supervised installation types. Ignoring this, will
render your system as unsupported!
## Installation
To install this add-on, you'll first need to go to your profile and turn on
"Advanced Mode", once that is done go back to Home Assistant add-ons and search
for "Portainer" and install it as you would any other add-on.
To be able to use this add-on, you'll need to disable protection mode on this
add-on. Without it, the add-on is unable to access Docker.
1. Search for the "Portainer" add-on in the Supervisor add-on store and
install it.
1. Set the "Protection mode" switch to off.
1. Start the "Portainer" add-on.
1. Check the logs of the "Portainer" add-on to see if everything went well.
## Configuration
**Note**: _Remember to restart the add-on when the configuration is changed._
Example add-on configuration:
```yaml
log_level: info
agent_secret: password
```
**Note**: _This is just an example, don't copy and paste it! Create your own!_
### Option: `log_level`
The `log_level` option controls the level of log output by the addon and can
be changed to be more or less verbose, which might be useful when you are
dealing with an unknown issue. Possible values are:
- `trace`: Show every detail, like all called internal functions.
- `debug`: Shows detailed debug information.
- `info`: Normal (usually) interesting events.
- `warning`: Exceptional occurrences that are not errors.
- `error`: Runtime errors that do not require immediate action.
- `fatal`: Something went terribly wrong. Add-on becomes unusable.
Please note that each level automatically includes log messages from a
more severe level, e.g., `debug` also shows `info` messages. By default,
the `log_level` is set to `info`, which is the recommended setting unless
you are troubleshooting.
### Option: `agent_secret`
An option to set a shared agent secret. Must also be set in the remote agent
as an Environment variable.
## Changelog & Releases
This repository keeps a change log using [GitHub's releases][releases]
functionality.
Releases are based on [Semantic Versioning][semver], and use the format
of `MAJOR.MINOR.PATCH`. In a nutshell, the version will be incremented
based on the following:
- `MAJOR`: Incompatible or major changes.
- `MINOR`: Backwards-compatible new features and enhancements.
- `PATCH`: Backwards-compatible bugfixes and package updates.
## Support
Got questions?
You have several options to get them answered:
- The [Home Assistant Community Add-ons Discord chat server][discord] for add-on
support and feature requests.
- The [Home Assistant Discord chat server][discord-ha] for general Home
Assistant discussions and questions.
- The Home Assistant [Community Forum][forum].
- Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit]
You could also [open an issue here][issue] GitHub.
## Authors & contributors
The original setup of this repository is by [Franck Nijhof][frenck].
For a full list of all authors and contributors,
check [the contributor's page][contributors].
## License
MIT License
Copyright (c) 2018-2021 Franck Nijhof
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
[contributors]: https://github.com/hassio-addons/addon-portainer/graphs/contributors
[discord-ha]: https://discord.gg/c5DvZ4e
[discord]: https://discord.me/hassioaddons
[forum]: https://community.home-assistant.io/t/home-assistant-community-add-on-portainer/68836?u=frenck
[frenck]: https://github.com/frenck
[issue]: https://github.com/hassio-addons/addon-portainer/issues
[reddit]: https://reddit.com/r/homeassistant
[releases]: https://github.com/hassio-addons/addon-portainer/releases
[semver]: http://semver.org/spec/v2.0.0.htm

50
portainer/Dockerfile Executable file
View File

@@ -0,0 +1,50 @@
ARG BUILD_FROM=ghcr.io/hassio-addons/base/amd64:14.0.5
# hadolint ignore=DL3006
FROM ${BUILD_FROM}
# Set shell
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# Setup base
ARG BUILD_ARCH=amd64
RUN \
if [ "${BUILD_ARCH}" = "aarch64" ]; then ARCH="arm64"; fi \
&& if [ "${BUILD_ARCH}" = "armhf" ]; then ARCH="arm"; fi \
&& if [ "${BUILD_ARCH}" = "armv7" ]; then ARCH="arm"; fi \
&& if [ "${BUILD_ARCH}" = "amd64" ]; then ARCH="amd64"; fi \
\
&& curl -L -s \
"https://github.com/portainer/portainer/releases/download/2.18.4/portainer-2.18.4-linux-${ARCH}.tar.gz" \
| tar zxvf - -C /opt/
# Copy root filesystem
COPY rootfs /
# Build arguments
ARG BUILD_ARCH
ARG BUILD_DATE
ARG BUILD_DESCRIPTION
ARG BUILD_NAME
ARG BUILD_REF
ARG BUILD_REPOSITORY
ARG BUILD_VERSION
# Labels
LABEL \
io.hass.name="${BUILD_NAME}" \
io.hass.description="${BUILD_DESCRIPTION}" \
io.hass.arch="${BUILD_ARCH}" \
io.hass.type="addon" \
io.hass.version=${BUILD_VERSION} \
maintainer="Nico Störzbach <nico@nstoerzbach.de>" \
org.opencontainers.image.title="${BUILD_NAME}" \
org.opencontainers.image.description="${BUILD_DESCRIPTION}" \
org.opencontainers.image.vendor="Home Assistant Community Add-ons" \
org.opencontainers.image.authors="Nico Störzbach <nico@nstoerzbach.de>" \
org.opencontainers.image.licenses="MIT" \
org.opencontainers.image.url="https://addons.community" \
org.opencontainers.image.source="https://github.com/${BUILD_REPOSITORY}" \
org.opencontainers.image.documentation="https://github.com/${BUILD_REPOSITORY}/blob/main/README.md" \
org.opencontainers.image.created=${BUILD_DATE} \
org.opencontainers.image.revision=${BUILD_REF} \
org.opencontainers.image.version=${BUILD_VERSION}

8
portainer/build.json Normal file
View File

@@ -0,0 +1,8 @@
{
"build_from": {
"aarch64": "ghcr.io/hassio-addons/base/aarch64:14.0.5",
"amd64": "ghcr.io/hassio-addons/base/amd64:14.0.5",
"armhf": "ghcr.io/hassio-addons/base/armhf:14.0.5",
"armv7": "ghcr.io/hassio-addons/base/armv7:14.0.5"
}
}

26
portainer/config.json Executable file
View File

@@ -0,0 +1,26 @@
{
"name": "Portainer",
"version": "3.4.0",
"slug": "portainer",
"description": "Manage your Docker environment with ease.",
"url": "https://git.nstoerzbach.de/nico.stoerzbach/hassio-repository",
"advanced": true,
"ingress": true,
"ingress_stream": true,
"startup": "services",
"panel_icon": "mdi:docker",
"arch": ["aarch64", "amd64", "armhf", "armv7"],
"init": false,
"ports": {
"8000/tcp": null
},
"ports_description": {
"8000/tcp": "Edge Agent Api (Enable when managing remote edge agents)"
},
"hassio_api": true,
"docker_api": true,
"schema": {
"log_level": "list(trace|debug|info|notice|warning|error|fatal)?",
"agent_secret": "str?"
}
}

BIN
portainer/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

BIN
portainer/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -1,8 +1,6 @@
#!/usr/bin/with-contenv bashio
# ==============================================================================
# Start the example service
# Home Assistant Community Add-on: Portainer
# Runs some initializations for Portainer
# ==============================================================================
## Add your code here
bashio::log.info "Hello world"
bashio::require.unprotected

View File

@@ -1,5 +1,9 @@
#!/usr/bin/execlineb -S1
#!/usr/bin/execlineb -S0
# ==============================================================================
# Take down the S6 supervision tree when example fails
# Home Assistant Community Add-on: Portainer
# Take down the S6 supervision tree when Portainer fails
# ==============================================================================
if { s6-test ${1} -ne 0 }
if { s6-test ${1} -ne 256 }
s6-svscanctl -t /var/run/s6/services

View File

@@ -0,0 +1,21 @@
#!/usr/bin/with-contenv bashio
# ==============================================================================
# Home Assistant Community Add-on: Portainer
# Runs portainer
# ==============================================================================
declare -a options
export AGENT_SECRET
bashio::log.info 'Starting Portainer...'
options+=(--data /data)
options+=(--bind 0.0.0.0:8099)
options+=(--host unix:///var/run/docker.sock)
# Export agent secret, if defined
if bashio::config.has_value 'agent_secret' ; then
AGENT_SECRET=$(bashio::config 'agent_secret')
fi
# Run Portainer
exec /opt/portainer/portainer "${options[@]}"

View File

@@ -0,0 +1,13 @@
---
configuration:
log_level:
name: Log level
description: >-
Controls the level of log details the add-on provides.
agent_secret:
name: Agent Secret
description: >-
An option to set a shared agent secret. Must also be set in the remote
agent as an Environment variable.
network:
8000/tcp: Edge Agent Api (Enable when managing remote edge agents)

View File

@@ -1,4 +1,4 @@
# https://developers.home-assistant.io/docs/add-ons/repository#repository-configuration
name: Example Home Assistant add-on repository
url: 'https://github.com/home-assistant/addons-example'
maintainer: Awesome Maintainer <awesome@example.com>
name: My custom Home Assistant add-on repository
url: 'https://git.nstoerzbach.de/nico.stoerzbach/hassio-repository'
maintainer: Nico Störzbach <nico@nstoerzbach.de>