mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-01-10 09:51:02 +01:00
initial build
This commit is contained in:
1
tandoor_recipes/CHANGELOG.md
Normal file
1
tandoor_recipes/CHANGELOG.md
Normal file
@@ -0,0 +1 @@
|
||||
- Initial build
|
||||
76
tandoor_recipes/Dockerfile
Normal file
76
tandoor_recipes/Dockerfile
Normal file
@@ -0,0 +1,76 @@
|
||||
#==========================#
|
||||
# ALEXBELGIUM'S DOCKERFILE #
|
||||
#==========================#
|
||||
# _.------.
|
||||
# _.-` ('>.-`"""-.
|
||||
# '.--'` _'` _ .--.)
|
||||
# -' '-.-';` `
|
||||
# ' - _.' ``'--.
|
||||
# '---` .-'""`
|
||||
# /`
|
||||
|
||||
#################
|
||||
# 1 Build Image #
|
||||
#################
|
||||
|
||||
ARG BUILD_VERSION
|
||||
FROM ${BUILD_FROM}
|
||||
|
||||
##################
|
||||
# 2 Modify Image #
|
||||
##################
|
||||
|
||||
|
||||
##################
|
||||
# 3 Install apps #
|
||||
##################
|
||||
|
||||
# Modules
|
||||
ARG MODULES="00-banner.sh"
|
||||
|
||||
# Automatic modules download
|
||||
RUN mkdir -p /tmpscripts /etc/cont-init.d && \
|
||||
for scripts in $MODULES; do curl -L -f -s "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/zzz_templates/$scripts" -o /tmpscripts/"$scripts"; done && \
|
||||
if [ -d /etc/cont-init.d ]; then /bin/cp -rf /tmpscripts/* /etc/cont-init.d/ && chmod -R 755 /etc/cont-init.d; fi && \
|
||||
if [ -d /scripts ]; then /bin/cp -rf /tmpscripts/* /scripts/ && chmod -R 755 /scripts; fi && \
|
||||
rm -rf /tmpscripts || printf '%s\n' "${MODULES:-}" > /MODULESFILE
|
||||
|
||||
################
|
||||
# 4 Entrypoint #
|
||||
################
|
||||
|
||||
#WORKDIR /
|
||||
RUN chmod 777 /entrypoint.sh
|
||||
ENTRYPOINT [ "/usr/bin/env" ]
|
||||
CMD [ "/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}
|
||||
55
tandoor_recipes/README.md
Normal file
55
tandoor_recipes/README.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# Hass.io Add-ons: Tandoor recipes
|
||||
|
||||
[![Donate][donation-badge]](https://www.buymeacoffee.com/alexbelgium)
|
||||
|
||||
[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white
|
||||
|
||||
![Supports
|
||||
Architecture][aarch64-shield] ![Supports amd64 Architecture][amd64-shield] ![Supports armhf Architecture][armhf-shield] ![Supports armv7 Architecture][armv7-shield]
|
||||
![Supports smb mounts][smb-shield]
|
||||
|
||||
_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_
|
||||
|
||||
[](https://github.com/alexbelgium/hassio-addons/stargazers)
|
||||
|
||||
## About
|
||||
|
||||
[Tandoor recipes](https://github.com/TandoorRecipes/recipes) is meant for people with a collection of recipes they want to share with family and friends or simply store them in a nicely organized way. A basic permission system exists but this application is not meant to be run as a public page.
|
||||
|
||||
## Installation
|
||||
|
||||
The installation of this add-on is pretty straightforward and not different in
|
||||
comparison to installing any other Hass.io add-on.
|
||||
|
||||
1. [Add my Hass.io add-ons repository][repository] to your Hass.io instance.
|
||||
1. Install this add-on.
|
||||
1. Click the `Save` button to store your configuration.
|
||||
1. Start the add-on.
|
||||
1. Check the logs of the add-on to see if everything went well.
|
||||
1. Carefully configure the add-on to your preferences, see the official documentation for for that.
|
||||
|
||||
## Configuration
|
||||
|
||||
- Start the addon. Wait a while and check the log for any errors.
|
||||
- Open yourdomain.com:8000 (where ":8000" is the port configured in the addon).
|
||||
- Default
|
||||
- Username: `admin`
|
||||
- Password: `adminadmin`
|
||||
|
||||
```yaml
|
||||
|
||||
```
|
||||
|
||||
## Support
|
||||
|
||||
If you have in issue with your installation, please be sure to checkout github.
|
||||
|
||||
[repository]: https://github.com/alexbelgium/hassio-addons
|
||||
[smb-shield]: https://img.shields.io/badge/smb-yes-green.svg
|
||||
[openvpn-shield]: https://img.shields.io/badge/openvpn-yes-green.svg
|
||||
[ingress-shield]: https://img.shields.io/badge/ingress-yes-green.svg
|
||||
[ssl-shield]: https://img.shields.io/badge/ssl-yes-green.svg
|
||||
[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
|
||||
8
tandoor_recipes/build.json
Normal file
8
tandoor_recipes/build.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"build_from": {
|
||||
"armhf": "vabene1111/recipes:arm32v7-latest",
|
||||
"armv7": "vabene1111/recipes:arm32v7-latest",
|
||||
"aarch64": "vabene1111/recipes:arm64v8-latest",
|
||||
"amd64": "vabene1111/recipes:amd64-latest"
|
||||
}
|
||||
}
|
||||
35
tandoor_recipes/config.json
Normal file
35
tandoor_recipes/config.json
Normal file
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"arch": ["aarch64", "amd64", "armv7", "armhf"],
|
||||
"boot": "auto",
|
||||
"description": "recipe manager",
|
||||
"environment": {},
|
||||
"map": ["share:rw", "ssl:ro"],
|
||||
"name": "Tandoor recipes",
|
||||
"options": {
|
||||
"SECRET_KEY": "YOUR_SECRET_KEY",
|
||||
"DB_TYPE": "sqlite",
|
||||
"ALLOWED_HOSTS": ""
|
||||
},
|
||||
"ports": {
|
||||
"8080/tcp": "9928"
|
||||
},
|
||||
"ports_description": {
|
||||
"8080/tcp": "Web interface"
|
||||
},
|
||||
"services": ["mysql:want"],
|
||||
"schema": {
|
||||
"SECRET_KEY": "str",
|
||||
"DB_TYPE": "list(sqlite|postgresql_external|mariadb_addon)",
|
||||
"ALLOWED_HOSTS": "str?",
|
||||
"POSTGRES_HOST": "str?",
|
||||
"POSTGRES_PORT": "str?",
|
||||
"POSTGRES_USER": "str?",
|
||||
"POSTGRES_PASSWORD": "str?",
|
||||
"POSTGRES_DB": "str?"
|
||||
},
|
||||
"slug": "tandoor_recipes",
|
||||
"upstream": "1.9",
|
||||
"url": "https://github.com/alexbelgium/hassio-addons",
|
||||
"version": "1.9",
|
||||
"webui": "[PROTO:ssl]://[HOST]:[PORT:8080]"
|
||||
}
|
||||
BIN
tandoor_recipes/icon.png
Normal file
BIN
tandoor_recipes/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
BIN
tandoor_recipes/logo.png
Normal file
BIN
tandoor_recipes/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
15
tandoor_recipes/rootfs/entrypoint.sh
Normal file
15
tandoor_recipes/rootfs/entrypoint.sh
Normal file
@@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
echo "Starting..."
|
||||
|
||||
####################
|
||||
# Starting scripts #
|
||||
####################
|
||||
|
||||
for SCRIPTS in /scripts/*; do
|
||||
[ -e "$SCRIPTS" ] || continue
|
||||
echo "$SCRIPTS: executing"
|
||||
chown "$(id -u)":"$(id -g)" "$SCRIPTS"
|
||||
chmod a+x "$SCRIPTS"
|
||||
sed -i 's|/usr/bin/with-contenv bashio|/usr/bin/env bashio|g' "$SCRIPTS" || true
|
||||
/./"$SCRIPTS" || echo "$SCRIPTS: exiting $?"
|
||||
done
|
||||
18
tandoor_recipes/rootfs/scripts/00-aaa_dockerfile_backup.sh
Normal file
18
tandoor_recipes/rootfs/scripts/00-aaa_dockerfile_backup.sh
Normal file
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
# If dockerfile failed install manually
|
||||
if [ -e "/ENVFILE" ]; then
|
||||
echo "Executing script"
|
||||
PACKAGES=$(</ENVFILE)
|
||||
(
|
||||
#######################
|
||||
# Automatic installer #
|
||||
#######################
|
||||
if ! command -v bash >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends bash || apk add --no-cache bash); fi &&
|
||||
if ! command -v curl >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends curl || apk add --no-cache curl); fi &&
|
||||
curl -L -f -s "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/zzz_templates/automatic_packages.sh" --output /automatic_packages.sh &&
|
||||
chmod 777 /automatic_packages.sh &&
|
||||
eval /./automatic_packages.sh "$PACKAGES" &&
|
||||
rm /automatic_packages.sh
|
||||
) >/dev/null
|
||||
|
||||
fi
|
||||
6
tandoor_recipes/rootfs/scripts/20-folders.sh
Normal file
6
tandoor_recipes/rootfs/scripts/20-folders.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
|
||||
cp -r /opt/recipes /data/recipes
|
||||
chmod -R 755 /data/recipes
|
||||
mkdir -p /data/recipes/media
|
||||
mkdir -p /data/recipes/static
|
||||
62
tandoor_recipes/rootfs/scripts/99-run.sh
Normal file
62
tandoor_recipes/rootfs/scripts/99-run.sh
Normal file
@@ -0,0 +1,62 @@
|
||||
#!/usr/bin/with-contenv bashio
|
||||
|
||||
#####################
|
||||
# Export env values #
|
||||
#####################
|
||||
|
||||
export ALLOWED_HOSTS=$(bashio::config 'ALLOWED_HOSTS') && bashio::log.blue "ALLOWED_HOSTS=$ALLOWED_HOSTS"
|
||||
|
||||
###################
|
||||
# Define database #
|
||||
###################
|
||||
|
||||
bashio::log.info "Defining database"
|
||||
export DB_TYPE=$(bashio::config 'DB_TYPE')
|
||||
case $(bashio::config 'DB_TYPE') in
|
||||
|
||||
# Use sqlite
|
||||
sqlite)
|
||||
bashio::log.info "Using a local sqlite database"
|
||||
export DB_ENGINE="django.db.backends.sqlite3"
|
||||
export POSTGRES_DB="/data/recipes.db"
|
||||
;;
|
||||
|
||||
mariadb_addon)
|
||||
bashio::log.info "Using MariaDB addon. Requirements : running MariaDB addon. Discovering values..."
|
||||
if ! bashio::services.available 'mysql'; then
|
||||
bashio::log.fatal \
|
||||
"Local database access should be provided by the MariaDB addon"
|
||||
bashio::exit.nok \
|
||||
"Please ensure it is installed and started"
|
||||
fi
|
||||
|
||||
# Use values
|
||||
export DB_ENGINE=django.db.backends.postgresql
|
||||
export POSTGRES_HOST=$(bashio::services "mysql" "host") && bashio::log.blue "POSTGRES_HOST=$POSTGRES_HOST"
|
||||
export POSTGRES_PORT=$(bashio::services "mysql" "port") && bashio::log.blue "POSTGRES_PORT=$POSTGRES_PORT"
|
||||
export POSTGRES_DB=/data/recipes.db && bashio::log.blue "POSTGRES_DB=$POSTGRES_DB"
|
||||
export POSTGRES_USER=$(bashio::services "mysql" "username") && bashio::log.blue "POSTGRES_USER=$POSTGRES_USER"
|
||||
export POSTGRES_PASSWORD=$(bashio::services "mysql" "password") && bashio::log.blue "POSTGRES_PASSWORD=$POSTGRES_PASSWORD"
|
||||
|
||||
bashio::log.warning "Webtrees is using the Maria DB addon"
|
||||
bashio::log.warning "Please ensure this is included in your backups"
|
||||
bashio::log.warning "Uninstalling the MariaDB addon will remove any data"
|
||||
;;
|
||||
|
||||
postgresql_external)
|
||||
bashio::log.info "Using an external database, please populate all required fields in the addons config"
|
||||
export DB_ENGINE=django.db.backends.postgresql
|
||||
export POSTGRES_HOST=$(bashio::config "POSTGRES_HOST") && bashio::log.blue "POSTGRES_HOST=$POSTGRES_HOST"
|
||||
export POSTGRES_PORT=$(bashio::config "POSTGRES_PORT") && bashio::log.blue "POSTGRES_PORT=$POSTGRES_PORT"
|
||||
export POSTGRES_DB=$(bashio::config "POSTGRES_DB") && bashio::log.blue "POSTGRES_DB=$POSTGRES_DB"
|
||||
export POSTGRES_USER=$(bashio::config "POSTGRES_USER") && bashio::log.blue "POSTGRES_USER=$POSTGRES_USER"
|
||||
export POSTGRES_PASSWORD=$(bashio::config "POSTGRES_PASSWORD") && bashio::log.blue "POSTGRES_PASSWORD=$POSTGRES_PASSWORD"
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
##############
|
||||
# Launch app #
|
||||
##############
|
||||
|
||||
/./opt/recipes/boot.sh
|
||||
Reference in New Issue
Block a user