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: