Files
2025-11-11 12:14:13 +01:00

50 lines
1.2 KiB
Bash

#!/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 <<EOF
services:
gitea:
image: gitea/gitea:latest
container_name: gitea-$FREE_HTTP_PORT
restart: unless-stopped
ports:
- "$FREE_HTTP_PORT:3000"
- "$FREE_SSH_PORT:22"
volumes:
- gitea_data:/data
volumes:
gitea_data:
EOF
$SUDO docker compose up -d
echo "Gitea Server läuft auf HTTP-Port $FREE_HTTP_PORT und SSH-Port $FREE_SSH_PORT"
echo "✅ Fertig! URL: http://<server-ip>:$FREE_HTTP_PORT"
else
log "${YELLOW}⏭ Gitea Server übersprungen.${NC}"
fi