This commit is contained in:
2024-06-17 23:19:57 +02:00
parent 763a4a78ef
commit 12f5412ad7
35 changed files with 462 additions and 731 deletions

View File

@@ -1,157 +0,0 @@
# Home Assistant Community Add-ons
![Project Stage][project-stage-shield]
![Maintenance][maintenance-shield]
[![License][license-shield]](LICENSE.md)
[![Discord][discord-shield]][discord]
[![Community Forum][forum-shield]][forum]
## About
Home Assistant allows anyone to create add-on repositories to share their
add-ons for Home Assistant easily. This repository is one of those repositories,
providing extra Home Assistant add-ons for your installation.
The primary goal of this project is to provide you (as a Home Assistant user)
with additional, high quality, add-ons that allow you to take your automated
home to the next level.
## Installation
In general, there is no need to install this repository on your
Home Assistant instance. It is activated and added by Home Assistant
by default.
However, if the repository is missing on your setup, adding this add-ons
repository to your Home Assistant instance is pretty easy. In the
Home Assistant add-on store, a possibility to add a repository is provided.
Use the following URL to add this repository:
```txt
{{ repo }}
```
## Add-ons provided by this repository
{% for addon in addons %}
### ✓ [{{ addon.name }}][addon-{{ addon.target }}]
![Latest Version][{{ addon.target }}-version-shield]
![Supports armhf Architecture][{{ addon.target }}-armhf-shield]
![Supports armv7 Architecture][{{ addon.target }}-armv7-shield]
![Supports aarch64 Architecture][{{ addon.target }}-aarch64-shield]
![Supports amd64 Architecture][{{ addon.target }}-amd64-shield]
![Supports i386 Architecture][{{ addon.target }}-i386-shield]
{{ addon.description }}
[:books: {{ addon.name }} add-on documentation][addon-doc-{{ addon.target }}]
{% endfor %}
## Releases
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]
- The Home Assistant [Community Forum][forum].
- The Home Assistant [Discord Chat Server][discord-ha].
- Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit]
You could also open an issue here on GitHub. Note, we use a separate
GitHub repository for each add-on. Please ensure you are creating the issue
on the correct GitHub repository matching the add-on.
{% for addon in addons %}
- [Open an issue for the add-on: {{ addon.name }}][{{ addon.target }}-issue]
{% endfor %}
For a general repository issue or add-on ideas [open an issue here][issue]
## Contributing
This is an active open-source project. We are always open to people who want to
use the code or contribute to it.
We have set up a separate document containing our
[contribution guidelines](CONTRIBUTING.md).
Thank you for being involved! :heart_eyes:
## Adding a new add-on
We are currently not accepting third party add-ons to this repository.
For questions, please contact [Franck Nijhof][frenck]:
- Drop him an email: frenck@addons.community
- Chat with him on [Discord Chat][discord]
- Message him via the forums: [frenck][forum-frenck]
## License
MIT License
Copyright (c) 2017-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.
{% for addon in addons %}
[addon-{{ addon.target }}]: {{ addon.repo }}/tree/{{ addon.version }}
[addon-doc-{{ addon.target}}]: {{ addon.repo }}/blob/{{ addon.version }}/README.md
[{{ addon.target }}-issue]: {{ addon.repo }}/issues
[{{ addon.target }}-version-shield]: https://img.shields.io/badge/version-{{ addon.version }}-blue.svg
{% for arch in ['aarch64', 'amd64', 'armhf', 'armv7', 'i386'] %}
{% if arch in addon.archs %}
[{{ addon.target }}-{{ arch }}-shield]: https://img.shields.io/badge/{{ arch }}-yes-green.svg
{% else %}
[{{ addon.target }}-{{ arch }}-shield]: https://img.shields.io/badge/{{ arch }}-no-red.svg
{% endif %}
{% endfor %}
{% endfor %}
[awesome-shield]: https://img.shields.io/badge/awesome%3F-yes-brightgreen.svg
[awesome]: https://awesome-ha.com
[discord-ha]: https://discord.gg/c5DvZ4e
[discord-shield]: https://img.shields.io/discord/478094546522079232.svg
[discord]: https://discord.me/hassioaddons
[forum-frenck]: https://community.home-assistant.io/u/frenck/?u=frenck
[forum-shield]: https://img.shields.io/badge/community-forum-brightgreen.svg
[forum]: https://community.home-assistant.io?u=frenck
[frenck]: https://github.com/frenck
[gitlabci-shield]: https://gitlab.com/{{ name }}/badges/master/pipeline.svg
[gitlabci]: https://gitlab.com/{{ name }}/pipelines
[issue]: https://github.com/{{ name }}/issues
[license-shield]: https://img.shields.io/github/license/{{ name }}.svg
[maintenance-shield]: https://img.shields.io/maintenance/yes/2021.svg
[project-stage-shield]: https://img.shields.io/badge/project%20stage-production%20ready-brightgreen.svg
[reddit]: https://reddit.com/r/homeassistant
[semver]: http://semver.org/spec/v2.0.0.html

View File

@@ -1,24 +0,0 @@
## Whats changed
## 🐛 Bug fixes
- Fix example script permissions @frenck (#75)
## ⬆️ Dependency updates
- ⬆️ Bump docker/setup-buildx-action from v1.1.2 to v1.2.0 @dependabot (#60)
- ⬆️ Bump docker/setup-qemu-action from v1.0.2 to v1.1.0 @dependabot (#59)
- ⬆️ Bump docker/login-action from v1.8.0 to v1.9.0 @dependabot (#61)
- ⬆️ Bump docker/setup-buildx-action from v1.2.0 to v1.3.0 @dependabot (#62)
- ⬆️ Bump brpaz/hadolint-action from v1.4.0 to v1.5.0 @dependabot (#63)
- ⬆️ Bump frenck/action-addon-linter from 2 to 2.1 @dependabot (#64)
- ⬆️ Bump actions/stale from 3.0.18 to 3.0.19 @dependabot (#65)
- ⬆️ Bump frenck/action-addon-information from 1.0.0 to 1.1 @dependabot (#66)
- ⬆️ Bump micnncim/action-label-syncer from 1.2.0 to 1.3.0 @dependabot (#67)
- ⬆️ Bump docker/setup-qemu-action from 1.1.0 to 1.2.0 @dependabot (#69)
- ⬆️ Bump docker/build-push-action from 2.4.0 to 2.5.0 @dependabot (#68)
- ⬆️ Bump actions/cache from 2.1.5 to 2.1.6 @dependabot (#70)
- ⬆️ Bump frenck/action-addon-information from 1.1 to 1.2 @dependabot (#71)
- ⬆️ Upgrades add-on base image to v9.2.2 @frenck (#72)
- ⬆️ Upgrades add-on base image to v10.0.0 @frenck (#74)
- ⬆️ Bump docker/login-action from 1.9.0 to 1.10.0 @dependabot (#73)

View File

@@ -1,132 +0,0 @@
# Home Assistant Community Add-on: Example
This is an example add-on for Home Assistant. When started, it displays a
random quote every 5 seconds.
It shows off several features and structures like:
- Full blown GitHub repository.
- General Dockerfile structure and setup.
- The use of the `config.json` and `build.json` files.
- General shell scripting structure (`run.sh`).
- Quality assurance using CodeClimate.
- Continuous integration and deployment using GitLab.
- Usage of the Community Home Assistant Add-ons build environment.
- Small use of the Bash function library in our base images.
- The use of Docker label schema.
## Installation
The installation of this add-on is pretty straightforward and not different in
comparison to installing any other Home Assistant add-on.
1. Search for the "Example" add-on in the Supervisor add-on store and install it.
1. Start the "Example" add-on.
1. Check the logs of the "Example" add-on to see it in action.
## Configuration
Eventought this add-on is just an example add-on, it does come with some
configuration options to play around with.
**Note**: _Remember to restart the add-on when the configuration is changed._
Example add-on configuration:
```yaml
log_level: info
seconds_between_quotes: 5
```
### Option: `log_level`
The `log_level` option controls the level of log output by the add-on 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: `seconds_between_quotes`
Sets the number of seconds between the output of each quote. The value
must be between `1` and `120` seconds. This value is set to `5` seconds by
default.
## 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) 2017-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-example/graphs/contributors
[discord-ha]: https://discord.gg/c5DvZ4e
[discord]: https://discord.me/hassioaddons
[forum]: https://community.home-assistant.io/t/repository-community-hass-io-add-ons/24705?u=frenck
[frenck]: https://github.com/frenck
[issue]: https://github.com/hassio-addons/addon-example/issues
[reddit]: https://reddit.com/r/homeassistant
[releases]: https://github.com/hassio-addons/addon-example/releases
[semver]: http://semver.org/spec/v2.0.0.html

View File

@@ -1,41 +0,0 @@
# Home Assistant Community Add-on: Example
[![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]
Example add-on by Community Home Assistant add-ons.
## About
This is an example add-on for Home Assistant. When started, it displays a
random quote every 5 seconds.
It shows off several features and structures like:
- Full blown GitHub repository.
- General Dockerfile structure and setup.
- The use of the `config.json` and `build.json` files.
- General shell scripting structure (`run.sh`).
- Quality assurance using CodeClimate.
- Continuous integration and deployment using GitLab.
- Usage of the Community Home Assistant Add-ons build environment.
- Small use of the Bash function library in our base images.
- The use of Docker label schema.
[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?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-v4.2.0-blue.svg
[release]: https://github.com/hassio-addons/addon-example/tree/v4.2.0

View File

@@ -1,24 +0,0 @@
{
"name": "Example",
"version": "4.2.0",
"slug": "example",
"description": "Example add-on by Community Home Assistant Add-ons",
"url": "https://github.com/hassio-addons/addon-example",
"init": false,
"arch": [
"aarch64",
"amd64",
"armhf",
"armv7",
"i386"
],
"options": {
"log_level": "info",
"seconds_between_quotes": 5
},
"schema": {
"log_level": "list(trace|debug|info|notice|warning|error|fatal)",
"seconds_between_quotes": "int(1,120)"
},
"image": "ghcr.io/hassio-addons/example/{arch}"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

View File

@@ -1,7 +0,0 @@
configuration:
log_level:
description: 'The amount of logging the add-on should do.'
name: 'Log level'
seconds_between_quotes:
description: 'The number of seconds the add-on waits until showing a new quote in the add-on log.'
name: 'Sekunden zwischen Zitaten'

View File

@@ -1,10 +0,0 @@
---
configuration:
log_level:
name: Log level
description: The amount of logging the add-on should do.
seconds_between_quotes:
name: Seconds between quotes
description: >-
The number of seconds the add-on waits until showing a new quote in the
add-on log.

View File

@@ -1,7 +0,0 @@
configuration:
log_level:
description: 'Bepaalt het niveau van de logs die de add-on toont.'
name: 'Log niveau'
seconds_between_quotes:
description: 'The number of seconds the add-on waits until showing a new quote in the add-on log.'
name: 'Aantal seconden tussen de citaten'

View File

@@ -1,49 +0,0 @@
ARG BUILD_FROM=hassioaddons/base-python:5.2.0
# hadolint ignore=DL3006
FROM ${BUILD_FROM}
# Set shell
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# Copy Python requirements file
COPY requirements.txt /tmp/
COPY app.py /
# Setup base
ARG BUILD_ARCH=amd64
RUN \
apk add --no-cache --virtual .build-dependencies \
g++=9.2.0-r4 \
gcc=9.2.0-r4 \
make=4.2.1-r2 \
\
&& apk add --no-cache \
nginx-mod-http-lua=1.16.1-r6 \
lua-resty-http=0.15-r0 \
nginx=1.16.1-r6 \
cython=0.29.14-r0 \
\
&& pip3 install \
--no-cache-dir \
--prefer-binary \
--find-links "https://wheels.hass.io/alpine-3.11/${BUILD_ARCH}/" \
-r /tmp/requirements.txt \
\
&& find /usr/local \
\( -type d -a -name test -o -name tests -o -name '__pycache__' \) \
-o \( -type f -a -name '*.pyc' -o -name '*.pyo' \) \
-exec rm -rf '{}' + \
\
&& apk del --purge .build-dependencies \
&& rm -f -r \
/etc/nginx \
/tmp/*
# Copy data for add-on
COPY run.sh /
COPY requirements.txt /tmp/
# Install requirements for add-on
RUN pip install -r /tmp/requirements.txt
RUN chmod a+x /run.sh
CMD [ "/run.sh" ]

View File

@@ -1,12 +0,0 @@
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "Hey, we have Flask in a Docker container!"
if __name__ == "__main__":
app.run(debug=True, host="0.0.0.0")

View File

@@ -1,10 +0,0 @@
{
"args": {},
"build_from": {
"aarch64": "hassioaddons/base-python-aarch64:5.2.0",
"amd64": "hassioaddons/base-python-amd64:5.2.0",
"armhf": "hassioaddons/base-python-armhf:5.2.0",
"armv7": "hassioaddons/base-python-armv7:5.2.0",
"i386": "hassioaddons/base-python-i386:5.2.0"
}
}

View File

@@ -1,20 +0,0 @@
{
"name": "Hello flask",
"version": "0.23",
"slug": "hello_flask",
"description": "Hello world flask add-on!",
"arch": [
"armhf",
"armv7",
"aarch64",
"amd64",
"i386"
],
"startup": "before",
"boot": "auto",
"options": {},
"schema": {},
"ports": {
"5000/tcp": 5000
}
}

View File

@@ -1 +0,0 @@
flask==1.1.2

View File

@@ -1,5 +0,0 @@
#!/usr/bin/with-contenv bashio
echo Running flask hello world
python3 app.py

View File

@@ -1,74 +0,0 @@
---
# Project information
site_name: "Home Assistant Community Add-ons"
site_url: "https://addons.community"
site_description: "The primary goal of this project is to provide you (as a Home Assistant user) with additional, high quality, add-ons that allow you to take your automated home to the next level."
site_author: "Franck Nijhof"
copyright: "Copyright 2017-2020 - Franck Nijhof."
# Repository
repo_name: "hassio-addons"
repo_url: "https://github.com/hassio-addons/repository"
edit_uri: ""
# Theme configuration
theme:
name: "material"
logo: "https://avatars3.githubusercontent.com/u/30772201?s=200&v=4"
language: "en"
palette:
primary: "light-blue"
accent: "blue"
font:
text: "Exo2"
code: "Roboto Mono"
feature:
- tabs
extra_css:
- css/extra.css
# Customization
extra:
manifest: "manifest.webmanifest"
social:
- icon: fontawesome/brands/github-alt
link: "https://github.com/hassio-addons"
- icon: fontawesome/brands/twitter
link: "https://twitter.com/hassio-addons"
- icon: fontawesome/brands/instagram
link: "https://instagram.com/frenck"
- icon: fontawesome/brands/twitch
link: "https://twitch.tv/frenck"
- icon: fontawesome/brands/youtube
link: "https://youtube.com/frenck"
- icon: fontawesome/brands/linkedin
link: "https://www.linkedin.com/in/frenck"
# Extensions
markdown_extensions:
- toc:
permalink: true
- pymdownx.betterem:
smart_enable: all
- pymdownx.caret
- pymdownx.critic
- pymdownx.details
- pymdownx.emoji:
emoji_generator: !!python/name:pymdownx.emoji.to_svg
- pymdownx.inlinehilite
- pymdownx.magiclink
- pymdownx.mark
- pymdownx.smartsymbols
- pymdownx.superfences
- pymdownx.tasklist:
custom_checkbox: true
- pymdownx.tilde
# The pages to serve
nav:
- "Our Add-ons": "index.md"
- "Beta Add-ons": "beta.md"
- "Edge Add-ons": "edge.md"
- "Contributing": "contributing.md"
- "Code of Conduct": "code-of-conduct.md"
- "License": "license.md"

55
postgres/CHANGELOG.md Normal file
View File

@@ -0,0 +1,55 @@
## 15.5-7 (24-02-2024)
- Update pgvector to 0.2.0
## 15.5-6 (03-02-2024)
- Fix : use custom postgres username
## 15.5-5 (03-02-2024)
- Revert vector to 0.1.11 as only version supported by immich
## 15.5-4 (31-01-2024)
- ⚠ PLEASE BACKUP before updating! Non reversible changes
- ⚠ WARNING : addition of pgvecto.rs extension, potentially breaking change ! Be sure to backup prior to update
- ⚠ Database location changed from /data to /addon_configs/xxx-postgres : no expected user impact other that all configuration files will also be located in this folder accessible with addons such as Filebrowser
## 15.5 (11-11-2023)
- Update to latest version from postgres
## 15.4 (09-09-2023)
- Update to latest version from postgres
## 15.3-11 (08-09-2023)
- Minor bugs fixed
## 15.3-10 (08-09-2023)
- Minor bugs fixed
## 15.3-9 (08-09-2023)
- Minor bugs fixed
## 15.3-7 (07-09-2023)
- Minor bugs fixed
## 15.3-6 (07-09-2023)
- Minor bugs fixed
## 15.3-5 (07-09-2023)
- Minor bugs fixed
## 15.3-2 (07-09-2023)
- Minor bugs fixed
- Ensure postgres.conf persistcene
## 15.3
- Initial release
- Removed useless webui button

115
postgres/Dockerfile Normal file
View File

@@ -0,0 +1,115 @@
#============================#
# ALEXBELGIUM'S DOCKERFILE #
#============================#
# _.------.
# _.-` ('>.-`"""-.
# '.--'` _'` _ .--.)
# -' '-.-';` `
# ' - _.' ``'--.
# '---` .-'""`
# /`
#=== Home Assistant Addon ===#
#################
# 1 Build Image #
#################
ARG BUILD_FROM
ARG BUILD_VERSION
FROM $BUILD_FROM
##################
# 2 Modify Image #
##################
# Set S6 wait time
ENV S6_CMD_WAIT_FOR_SERVICES=1 \
S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 \
S6_SERVICES_GRACETIME=0
RUN \
# Correct for access
for file in /usr/share/postgresql/postgresql.conf.sample /usr/local/share/postgresql/postgresql.conf.sample; do \
if [ -f "$file" ]; then sed -i "s|.*listen_addresses(.*)|listen_addresses = '*'(1)|g" "$file" && \
sed -i "s|.*data_directory(.*)|data_directory = '/config/database'(1)|g" "$file"; fi; done
##################
# 3 Install apps #
##################
# Add rootfs
COPY rootfs/ /
# Uses /bin for compatibility purposes
# hadolint ignore=DL4005
RUN if [ ! -f /bin/sh ] && [ -f /usr/bin/sh ]; then ln -s /usr/bin/sh /bin/sh; fi && \
if [ ! -f /bin/bash ] && [ -f /usr/bin/bash ]; then ln -s /usr/bin/bash /bin/bash; fi
# Modules
ARG MODULES="00-banner.sh 01-custom_script.sh 00-global_var.sh"
# Automatic modules download
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_automodules.sh" "/ha_automodules.sh"
RUN chmod 744 /ha_automodules.sh && /ha_automodules.sh "$MODULES" && rm /ha_automodules.sh
# Manual apps
ENV PACKAGES=""
# Automatic apps & bashio
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_autoapps.sh" "/ha_autoapps.sh"
RUN chmod 744 /ha_autoapps.sh && /ha_autoapps.sh "$PACKAGES" && rm /ha_autoapps.sh
################
# 4 Entrypoint #
################
# Add entrypoint
ENV S6_STAGE2_HOOK=/ha_entrypoint.sh
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_entrypoint.sh" "/ha_entrypoint.sh"
# Entrypoint modifications
ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_entrypoint_modif.sh" "/ha_entrypoint_modif.sh"
RUN chmod 777 /ha_entrypoint.sh /ha_entrypoint_modif.sh && /ha_entrypoint_modif.sh && rm /ha_entrypoint_modif.sh
RUN chmod 777 /docker-entrypoint-initdb.d/*
WORKDIR /config
ENTRYPOINT [ "/usr/bin/env" ]
CMD [ "/ha_entrypoint.sh" ]
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
############
# 5 Labels #
############
ARG BUILD_ARCH
ARG BUILD_DATE
ARG BUILD_DESCRIPTION
ARG BUILD_NAME
ARG BUILD_REF
ARG BUILD_REPOSITORY
ARG BUILD_VERSION
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="alexbelgium (https://github.com/alexbelgium)" \
org.opencontainers.image.title="${BUILD_NAME}" \
org.opencontainers.image.description="${BUILD_DESCRIPTION}" \
org.opencontainers.image.vendor="Home Assistant Add-ons" \
org.opencontainers.image.authors="alexbelgium (https://github.com/alexbelgium)" \
org.opencontainers.image.licenses="MIT" \
org.opencontainers.image.url="https://github.com/alexbelgium" \
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}
####################
# 6 HealthcheckNOT #
####################
# Can't be implemented as container is optimized for memory usage, so the webserver and Node are spun down during idle

65
postgres/README.md Normal file
View File

@@ -0,0 +1,65 @@
# Home assistant add-on: Postgres
[![Donate][donation-badge]](https://www.buymeacoffee.com/alexbelgium)
[![Donate][paypal-badge]](https://www.paypal.com/donate/?hosted_button_id=DZFULJZTP3UQA)
![Version](https://img.shields.io/badge/dynamic/json?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fpostgres%2Fconfig.json)
![Ingress](https://img.shields.io/badge/dynamic/json?label=Ingress&query=%24.ingress&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fpostgres%2Fconfig.json)
![Arch](https://img.shields.io/badge/dynamic/json?color=success&label=Arch&query=%24.arch&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fpostgres%2Fconfig.json)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/9c6cf10bdbba45ecb202d7f579b5be0e)](https://www.codacy.com/gh/alexbelgium/hassio-addons/dashboard?utm_source=github.com&utm_medium=referral&utm_content=alexbelgium/hassio-addons&utm_campaign=Badge_Grade)
[![GitHub Super-Linter](https://img.shields.io/github/actions/workflow/status/alexbelgium/hassio-addons/weekly-supelinter.yaml?label=Lint%20code%20base)](https://github.com/alexbelgium/hassio-addons/actions/workflows/weekly-supelinter.yaml)
[![Builder](https://img.shields.io/github/actions/workflow/status/alexbelgium/hassio-addons/onpush_builder.yaml?label=Builder)](https://github.com/alexbelgium/hassio-addons/actions/workflows/onpush_builder.yaml)
[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee%20(no%20paypal)-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white
[paypal-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee%20with%20Paypal-0070BA?logo=paypal&style=flat&logoColor=white
_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_
[![Stargazers repo roster for @alexbelgium/hassio-addons](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stars2.svg)](https://github.com/alexbelgium/hassio-addons/stargazers)
![downloads evolution](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/postgres/stats.png)
## About
PostgreSQL, often simply "Postgres", is an object-relational database management system (ORDBMS) with an emphasis on extensibility and standards-compliance. As a database server, its primary function is to store data, securely and supporting best practices, and retrieve it later, as requested by other software applications, be it those on the same computer or those running on another computer across a network (including the Internet). It can handle workloads ranging from small single-machine applications to large Internet-facing applications with many concurrent users. Recent versions also provide replication of the database itself for security and scalability.
This addon is based on the official image : https://hub.docker.com/_/postgres
## Configuration
Postgres port is by default 5432 and is exposed to the host network.
default user: `postgres`
password: `set by POSTGRES_PASSWORD`
You can configure this options:
```yaml
POSTGRES_PASSWORD
POSTGRES_USER
POSTGRES_DB
POSTGRES_INITDB_ARGS
POSTGRES_HOST_AUTH_METHOD
```
For more info check [base image docs](https://hub.docker.com/_/postgres).
By default `postgresql.conf` is stored in volume accessible by other addons and Home Assistant, so you can conviniently modify it by e.g. File Editor addon. If you prefer better security change `CONFIG_LOCATION` to e.g. `/data/orig/postgresql.conf`, so it will be acessible only to this addon, but you will have to modify it by the [Hassio SSH](https://developers.home-assistant.io/docs/operating-system/debugging/).
## Installation
The installation of this add-on is pretty straightforward and not different in comparison to installing any other add-on.
1. Add my add-ons repository to your home assistant instance (in supervisor addons store at top right, or click button below if you have configured my HA)
[![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%2Falexbelgium%2Fhassio-addons)
1. Install this add-on.
1. Click the `Save` button to store your configuration.
1. Set the add-on options to your preferences, at least POSTGRES_PASSWORD is required.
1. Start the add-on.
1. Check the logs of the add-on to see if everything went well.
1. Use any Postgres client to connect, e.g. to `homeassistant.local:5432`
## Support
Create an issue on github
[repository]: https://github.com/alexbelgium/hassio-addons

70
postgres/apparmor.txt Normal file
View File

@@ -0,0 +1,70 @@
#include <tunables/global>
profile postgres_addon flags=(attach_disconnected,mediate_deleted) {
#include <abstractions/base>
capability,
file,
signal,
mount,
umount,
remount,
network udp,
network tcp,
network dgram,
network stream,
network inet,
network inet6,
network netlink raw,
network unix dgram,
capability setgid,
capability setuid,
capability sys_admin,
capability dac_read_search,
capability dac_override,
# capability sys_rawio,
# S6-Overlay
/init ix,
/run/{s6,s6-rc*,service}/** ix,
/package/** ix,
/command/** ix,
/run/{,**} rwk,
/dev/tty rw,
/bin/** ix,
/usr/bin/** ix,
/usr/lib/bashio/** ix,
/etc/s6/** rix,
/run/s6/** rix,
/etc/services.d/** rwix,
/etc/cont-init.d/** rwix,
/etc/cont-finish.d/** rwix,
/init rix,
/var/run/** mrwkl,
/var/run/ mrwkl,
/dev/i2c-1 mrwkl,
# Files required
/dev/fuse mrwkl,
/dev/sda1 mrwkl,
/dev/sdb1 mrwkl,
/dev/nvme0 mrwkl,
/dev/nvme1 mrwkl,
/dev/mmcblk0p1 mrwkl,
/dev/* mrwkl,
/udev/* mrwkl,
/tmp/** mrkwl,
/dev/fuse/** mrkwl,
/dev/** mrkwl,
/sys/firmware/** mrkwl,
# Data access
/data/** rw,
# suppress ptrace denials when using 'docker ps' or using 'ps' inside a container
ptrace (trace,read) peer=docker-default,
# docker daemon confinement requires explict allow rule for signal
signal (receive) set=(kill,term) peer=/usr/bin/docker,
}

10
postgres/build.json Normal file
View File

@@ -0,0 +1,10 @@
{
"build_from": {
"aarch64": "tensorchord/pgvecto-rs:pg15-v0.2.0",
"amd64": "tensorchord/pgvecto-rs:pg15-v0.2.0",
"armv7": "postgres:15-alpine"
},
"codenotary": {
"signer": "alexandrep.github@gmail.com"
}
}

41
postgres/config.json Normal file
View File

@@ -0,0 +1,41 @@
{
"arch": [
"aarch64",
"amd64",
"armv7"
],
"backup": "cold",
"codenotary": "alexandrep.github@gmail.com",
"description": "Postgres 15 with pgvecto.rs support",
"environment": {
"CONFIG_LOCATION": "/config/postgresql.conf",
"PGDATA": "/config/database"
},
"image": "ghcr.io/alexbelgium/postgres-{arch}",
"map": [
"addon_config:rw",
"homeassistant_config:rw",
"media:rw"
],
"name": "Postgres 15",
"options": {
"POSTGRES_PASSWORD": "homeassistant"
},
"ports": {
"5432/tcp": 5432
},
"ports_description": {
"5432/tcp": "Postgres"
},
"schema": {
"POSTGRES_DB": "str?",
"POSTGRES_HOST_AUTH_METHOD": "str?",
"POSTGRES_INITDB_ARGS": "str?",
"POSTGRES_PASSWORD": "str",
"POSTGRES_USER": "str?"
},
"slug": "postgres",
"udev": true,
"url": "https://github.com/alexbelgium/hassio-addons",
"version": "15.5-7"
}

BIN
postgres/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
postgres/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,27 @@
#!/usr/bin/env bashio
# shellcheck shell=bash
set -e
bashio::log.info "Waiting for port 5432 to open..."
# Wait for transmission to become available
bashio::net.wait_for 5432 localhost 900
bashio::log.info "Enabling vector.rs"
# Set variables for vector.rs
DB_PORT=5432
DB_HOSTNAME=localhost
DB_PASSWORD="$(bashio::config 'POSTGRES_PASSWORD')"
if bashio::config.has_value "POSTGRES_USER"; then DB_USERNAME="$(bashio::config "POSTGRES_USER")"; else DB_USERNAME=postgres; fi
export DB_PORT
export DB_HOSTNAME
export DB_USERNAME
export DB_PASSWORD
echo "DROP EXTENSION IF EXISTS vectors;
CREATE EXTENSION vectors;
\q"> setup_postgres.sql
# Enable vectors
psql "postgres://$DB_USERNAME:$DB_PASSWORD@$DB_HOSTNAME:$DB_PORT" < setup_postgres.sql || true

View File

@@ -0,0 +1,17 @@
#!/usr/bin/with-contenv bashio
# shellcheck shell=bash
set -e
# Migration
if [ -d /data/database ]; then
bashio::log.warning "Database migrated to /config"
mv /data/database /config
fi
if [ -f /homeassistant/addons_config/postgres/config.yaml ]; then
bashio::log.warning "Config migrated to /config"
mv /homeassistant/addons_config/postgres/* /config/
rm -r /homeassistant/addons_config/postgres
# Correct database location
sed -i "s|/data/database|/config/database|g" /config/postgresql.conf
fi

View File

@@ -0,0 +1,50 @@
#!/usr/bin/env bashio
# shellcheck shell=bash
set -e
# Use new config file
CONFIG_HOME="/config"
mkdir -p "$CONFIG_HOME"
if [ ! -f "$CONFIG_HOME"/postgresql.conf ]; then
# Copy default config.env
if [ -f /usr/local/share/postgresql/postgresql.conf.sample ]; then
cp /usr/local/share/postgresql/postgresql.conf.sample "$CONFIG_HOME"/postgresql.conf
elif [ -f /usr/share/postgresql/postgresql.conf.sample ]; then
cp /usr/share/postgresql/postgresql.conf.sample "$CONFIG_HOME"/postgresql.conf
else
bashio::exit.nok "Config file not found, please ask maintainer"
fi
bashio::log.warning "A default config.env file was copied in $CONFIG_HOME. Please customize according to https://hub.docker.com/_/postgres and restart the add-on"
else
bashio::log.warning "The config.env file found in $CONFIG_HOME will be used (mapped to /addon_configs/xxx-postgres when accessing from Filebrowser). Please customize according to https://hub.docker.com/_/postgres and restart the add-on"
fi
# Define home
# Creating config location
mkdir -p "$PGDATA"
chown -R postgres:postgres "$PGDATA"
chmod 777 "$PGDATA"
# Permissions
chmod -R 777 "$CONFIG_HOME"
##############
# Launch App #
##############
# Go to folder
cd /config || true
echo " "
bashio::log.info "Starting the app"
echo " "
# Add docker-entrypoint command
if [ "$(bashio::info.arch)" != "armv7" ]; then
# Exec vecto modification
/./docker-entrypoint-initdb.d/10-vector.sh & \
docker-entrypoint.sh postgres -c shared_preload_libraries=vectors.so
else
bashio::log.warning "Your architecture is armv7, pgvecto.rs is disabled as not supported"
docker-entrypoint.sh postgres
fi

12
postgres/updater.json Normal file
View File

@@ -0,0 +1,12 @@
{
"dockerhub_by_date": true,
"dockerhub_list_size": 2,
"github_tagfilter": "15",
"last_update": "11-11-2023",
"paused": true,
"repository": "Mesteriis/hassio-addons-avm",
"slug": "postgres",
"source": "github",
"upstream_repo": "tensorchord/pgvecto.rs",
"upstream_version": "15.5"
}

View File

@@ -1,19 +0,0 @@
## Whats changed
## 🧰 Maintenance
- Apply updated repository structure & CI workflow @frenck (#138)
## ⬆️ Dependency updates
- ⬆️ Bump actions/stale from v3.0.17 to v3.0.18 @dependabot (#127)
- ⬆️ Upgrades python3 to 3.8.8-r0 @frenck (#129)
- ⬆️ Bump release-drafter/release-drafter from v5.14.0 to v5.15.0 @dependabot (#128)
- ⬆️ Bump ludeeus/action-shellcheck from 1.0.0 to 1.1.0 @dependabot (#130)
- ⬆️ Bump docker/build-push-action from v2.3.0 to v2.4.0 @dependabot (#131)
- ⬆️ Bump docker/setup-buildx-action from v1.1.1 to v1.1.2 @dependabot (#133)
- ⬆️ Bump docker/setup-qemu-action from v1.0.1 to v1.0.2 @dependabot (#132)
- ⬆️ Bump actions/cache from v2.1.4 to v2.1.5 @dependabot (#134)
- ⬆️ Upgrades cython to 0.29.21-r1 @frenck (#135)
- ⬆️ Bump brpaz/hadolint-action from v1.3.1 to v1.4.0 @dependabot (#136)
- Upgrades add-on base image to v9.2.0 @frenck (#137)

View File

@@ -1,91 +0,0 @@
# Home Assistant Community Add-on: SQLite Web
This enables you to easily explore all tables and content that is saved in your database.
## Installation
The installation of this add-on is pretty straightforward and not different in
comparison to installing any other Home Assistant add-on.
1. Search for the “SQLite Web” add-on in the Hass.io 166 add-on store
and install it.
1. Start the "SQLite Web" add-on
1. Check the logs of the "SQLite Web" add-on to see if everything went well.
1. Click "OPEN WEB UI" to open the SQLite Web interface.
1. Log in with your Home Assistant user.
**NOTE**: Starting the add-on might take a couple of minutes (especially the
first time starting the add-on).
## Configuration
This add-on has no configuration options.
## 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 [Joakim Sørensen][ludeeus].
For a full list of all authors and contributors,
check [the contributor's page][contributors].
## License
MIT License
Copyright (c) 2018-2021 Joakim Sørensen
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-sqlite-web/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-sqlite-web/68912?u=frenck
[issue]: https://github.com/hassio-addons/addon-sqlite-web/issues
[ludeeus]: https://github.com/ludeeus
[reddit]: https://reddit.com/r/homeassistant
[releases]: https://github.com/hassio-addons/addon-sqlite-web/releases
[semver]: http://semver.org/spec/v2.0.0.htm

View File

@@ -1,27 +0,0 @@
# Home Assistant Community Add-on: SQLite Web
[![Release][release-shield]][release] ![Project Stage][project-stage-shield] ![Project Maintenance][maintenance-shield]
[![Discord][discord-shield]][discord] [![Community Forum][forum-shield]][forum]
[![Buy me a coffee][buymeacoffee-shield]][buymeacoffee]
Explore your Home-Assistant database from your web browser!
## About
This enables you to easily explore all tables and content that is saved in your database.
![SQLite Web screenshot][screenshot]
[buymeacoffee-shield]: https://www.buymeacoffee.com/assets/img/guidelines/download-assets-sm-2.svg
[buymeacoffee]: https://www.buymeacoffee.com/ludeeus
[discord-shield]: https://img.shields.io/discord/330944238910963714.svg
[discord]: https://discord.gg/c5DvZ4e
[forum-shield]: https://img.shields.io/badge/community-forum-brightgreen.svg
[forum]: https://community.home-assistant.io/t/home-assistant-community-add-on-sqlite-web/68912?u=frenck
[maintenance-shield]: https://img.shields.io/maintenance/yes/2021.svg
[project-stage-shield]: https://img.shields.io/badge/project%20stage-experimental-yellow.svg
[release-shield]: https://img.shields.io/badge/version-v3.1.0-blue.svg
[release]: https://github.com/hassio-addons/addon-sqlite-web/tree/v3.1.0
[screenshot]: https://github.com/hassio-addons/addon-sqlite-web/raw/main/images/sample-view.png

View File

@@ -1,21 +0,0 @@
{
"name": "SQLite Web",
"version": "3.1.0",
"slug": "sqlite-web",
"description": "Explore your SQLite database",
"url": "https://github.com/hassio-addons/addon-sqlite-web/tree/main/README.md",
"ingress": true,
"advanced": true,
"panel_icon": "mdi:database",
"arch": [
"aarch64",
"amd64",
"armhf",
"armv7",
"i386"
],
"map": [
"config:rw"
],
"image": "ghcr.io/hassio-addons/sqlite-web/{arch}"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB