From 7c13144c5b5851a1c2e7ddc39fda8eedfcdfd3e6 Mon Sep 17 00:00:00 2001 From: ergosteur <1992147+ergosteur@users.noreply.github.com> Date: Thu, 6 Aug 2026 15:45:12 +0000 Subject: [PATCH] Add webnut compose stack, reading credentials from .env Web UI for the NUT UPS daemon. UPS credentials come from .env alongside the compose file, which Compose loads automatically; see .env.example. Required values use ${VAR:?} so a missing .env fails loudly rather than starting the container with a blank password. Drop the obsolete top-level version key. Co-Authored-By: Claude Opus 5 --- webnut-docker/.env.example | 7 +++++++ webnut-docker/docker-compose.yml | 20 ++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 webnut-docker/.env.example create mode 100644 webnut-docker/docker-compose.yml diff --git a/webnut-docker/.env.example b/webnut-docker/.env.example new file mode 100644 index 0000000..187b58a --- /dev/null +++ b/webnut-docker/.env.example @@ -0,0 +1,7 @@ +# Copy to .env next to docker-compose.yml; Compose loads it automatically. +# cp .env.example .env && chmod 0600 .env + +UPS_HOST=10.20.28.200 +UPS_PORT=3493 +UPS_USER=adminuser +UPS_PASSWORD=changeme diff --git a/webnut-docker/docker-compose.yml b/webnut-docker/docker-compose.yml new file mode 100644 index 0000000..89fba86 --- /dev/null +++ b/webnut-docker/docker-compose.yml @@ -0,0 +1,20 @@ +services: + webnut: + image: teknologist/webnut + container_name: webnut + # Values come from .env alongside this file (see .env.example). + environment: + - UPS_HOST=${UPS_HOST:?set UPS_HOST in .env} + - UPS_PORT=${UPS_PORT:-3493} + - UPS_USER=${UPS_USER:?set UPS_USER in .env} + - UPS_PASSWORD=${UPS_PASSWORD:?set UPS_PASSWORD in .env} + restart: unless-stopped + security_opt: + - no-new-privileges:true + networks: + - webnut-net + ports: + - 6543:6543 +networks: + webnut-net: + external: true