From 4fbb7ec6a05c53f6a7070f18f7b21cfe6576be16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reinhard=20X=2E=20F=C3=BCrst?= Date: Fri, 15 May 2026 19:11:41 +0200 Subject: [PATCH] Add multi-platform build script and prod compose for registry deployment - build-push.sh: buildx pipeline to docker.citysensor.de - docker-compose.prod.yml: pull-only compose for nuccy (no build context) - docker-compose.yml: image tag added for local tagging Co-Authored-By: Claude Sonnet 4.6 --- build-push.sh | 24 ++++++++++++++++++++++++ docker-compose.prod.yml | 23 +++++++++++++++++++++++ docker-compose.yml | 1 + 3 files changed, 48 insertions(+) create mode 100755 build-push.sh create mode 100644 docker-compose.prod.yml diff --git a/build-push.sh b/build-push.sh new file mode 100755 index 0000000..690e4ac --- /dev/null +++ b/build-push.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +set -euo pipefail + +REGISTRY="docker.citysensor.de" +IMAGE="${REGISTRY}/bodenfeuchte" +PLATFORMS="linux/amd64" +TAG="${1:-latest}" + +# Ensure a buildx builder with multi-platform support exists +if ! docker buildx inspect bodenfeuchte-builder &>/dev/null; then + docker buildx create --name bodenfeuchte-builder --use +else + docker buildx use bodenfeuchte-builder +fi + +echo "Building and pushing ${IMAGE}:${TAG} for ${PLATFORMS} ..." + +docker buildx build \ + --platform "${PLATFORMS}" \ + --tag "${IMAGE}:${TAG}" \ + --push \ + . + +echo "Done: ${IMAGE}:${TAG}" diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml new file mode 100644 index 0000000..5a3749f --- /dev/null +++ b/docker-compose.prod.yml @@ -0,0 +1,23 @@ +services: + bodenfeuchte: + image: docker.citysensor.de/bodenfeuchte:latest + expose: + - "3000" + volumes: + - bodenfeuchte-data:/app/data + env_file: + - .env + restart: unless-stopped + + nginx: + image: nginx:alpine + ports: + - "80:80" + volumes: + - ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro + depends_on: + - bodenfeuchte + restart: unless-stopped + +volumes: + bodenfeuchte-data: diff --git a/docker-compose.yml b/docker-compose.yml index 98c60d4..e5056a7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,7 @@ services: bodenfeuchte: build: . + image: docker.citysensor.de/bodenfeuchte:latest expose: - "3000" volumes: