113 lines
2.7 KiB
Bash
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
|