From cdf73e2d65b77f60a8604c0991010b19394f361a Mon Sep 17 00:00:00 2001 From: Lukas Date: Sun, 15 Mar 2026 18:10:25 +0100 Subject: [PATCH] docker files --- Docker/Dockerfile.backend | 4 +-- Docker/Dockerfile.frontend | 4 +-- Docker/docker-compose.yml | 68 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 72 insertions(+), 4 deletions(-) create mode 100644 Docker/docker-compose.yml diff --git a/Docker/Dockerfile.backend b/Docker/Dockerfile.backend index e097e67..849e552 100644 --- a/Docker/Dockerfile.backend +++ b/Docker/Dockerfile.backend @@ -10,7 +10,7 @@ # ────────────────────────────────────────────────────────────── # ── Stage 1: build dependencies ────────────────────────────── -FROM python:3.12-slim AS builder +FROM docker.io/library/python:3.12-slim AS builder WORKDIR /build @@ -28,7 +28,7 @@ RUN pip install --no-cache-dir --upgrade pip \ && pip install --no-cache-dir . # ── Stage 2: runtime image ─────────────────────────────────── -FROM python:3.12-slim AS runtime +FROM docker.io/library/python:3.12-slim AS runtime LABEL maintainer="BanGUI" \ description="BanGUI backend — fail2ban web management API" diff --git a/Docker/Dockerfile.frontend b/Docker/Dockerfile.frontend index 0f2658c..bb24ecf 100644 --- a/Docker/Dockerfile.frontend +++ b/Docker/Dockerfile.frontend @@ -10,7 +10,7 @@ # ────────────────────────────────────────────────────────────── # ── Stage 1: install & build ───────────────────────────────── -FROM node:22-alpine AS builder +FROM docker.io/library/node:22-alpine AS builder WORKDIR /build @@ -23,7 +23,7 @@ COPY frontend/ /build/ RUN npm run build # ── Stage 2: serve with nginx ──────────────────────────────── -FROM nginx:1.27-alpine AS runtime +FROM docker.io/library/nginx:1.27-alpine AS runtime LABEL maintainer="BanGUI" \ description="BanGUI frontend — fail2ban web management UI" diff --git a/Docker/docker-compose.yml b/Docker/docker-compose.yml new file mode 100644 index 0000000..907f14d --- /dev/null +++ b/Docker/docker-compose.yml @@ -0,0 +1,68 @@ +version: '3.8' +services: + fail2ban: + image: lscr.io/linuxserver/fail2ban:latest + container_name: fail2ban + cap_add: + - NET_ADMIN + - NET_RAW + network_mode: host + environment: + - PUID=1011 + - PGID=1001 + - TZ=Etc/UTC + - VERBOSITY=-vv #optional + + volumes: + - /server/server_fail2ban/config:/config + - /server/server_fail2ban/fail2ban-run:/var/run/fail2ban + - /var/log:/var/log + - /server/server_nextcloud/config/nextcloud.log:/remotelogs/nextcloud/nextcloud.log:ro #optional + - /server/server_nginx/data/logs:/remotelogs/nginx:ro #optional + - /server/server_gitea/log/gitea.log:/remotelogs/gitea/gitea.log:ro #optional + + + #- /path/to/homeassistant/log:/remotelogs/homeassistant:ro #optional + #- /path/to/unificontroller/log:/remotelogs/unificontroller:ro #optional + #- /path/to/vaultwarden/log:/remotelogs/vaultwarden:ro #optional + restart: unless-stopped + + backend: + image: git.lpl-mind.de/lukas.pupkalipinski/bangui/backend:latest + container_name: bangui-backend + restart: unless-stopped + depends_on: + fail2ban: + condition: service_started + environment: + BANGUI_DATABASE_PATH: "/data/bangui.db" + BANGUI_FAIL2BAN_SOCKET: "/var/run/fail2ban/fail2ban.sock" + BANGUI_FAIL2BAN_CONFIG_DIR: "/config/fail2ban" + BANGUI_LOG_LEVEL: "info" + BANGUI_SESSION_SECRET: "${BANGUI_SESSION_SECRET:?Set BANGUI_SESSION_SECRET}" + BANGUI_TIMEZONE: "${BANGUI_TIMEZONE:-UTC}" + volumes: + - /server/server_fail2ban/bangui-data:/data + - /server/server_fail2ban/fail2ban-run:/var/run/fail2ban:ro + - /server/server_fail2ban/config:/config:rw + expose: + - "8000" + networks: + - bangui-net + + # ── Frontend (nginx serving built SPA + API proxy) ────────── + frontend: + image: git.lpl-mind.de/lukas.pupkalipinski/bangui/frontend:latest + container_name: bangui-frontend + restart: unless-stopped + ports: + - "${BANGUI_PORT:-8080}:80" + depends_on: + backend: + condition: service_started + networks: + - bangui-net + +networks: + bangui-net: + name: bangui-net \ No newline at end of file