Files
public-docker-installer-26.…/docker-installer-2604-v1.sh
T
2026-06-03 16:22:16 +00:00

113 lines
2.7 KiB
Bash

#!/bin/bash
# Script Name: docker-installer-2604-v1.sh
# Beschreibung: Docker & Docker-Compose Installer für Ubuntu 24.04 und Ubuntu 26.04
# Autor: Thomas Werner Schwaighofer
# Web: https://www.retronerd.at
# Git-Reposit.: https://git.retronerd.at/schiwagoa/public-docker-installer-26.04-v1
# Version: 1.0
# Datum: 03.06.2026
#####################################################
set -e
# Konfiguration
USER="root"
COMPOSEVERSION="v5.1.4"
DOCKER_ROOT_DIR="/var/lib/docker"
COMPOSE_DIR="/home/docker-projekte"
# Betriebssystem und Version prüfen
OS=$(lsb_release -is)
VERSION=$(lsb_release -rs)
if [ "$OS" != "Ubuntu" ] || { [ "$VERSION" != "24.04" ] && [ "$VERSION" != "26.04" ]; }; then
echo "Dieses Script unterstützt nur Ubuntu 24.04 und Ubuntu 26.04. Installation abgebrochen."
exit 1
fi
echo "Ubuntu $VERSION erkannt."
# Voraussetzungen installieren
apt update
apt install -y \
ca-certificates \
curl \
gnupg \
lsb-release \
apt-transport-https
# Docker Repository einrichten
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
| gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
> /etc/apt/sources.list.d/docker.list
# Docker installieren
apt update
apt install -y \
docker-ce \
docker-ce-cli \
containerd.io
# Benutzer zur Docker-Gruppe hinzufügen
usermod -aG docker "$USER"
# Docker stoppen
systemctl stop docker || true
# Docker-Root-Verzeichnis anpassen
mkdir -p "$DOCKER_ROOT_DIR"
if [ "$DOCKER_ROOT_DIR" != "/var/lib/docker" ]; then
if [ -d /var/lib/docker ]; then
rsync -aHAX /var/lib/docker/ "$DOCKER_ROOT_DIR/"
fi
mkdir -p /etc/docker
cat > /etc/docker/daemon.json << EOF
{
"data-root": "$DOCKER_ROOT_DIR"
}
EOF
fi
# Docker starten
systemctl start docker
systemctl enable docker
# Compose-Verzeichnis erstellen
mkdir -p "$COMPOSE_DIR"
# Docker Compose installieren
curl -L \
"https://github.com/docker/compose/releases/download/${COMPOSEVERSION}/docker-compose-$(uname -s)-$(uname -m)" \
-o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# Installation prüfen
echo
echo "===== Installierte Versionen ====="
docker --version
docker-compose --version
echo
echo "===== Verzeichnisse ====="
echo "Docker Root : $DOCKER_ROOT_DIR"
echo "Compose Dir : $COMPOSE_DIR"
echo
echo "Installation erfolgreich abgeschlossen."
echo "Falls Docker erstmals verwendet wird, bitte neu anmelden."
exit 0