From 18d7300b57d8f250cf18e808e3726cf6af4b8bf0 Mon Sep 17 00:00:00 2001 From: Peter Woolery Date: Sun, 28 Jun 2026 13:42:15 -0700 Subject: [PATCH] feat(home-assistant): add ingress add-on --- mealplanner-ingress/Dockerfile | 9 ++++++++ mealplanner-ingress/config.yaml | 19 +++++++++++++++++ mealplanner-ingress/run.sh | 38 +++++++++++++++++++++++++++++++++ repository.yaml | 3 +++ 4 files changed, 69 insertions(+) create mode 100644 mealplanner-ingress/Dockerfile create mode 100644 mealplanner-ingress/config.yaml create mode 100755 mealplanner-ingress/run.sh create mode 100644 repository.yaml diff --git a/mealplanner-ingress/Dockerfile b/mealplanner-ingress/Dockerfile new file mode 100644 index 0000000..b852e70 --- /dev/null +++ b/mealplanner-ingress/Dockerfile @@ -0,0 +1,9 @@ +FROM nginx:1.27-alpine + +RUN apk add --no-cache jq + +COPY run.sh /run.sh +RUN chmod a+x /run.sh + +EXPOSE 8099 +CMD ["/run.sh"] diff --git a/mealplanner-ingress/config.yaml b/mealplanner-ingress/config.yaml new file mode 100644 index 0000000..15eadc6 --- /dev/null +++ b/mealplanner-ingress/config.yaml @@ -0,0 +1,19 @@ +name: MealPlanner Ingress +version: "0.1.0" +slug: mealplanner_ingress +description: Home Assistant Ingress proxy for an existing MealPlanner deployment. +arch: + - amd64 + - aarch64 + - armv7 +startup: application +boot: auto +init: false +ingress: true +ingress_port: 8099 +panel_icon: mdi:food-fork-drink +panel_title: MealPlanner +options: + upstream_url: "http://192.168.1.54:8082" +schema: + upstream_url: str diff --git a/mealplanner-ingress/run.sh b/mealplanner-ingress/run.sh new file mode 100755 index 0000000..a3b4832 --- /dev/null +++ b/mealplanner-ingress/run.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env sh +set -eu + +OPTIONS_FILE=/data/options.json +UPSTREAM_URL=$(jq -r '.upstream_url // empty' "$OPTIONS_FILE") + +case "$UPSTREAM_URL" in + http://*|https://*) ;; + *) + echo "upstream_url must start with http:// or https://" >&2 + exit 1 + ;; +esac + +UPSTREAM_URL=${UPSTREAM_URL%/} + +cat > /etc/nginx/conf.d/default.conf <