From 484b8e47a69f919128d19786d5284bfc796f4e82 Mon Sep 17 00:00:00 2001 From: madgerm Date: Tue, 11 Nov 2025 12:14:13 +0100 Subject: [PATCH] ja --- recipes/services/gitea/docker-compose.yml | 12 ++++++ recipes/services/gitea/install.sh | 50 +++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 recipes/services/gitea/docker-compose.yml create mode 100644 recipes/services/gitea/install.sh diff --git a/recipes/services/gitea/docker-compose.yml b/recipes/services/gitea/docker-compose.yml new file mode 100644 index 0000000..7296735 --- /dev/null +++ b/recipes/services/gitea/docker-compose.yml @@ -0,0 +1,12 @@ +services: + gitea: + image: gitea/gitea:latest + container_name: gitea + restart: unless-stopped + ports: + - "3000:3000" + - "2222:22" # SSH port, host port can be changed if 22 is in use + volumes: + - gitea_data:/data +volumes: + gitea_data: \ No newline at end of file diff --git a/recipes/services/gitea/install.sh b/recipes/services/gitea/install.sh new file mode 100644 index 0000000..df004fe --- /dev/null +++ b/recipes/services/gitea/install.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash +set -euo pipefail +if ask_to_install "Gitea Server"; then + echo "=== GITEA SERVER INSTALLATION ===" + + ensure_root + detect_pkg_manager + install_docker + + $SUDO mkdir -p /srv/docker/gitea + cd /srv/docker/gitea + + # Funktion, die den nächsten freien Port sucht + find_free_port() { + local START_PORT=$1 + PORT=$START_PORT + while ss -lnt | awk '{print $4}' | grep -q ":$PORT$"; do + PORT=$((PORT + 1)) + done + echo "$PORT" + } + + FREE_HTTP_PORT=$(find_free_port 3000) + echo "✅ Freier HTTP-Port gefunden: $FREE_HTTP_PORT" + + FREE_SSH_PORT=$(find_free_port 2222) + echo "✅ Freier SSH-Port gefunden: $FREE_SSH_PORT" + + $SUDO tee docker-compose.yml >/dev/null <:$FREE_HTTP_PORT" +else + log "${YELLOW}⏭ Gitea Server übersprungen.${NC}" +fi \ No newline at end of file