diff --git a/Docker/VERSION b/Docker/VERSION new file mode 100644 index 0000000..188bef5 --- /dev/null +++ b/Docker/VERSION @@ -0,0 +1 @@ +v0.9.3 diff --git a/Docker/docker-compose.yml b/Docker/docker-compose.yml index 907f14d..70ced48 100644 --- a/Docker/docker-compose.yml +++ b/Docker/docker-compose.yml @@ -35,12 +35,14 @@ services: 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}" + - PUID=1011 + - PGID=1001 + - 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 @@ -55,6 +57,9 @@ services: image: git.lpl-mind.de/lukas.pupkalipinski/bangui/frontend:latest container_name: bangui-frontend restart: unless-stopped + environment: + - PUID=1011 + - PGID=1001 ports: - "${BANGUI_PORT:-8080}:80" depends_on: diff --git a/Docker/release.sh b/Docker/release.sh new file mode 100644 index 0000000..fc38642 --- /dev/null +++ b/Docker/release.sh @@ -0,0 +1,69 @@ +#!/usr/bin/env bash +# +# Bump the project version and push images to the registry. +# +# Usage: +# ./release.sh +# +# The current version is stored in VERSION (next to this script). +# You will be asked whether to bump major, minor, or patch. + +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +VERSION_FILE="${SCRIPT_DIR}/VERSION" + +# --------------------------------------------------------------------------- +# Read current version +# --------------------------------------------------------------------------- +if [[ ! -f "${VERSION_FILE}" ]]; then + echo "0.0.0" > "${VERSION_FILE}" +fi + +CURRENT="$(cat "${VERSION_FILE}")" +# Strip leading 'v' for arithmetic +VERSION="${CURRENT#v}" + +IFS='.' read -r MAJOR MINOR PATCH <<< "${VERSION}" + +echo "============================================" +echo " BanGUI — Release" +echo " Current version: v${MAJOR}.${MINOR}.${PATCH}" +echo "============================================" +echo "" +echo "How would you like to bump the version?" +echo " 1) patch (v${MAJOR}.${MINOR}.${PATCH} → v${MAJOR}.${MINOR}.$((PATCH + 1)))" +echo " 2) minor (v${MAJOR}.${MINOR}.${PATCH} → v${MAJOR}.$((MINOR + 1)).0)" +echo " 3) major (v${MAJOR}.${MINOR}.${PATCH} → v$((MAJOR + 1)).0.0)" +echo "" +read -rp "Enter choice [1/2/3]: " CHOICE + +case "${CHOICE}" in + 1) NEW_TAG="v${MAJOR}.${MINOR}.$((PATCH + 1))" ;; + 2) NEW_TAG="v${MAJOR}.$((MINOR + 1)).0" ;; + 3) NEW_TAG="v$((MAJOR + 1)).0.0" ;; + *) + echo "Invalid choice. Aborting." >&2 + exit 1 + ;; +esac + +echo "" +echo "New version: ${NEW_TAG}" +read -rp "Confirm? [y/N]: " CONFIRM +if [[ ! "${CONFIRM}" =~ ^[yY]$ ]]; then + echo "Aborted." + exit 0 +fi + +# --------------------------------------------------------------------------- +# Write new version +# --------------------------------------------------------------------------- +echo "${NEW_TAG}" > "${VERSION_FILE}" +echo "Version file updated → ${VERSION_FILE}" + +# --------------------------------------------------------------------------- +# Push +# --------------------------------------------------------------------------- +bash "${SCRIPT_DIR}/push.sh" "${NEW_TAG}" +bash "${SCRIPT_DIR}/push.sh"