From 38576144631d787cf693fda9161a334baa9dd7af Mon Sep 17 00:00:00 2001 From: Jan-Henrik Bruhn Date: Mon, 26 Feb 2024 22:39:33 +0100 Subject: [PATCH] Add initial version of OEPL Proxy --- oepl-proxy/.devcontainer/Dockerfile | 46 ++++++ oepl-proxy/.devcontainer/devcontainer.json | 18 +++ oepl-proxy/.devcontainer/supervisor.sh | 145 ++++++++++++++++++ oepl-proxy/.gitattributes | 1 + oepl-proxy/.vscode/tasks.json | 31 ++++ oepl-proxy/CHANGELOG.md | 3 + oepl-proxy/DOCS.md | 20 +++ oepl-proxy/Dockerfile | 43 ++++++ oepl-proxy/README.md | 11 ++ oepl-proxy/config.yaml | 37 +++++ oepl-proxy/icon.png | Bin 0 -> 36018 bytes oepl-proxy/logo.png | Bin 0 -> 79599 bytes oepl-proxy/rootfs/etc/cont-init.d/nginx.sh | 18 +++ .../rootfs/etc/nginx/includes/mime.types | 96 ++++++++++++ .../etc/nginx/includes/proxy_params.conf | 11 ++ .../etc/nginx/includes/server_params.conf | 6 + .../rootfs/etc/nginx/includes/ssl_params.conf | 8 + oepl-proxy/rootfs/etc/nginx/nginx.conf | 44 ++++++ oepl-proxy/rootfs/etc/nginx/servers/.gitkeep | 1 + .../rootfs/etc/nginx/templates/ingress.gtpl | 14 ++ .../rootfs/etc/nginx/templates/upstream.gtpl | 3 + oepl-proxy/rootfs/etc/services.d/nginx/finish | 8 + oepl-proxy/rootfs/etc/services.d/nginx/run | 7 + 23 files changed, 571 insertions(+) create mode 100644 oepl-proxy/.devcontainer/Dockerfile create mode 100644 oepl-proxy/.devcontainer/devcontainer.json create mode 100755 oepl-proxy/.devcontainer/supervisor.sh create mode 100644 oepl-proxy/.gitattributes create mode 100644 oepl-proxy/.vscode/tasks.json create mode 100644 oepl-proxy/CHANGELOG.md create mode 100644 oepl-proxy/DOCS.md create mode 100644 oepl-proxy/Dockerfile create mode 100644 oepl-proxy/README.md create mode 100644 oepl-proxy/config.yaml create mode 100644 oepl-proxy/icon.png create mode 100644 oepl-proxy/logo.png create mode 100644 oepl-proxy/rootfs/etc/cont-init.d/nginx.sh create mode 100644 oepl-proxy/rootfs/etc/nginx/includes/mime.types create mode 100644 oepl-proxy/rootfs/etc/nginx/includes/proxy_params.conf create mode 100644 oepl-proxy/rootfs/etc/nginx/includes/server_params.conf create mode 100644 oepl-proxy/rootfs/etc/nginx/includes/ssl_params.conf create mode 100644 oepl-proxy/rootfs/etc/nginx/nginx.conf create mode 100644 oepl-proxy/rootfs/etc/nginx/servers/.gitkeep create mode 100644 oepl-proxy/rootfs/etc/nginx/templates/ingress.gtpl create mode 100644 oepl-proxy/rootfs/etc/nginx/templates/upstream.gtpl create mode 100644 oepl-proxy/rootfs/etc/services.d/nginx/finish create mode 100644 oepl-proxy/rootfs/etc/services.d/nginx/run diff --git a/oepl-proxy/.devcontainer/Dockerfile b/oepl-proxy/.devcontainer/Dockerfile new file mode 100644 index 0000000..5985892 --- /dev/null +++ b/oepl-proxy/.devcontainer/Dockerfile @@ -0,0 +1,46 @@ +FROM mcr.microsoft.com/vscode/devcontainers/base:debian + +WORKDIR /workspaces + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +# Set Docker daemon config +RUN \ + mkdir -p /etc/docker \ + && echo '{"storage-driver": "vfs"}' > /etc/docker/daemon.json + +# Installa aditional tools +RUN \ + apt-get update \ + && apt-get install -y --no-install-recommends \ + dbus \ + network-manager \ + libpulse0 \ + xz-utils + +# Install docker +RUN apt-get update && apt-get install -y --no-install-recommends \ + apt-transport-https \ + ca-certificates \ + curl \ + software-properties-common \ + gpg-agent \ + && curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \ + && add-apt-repository "deb https://download.docker.com/linux/debian $(lsb_release -cs) stable" \ + && apt-get update && apt-get install -y --no-install-recommends \ + docker-ce \ + docker-ce-cli \ + containerd.io \ + && rm -rf /var/lib/apt/lists/* + +# Install shellcheck +RUN \ + curl -fLs \ + "https://github.com/koalaman/shellcheck/releases/download/stable/shellcheck-stable.linux.x86_64.tar.xz" \ + | tar -xJ \ + \ + && mv -f "./shellcheck-stable/shellcheck" "/usr/bin/shellcheck" \ + && rm -rf "./shellcheck-stable" + +# Generate a machine-id for this container +RUN rm /etc/machine-id && dbus-uuidgen --ensure=/etc/machine-id \ No newline at end of file diff --git a/oepl-proxy/.devcontainer/devcontainer.json b/oepl-proxy/.devcontainer/devcontainer.json new file mode 100644 index 0000000..8082a4d --- /dev/null +++ b/oepl-proxy/.devcontainer/devcontainer.json @@ -0,0 +1,18 @@ +{ + "name": "Home Assistant Add-Ons", + "context": "..", + "dockerFile": "Dockerfile", + "appPort": ["7123:8123", "7357:4357"], + "postStartCommand": "service docker start", + "runArgs": ["-e", "GIT_EDITOR=code --wait", "--privileged"], + "containerEnv": { + "WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}" + }, + "extensions": [ + "timonwong.shellcheck", + "esbenp.prettier-vscode" + ], + "settings": { + "terminal.integrated.shell.linux": "/bin/bash" + } +} \ No newline at end of file diff --git a/oepl-proxy/.devcontainer/supervisor.sh b/oepl-proxy/.devcontainer/supervisor.sh new file mode 100755 index 0000000..d578370 --- /dev/null +++ b/oepl-proxy/.devcontainer/supervisor.sh @@ -0,0 +1,145 @@ +#!/bin/bash +set -eE + +SUPERVISOR_VERSON="$(curl -s https://version.home-assistant.io/stable.json | jq -e -r '.supervisor')" +DOCKER_TIMEOUT=30 +DOCKER_PID=0 + +function start_docker() { + local starttime + local endtime + + if grep -q 'Alpine|standard-WSL' /proc/version; then + # The docker daemon does not start when running WSL2 without adjusting iptables + update-alternatives --set iptables /usr/sbin/iptables-legacy || echo "Fails adjust iptables" + update-alternatives --set ip6tables /usr/sbin/iptables-legacy || echo "Fails adjust ip6tables" + fi + + echo "Starting docker." + dockerd 2> /dev/null & + DOCKER_PID=$! + + echo "Waiting for docker to initialize..." + starttime="$(date +%s)" + endtime="$(date +%s)" + until docker info >/dev/null 2>&1; do + if [ $((endtime - starttime)) -le $DOCKER_TIMEOUT ]; then + sleep 1 + endtime=$(date +%s) + else + echo "Timeout while waiting for docker to come up" + exit 1 + fi + done + echo "Docker was initialized" +} + +function stop_docker() { + local starttime + local endtime + + echo "Stopping in container docker..." + if [ "$DOCKER_PID" -gt 0 ] && kill -0 "$DOCKER_PID" 2> /dev/null; then + starttime="$(date +%s)" + endtime="$(date +%s)" + + # Now wait for it to die + kill "$DOCKER_PID" + while kill -0 "$DOCKER_PID" 2> /dev/null; do + if [ $((endtime - starttime)) -le $DOCKER_TIMEOUT ]; then + sleep 1 + endtime=$(date +%s) + else + echo "Timeout while waiting for container docker to die" + exit 1 + fi + done + else + echo "Your host might have been left with unreleased resources" + fi +} + + +function cleanup_lastboot() { + if [[ -f /tmp/supervisor_data/config.json ]]; then + echo "Cleaning up last boot" + cp /tmp/supervisor_data/config.json /tmp/config.json + jq -rM 'del(.last_boot)' /tmp/config.json > /tmp/supervisor_data/config.json + rm /tmp/config.json + fi +} + + +function cleanup_docker() { + echo "Cleaning up stopped containers..." + docker rm "$(docker ps -a -q)" || true +} + +function run_supervisor() { + mkdir -p /tmp/supervisor_data + docker run --rm --privileged \ + --name hassio_supervisor \ + --privileged \ + --security-opt seccomp=unconfined \ + --security-opt apparmor:unconfined \ + -v /run/docker.sock:/run/docker.sock:rw \ + -v /run/dbus:/run/dbus:ro \ + -v /run/udev:/run/udev:ro \ + -v /tmp/supervisor_data:/data:rw \ + -v "$WORKSPACE_DIRECTORY":/data/addons/local:rw \ + -v /etc/machine-id:/etc/machine-id:ro \ + -e SUPERVISOR_SHARE="/tmp/supervisor_data" \ + -e SUPERVISOR_NAME=hassio_supervisor \ + -e SUPERVISOR_DEV=1 \ + -e SUPERVISOR_MACHINE="qemux86-64" \ + "homeassistant/amd64-hassio-supervisor:${SUPERVISOR_VERSON}" +} + +function init_dbus() { + if pgrep dbus-daemon; then + echo "Dbus is running" + return 0 + fi + + echo "Startup dbus" + mkdir -p /var/lib/dbus + cp -f /etc/machine-id /var/lib/dbus/machine-id + + # cleanups + mkdir -p /run/dbus + rm -f /run/dbus/pid + + # run + dbus-daemon --system --print-address +} + +function init_udev() { + if pgrep systemd-udevd; then + echo "udev is running" + return 0 + fi + + echo "Startup udev" + + # cleanups + mkdir -p /run/udev + + # run + /lib/systemd/systemd-udevd --daemon + sleep 3 + udevadm trigger && udevadm settle +} + +echo "Start Test-Env" + +start_docker +trap "stop_docker" ERR + +docker system prune -f + +cleanup_lastboot +cleanup_docker +init_dbus +init_udev +run_supervisor +stop_docker \ No newline at end of file diff --git a/oepl-proxy/.gitattributes b/oepl-proxy/.gitattributes new file mode 100644 index 0000000..526c8a3 --- /dev/null +++ b/oepl-proxy/.gitattributes @@ -0,0 +1 @@ +*.sh text eol=lf \ No newline at end of file diff --git a/oepl-proxy/.vscode/tasks.json b/oepl-proxy/.vscode/tasks.json new file mode 100644 index 0000000..81384a1 --- /dev/null +++ b/oepl-proxy/.vscode/tasks.json @@ -0,0 +1,31 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "Start Home Assistant", + "type": "shell", + "command": "./.devcontainer/supervisor.sh", + "group": { + "kind": "test", + "isDefault": true, + }, + "presentation": { + "reveal": "always", + "panel": "new" + }, + "problemMatcher": [] + },{ + "label": "Run Home Assistant CLI", + "type": "shell", + "command": "docker exec -ti hassio_cli /usr/bin/cli.sh", + "group": "test", + "presentation": { + "reveal": "always", + "panel": "new" + }, + "problemMatcher": [] + } + ] +} \ No newline at end of file diff --git a/oepl-proxy/CHANGELOG.md b/oepl-proxy/CHANGELOG.md new file mode 100644 index 0000000..a0b499e --- /dev/null +++ b/oepl-proxy/CHANGELOG.md @@ -0,0 +1,3 @@ +### 1.0 + +- Initial release diff --git a/oepl-proxy/DOCS.md b/oepl-proxy/DOCS.md new file mode 100644 index 0000000..84b92b0 --- /dev/null +++ b/oepl-proxy/DOCS.md @@ -0,0 +1,20 @@ +This addon creates a proxy to a OpenEpaperLink access point so that you can have the benefit of access in the sidebar without accessing the access point from the internet. + +## Configuration + +### Option: `server` + +The `server` option sets the address of the valetudo robot. + +This must be in the format `host:port`. The following are valid examples: + +- `oepl.local:80` +- `192.168.0.101:5000` + +## Required Dependencies + +- Network access to OEPL access point + +## Support + +There is no support diff --git a/oepl-proxy/Dockerfile b/oepl-proxy/Dockerfile new file mode 100644 index 0000000..e79610c --- /dev/null +++ b/oepl-proxy/Dockerfile @@ -0,0 +1,43 @@ +ARG BUILD_ARCH +# hadolint ignore=DL3006 +FROM ghcr.io/hassio-addons/debian-base/${BUILD_ARCH}:5.1.0 + +# Set shell +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +# Setup base +# hadolint ignore=DL3003 +RUN apt-get -qq update \ + && apt-get -qq install --no-install-recommends -y nginx \ + && (apt-get autoremove -y; apt-get autoclean -y) + +# 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="jhbruhn " \ + org.opencontainers.image.title="${BUILD_NAME}" \ + org.opencontainers.image.description="${BUILD_DESCRIPTION}" \ + org.opencontainers.image.vendor="OEPL Proxy Add-on" \ + org.opencontainers.image.authors="jhbruhn " \ + org.opencontainers.image.licenses="MIT" \ + org.opencontainers.image.source="https://git.baubs.net/${BUILD_REPOSITORY}" \ + org.opencontainers.image.documentation="https://git.baubs.net/${BUILD_REPOSITORY}/blob/main/oepl-proxy/README.md" \ + org.opencontainers.image.created=${BUILD_DATE} \ + org.opencontainers.image.revision=${BUILD_REF} \ + org.opencontainers.image.version=${BUILD_VERSION} diff --git a/oepl-proxy/README.md b/oepl-proxy/README.md new file mode 100644 index 0000000..98b4a50 --- /dev/null +++ b/oepl-proxy/README.md @@ -0,0 +1,11 @@ +# Home Assistant Add-on: Valetudo Proxy + +![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] + +This addon creates a proxy to a Valetudo robot so that you can have the benefit of access in the sidebar without accessing the robot from the internet. + +[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 diff --git a/oepl-proxy/config.yaml b/oepl-proxy/config.yaml new file mode 100644 index 0000000..02cf3e0 --- /dev/null +++ b/oepl-proxy/config.yaml @@ -0,0 +1,37 @@ +name: OEPL Proxy +version: "1.0" +panel_icon: "mdi:tag" +panel_title: OEPL +slug: oepl-proxy +description: Proxy addon for OpenEpaperLink +url: "https://git.baubs.net/jhbruhn/homeassistant-addons" +startup: application +boot: auto +webui: "http://[HOST]:[PORT:5000]/" +watchdog: "http://[HOST]:[PORT:5000]/" +ingress: true +ingress_port: 5000 +ingress_entry: / +panel_admin: false +ports: + 5000/tcp: 5000 +ports_description: + 5000/tcp: Web interface (Not required for Hass.io Ingress) +host_network: false +devices: [] +usb: false +tmpfs: false +full_access: false +environment: {} +options: + server: "192.168.0.123:80" +schema: + server: "match(^.+:\\d+$)" +services: [] +arch: + - aarch64 + - amd64 + - armhf + - armv7 + - i386 +map: [] diff --git a/oepl-proxy/icon.png b/oepl-proxy/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e82d0c0233561f235c0ad13ede5afa5fa7250a06 GIT binary patch literal 36018 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 i8dktjKVgZR5&i=jVXQ(x+xYJQ00005-11& literal 0 HcmV?d00001 diff --git a/oepl-proxy/logo.png b/oepl-proxy/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6f501f69e8e4cd8d6f0889572cfc343c1d1806b6 GIT binary patch literal 79599 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∋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 literal 0 HcmV?d00001 diff --git a/oepl-proxy/rootfs/etc/cont-init.d/nginx.sh b/oepl-proxy/rootfs/etc/cont-init.d/nginx.sh new file mode 100644 index 0000000..21ad794 --- /dev/null +++ b/oepl-proxy/rootfs/etc/cont-init.d/nginx.sh @@ -0,0 +1,18 @@ +#!/usr/bin/with-contenv bashio +# ============================================================================== +# Configures NGINX for use with this add-on. +# ============================================================================== +declare server + +bashio::var.json \ + entry "$(bashio::addon.ingress_entry)" \ + | tempio \ + -template /etc/nginx/templates/ingress.gtpl \ + -out /etc/nginx/servers/ingress.conf + +server=$(bashio::config 'server') + +echo '{"server":"'"$server"'"}' \ + | tempio \ + -template /etc/nginx/templates/upstream.gtpl \ + -out /etc/nginx/includes/upstream.conf diff --git a/oepl-proxy/rootfs/etc/nginx/includes/mime.types b/oepl-proxy/rootfs/etc/nginx/includes/mime.types new file mode 100644 index 0000000..7c7cdef --- /dev/null +++ b/oepl-proxy/rootfs/etc/nginx/includes/mime.types @@ -0,0 +1,96 @@ +types { + text/html html htm shtml; + text/css css; + text/xml xml; + image/gif gif; + image/jpeg jpeg jpg; + application/javascript js; + application/atom+xml atom; + application/rss+xml rss; + + text/mathml mml; + text/plain txt; + text/vnd.sun.j2me.app-descriptor jad; + text/vnd.wap.wml wml; + text/x-component htc; + + image/png png; + image/svg+xml svg svgz; + image/tiff tif tiff; + image/vnd.wap.wbmp wbmp; + image/webp webp; + image/x-icon ico; + image/x-jng jng; + image/x-ms-bmp bmp; + + font/woff woff; + font/woff2 woff2; + + application/java-archive jar war ear; + application/json json; + application/mac-binhex40 hqx; + application/msword doc; + application/pdf pdf; + application/postscript ps eps ai; + application/rtf rtf; + application/vnd.apple.mpegurl m3u8; + application/vnd.google-earth.kml+xml kml; + application/vnd.google-earth.kmz kmz; + application/vnd.ms-excel xls; + application/vnd.ms-fontobject eot; + application/vnd.ms-powerpoint ppt; + application/vnd.oasis.opendocument.graphics odg; + application/vnd.oasis.opendocument.presentation odp; + application/vnd.oasis.opendocument.spreadsheet ods; + application/vnd.oasis.opendocument.text odt; + application/vnd.openxmlformats-officedocument.presentationml.presentation + pptx; + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet + xlsx; + application/vnd.openxmlformats-officedocument.wordprocessingml.document + docx; + application/vnd.wap.wmlc wmlc; + application/x-7z-compressed 7z; + application/x-cocoa cco; + application/x-java-archive-diff jardiff; + application/x-java-jnlp-file jnlp; + application/x-makeself run; + application/x-perl pl pm; + application/x-pilot prc pdb; + application/x-rar-compressed rar; + application/x-redhat-package-manager rpm; + application/x-sea sea; + application/x-shockwave-flash swf; + application/x-stuffit sit; + application/x-tcl tcl tk; + application/x-x509-ca-cert der pem crt; + application/x-xpinstall xpi; + application/xhtml+xml xhtml; + application/xspf+xml xspf; + application/zip zip; + + application/octet-stream bin exe dll; + application/octet-stream deb; + application/octet-stream dmg; + application/octet-stream iso img; + application/octet-stream msi msp msm; + + audio/midi mid midi kar; + audio/mpeg mp3; + audio/ogg ogg; + audio/x-m4a m4a; + audio/x-realaudio ra; + + video/3gpp 3gpp 3gp; + video/mp2t ts; + video/mp4 mp4; + video/mpeg mpeg mpg; + video/quicktime mov; + video/webm webm; + video/x-flv flv; + video/x-m4v m4v; + video/x-mng mng; + video/x-ms-asf asx asf; + video/x-ms-wmv wmv; + video/x-msvideo avi; +} diff --git a/oepl-proxy/rootfs/etc/nginx/includes/proxy_params.conf b/oepl-proxy/rootfs/etc/nginx/includes/proxy_params.conf new file mode 100644 index 0000000..327adb4 --- /dev/null +++ b/oepl-proxy/rootfs/etc/nginx/includes/proxy_params.conf @@ -0,0 +1,11 @@ +proxy_http_version 1.1; + +proxy_set_header Accept-Encoding ""; +proxy_set_header Connection $connection_upgrade; +proxy_set_header Host $http_host; +proxy_set_header Upgrade $http_upgrade; +proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; +proxy_set_header X-Forwarded-Proto $scheme; +proxy_set_header X-Real-IP $remote_addr; + + diff --git a/oepl-proxy/rootfs/etc/nginx/includes/server_params.conf b/oepl-proxy/rootfs/etc/nginx/includes/server_params.conf new file mode 100644 index 0000000..6bea037 --- /dev/null +++ b/oepl-proxy/rootfs/etc/nginx/includes/server_params.conf @@ -0,0 +1,6 @@ +root /dev/null; +server_name $hostname; + +#add_header X-Content-Type-Options nosniff; +#add_header X-XSS-Protection "1; mode=block"; +#add_header X-Robots-Tag none; diff --git a/oepl-proxy/rootfs/etc/nginx/includes/ssl_params.conf b/oepl-proxy/rootfs/etc/nginx/includes/ssl_params.conf new file mode 100644 index 0000000..e6789cb --- /dev/null +++ b/oepl-proxy/rootfs/etc/nginx/includes/ssl_params.conf @@ -0,0 +1,8 @@ +ssl_protocols TLSv1.2 TLSv1.3; +ssl_prefer_server_ciphers off; +ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; +ssl_session_timeout 10m; +ssl_session_cache shared:SSL:10m; +ssl_session_tickets off; +ssl_stapling on; +ssl_stapling_verify on; diff --git a/oepl-proxy/rootfs/etc/nginx/nginx.conf b/oepl-proxy/rootfs/etc/nginx/nginx.conf new file mode 100644 index 0000000..11e15c7 --- /dev/null +++ b/oepl-proxy/rootfs/etc/nginx/nginx.conf @@ -0,0 +1,44 @@ +# Run nginx in foreground. +daemon off; + +# This is run inside Docker. +user root; + +# Pid storage location. +pid /var/run/nginx.pid; + +# Set number of worker processes. +worker_processes 1; + +# Enables the use of JIT for regular expressions to speed-up their processing. +pcre_jit on; + +# Write error log to the add-on log. +error_log /proc/1/fd/1 error; + +# Max num of simultaneous connections by a worker process. +events { + worker_connections 512; +} + +http { + include /etc/nginx/includes/mime.types; + + access_log off; + client_max_body_size 4G; + default_type application/octet-stream; + gzip on; + keepalive_timeout 65; + sendfile on; + server_tokens off; + tcp_nodelay on; + tcp_nopush on; + + map $http_upgrade $connection_upgrade { + default upgrade; + '' close; + } + + include /etc/nginx/includes/upstream.conf; + include /etc/nginx/servers/*.conf; +} diff --git a/oepl-proxy/rootfs/etc/nginx/servers/.gitkeep b/oepl-proxy/rootfs/etc/nginx/servers/.gitkeep new file mode 100644 index 0000000..85ad51b --- /dev/null +++ b/oepl-proxy/rootfs/etc/nginx/servers/.gitkeep @@ -0,0 +1 @@ +Without requirements or design, programming is the art of adding bugs to an empty text file. (Louis Srygley) diff --git a/oepl-proxy/rootfs/etc/nginx/templates/ingress.gtpl b/oepl-proxy/rootfs/etc/nginx/templates/ingress.gtpl new file mode 100644 index 0000000..2380eaa --- /dev/null +++ b/oepl-proxy/rootfs/etc/nginx/templates/ingress.gtpl @@ -0,0 +1,14 @@ +server { + listen 5000 default_server; + + include /etc/nginx/includes/server_params.conf; + + location / { + allow 172.30.32.2; + deny all; + + proxy_pass http://backend/; + #proxy_set_header X-Ingress-Path {{ .entry }}; + include /etc/nginx/includes/proxy_params.conf; + } +} \ No newline at end of file diff --git a/oepl-proxy/rootfs/etc/nginx/templates/upstream.gtpl b/oepl-proxy/rootfs/etc/nginx/templates/upstream.gtpl new file mode 100644 index 0000000..873b90c --- /dev/null +++ b/oepl-proxy/rootfs/etc/nginx/templates/upstream.gtpl @@ -0,0 +1,3 @@ +upstream backend { + server {{ .server }}; +} diff --git a/oepl-proxy/rootfs/etc/services.d/nginx/finish b/oepl-proxy/rootfs/etc/services.d/nginx/finish new file mode 100644 index 0000000..a7cb83b --- /dev/null +++ b/oepl-proxy/rootfs/etc/services.d/nginx/finish @@ -0,0 +1,8 @@ +#!/usr/bin/execlineb -S0 +# ============================================================================== +# Take down the S6 supervision tree when Nginx fails +# ============================================================================== +if -n { s6-test $# -ne 0 } +if -n { s6-test ${1} -eq 256 } + +s6-svscanctl -t /var/run/s6/services diff --git a/oepl-proxy/rootfs/etc/services.d/nginx/run b/oepl-proxy/rootfs/etc/services.d/nginx/run new file mode 100644 index 0000000..3bf804a --- /dev/null +++ b/oepl-proxy/rootfs/etc/services.d/nginx/run @@ -0,0 +1,7 @@ +#!/usr/bin/with-contenv bashio +# ============================================================================== +# Runs the Nginx daemon +# ============================================================================== + +bashio::log.info "Starting NGinx..." +exec nginx