Compare commits

..

9 Commits

Author SHA1 Message Date
scriptos
afd3b56978 change subdomain on asciinema 2025-07-13 11:12:38 +02:00
scriptos
cee29d51bb change subdomain on asciinema 2025-07-13 11:11:53 +02:00
scriptos
f0a305f24f compose version changed, zsh plugin handling optimized, opt-in for enable zsh plugin, cleanup, documentation, license 2025-06-13 21:38:00 +02:00
scriptos
2746f535cd change docker-compose version 2024-11-15 20:42:18 +01:00
scriptos
dfeef853e4 docker-container folder directory moved 2024-11-15 20:38:28 +01:00
scriptos
5fa9f84e3b docker bin directory moved 2024-09-29 13:17:58 +02:00
scriptos
31eb235ca4 Docker-Compose Verion auf "v2.27.1" erhöht 2024-06-12 14:58:55 +02:00
scriptos
f60d9a8754 Aktualisierung des Docker Compose-Installationsbefehls auf 'latest' 2024-06-12 14:16:10 +02:00
scriptos
06f1e1f867 Unterstützung für Ubuntu 24.04 hinzugefügt, OS-Prüfung aktualisiert 2024-06-12 14:11:44 +02:00
3 changed files with 110 additions and 34 deletions

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2023 | Patrick Asmus | scriptOS
Copyright (c) 2025 | Patrick Asmus | scriptOS
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

View File

@@ -1,17 +1,70 @@
# Docker Installer v3 für Ubuntu-Systeme
# 🐳 Docker Installer Script für Ubuntu 22.04 & 24.04
## Beschreibung
Dieses Bash-Skript installiert Docker und Docker-Compose auf einem Ubuntu-System (22.04 oder 24.04), passt bei Bedarf das Docker-Root-Verzeichnis an und kann optional das OhMyZSH-Plugin für Docker aktivieren.
Das Skript "docker-installer-v3.sh" ermöglicht die Installation von Docker und Docker-Compose auf einem Ubuntu-System. Es richtet auch das Docker-Plugin für Oh My ZSH ein, um Docker-Befehle direkt in der ZSH-Shell verwenden zu können.
---
## Voraussetzungen
## ✅ Features
Stellen Sie sicher, dass Sie über eine Verbindung zum Internet verfügen und dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind, da das Skript administrative Berechtigungen benötigt, um Docker zu installieren.
- Installation von:
- Docker Engine (inkl. Repository-Einbindung)
- Docker Compose (als Binärdatei, konfigurierbare Version)
- Anpassung des Docker-Datenverzeichnisses (`/var/lib/docker`)
- Erstellung eines Basisverzeichnisses für Docker-Compose-Projekte
- Optionales Aktivieren des `docker`-Plugins in der OhMyZSH-Konfiguration (`/root/.zshrc`)
- Kompatibel mit Ubuntu **22.04 Jammy** und **24.04 Noble**
## Verwendung
---
Führen Sie das Skript mit dem folgenden Befehl in einem Terminal aus:
## 🔧 Konfigurierbare Variablen
Im Skriptkopf kannst du folgende Variablen anpassen:
| Variable | Beschreibung | Wert |
|----------------------|------------------------------------------------------------------------------|------------------------------|
| `USER` | Der Benutzer, dem Docker-Rechte zugewiesen werden sollen | `root` |
| `COMPOSEVERSION` | Die zu installierende Docker-Compose-Version | `v2.37.1` |
| `DOCKER_ROOT_DIR` | Zielverzeichnis für Docker-Daten | `/var/lib/docker` |
| `COMPOSE_DIR` | Verzeichnis für zukünftige Compose-Projekte | `/home/docker-projekte` |
| `ENABLE_ZSH_PLUGIN` | Aktiviert das OhMyZSH-Plugin für Docker | `true` / `false` |
---
## ▶️ Ausführung
```bash
bash ./docker-installer.v3.sh
# 1. Skript herunterladen (z.B. mit wget)
wget https://git.techniverse.net/scriptos/linux-docker-installer/raw/branch/main/docker-installer-ubuntu.v3.sh
# 2. Ausführbar machen
chmod +x docker-installer-ubuntu.v3.sh
# 3. Als root oder mit sudo ausführen
sudo bash ./docker-installer-ubuntu.v3.sh
```
[![asciicast](https://asciinema.techniverse.net/a/53.svg)](https://asciinema.techniverse.net/a/53)
---
## 🔗 Repository
Mehr unter: [https://www.cleveradmin.de](https://www.cleveradmin.de)
Source: [https://git.techniverse.net/scriptos/public-linux-docker-installer](https://git.techniverse.net/scriptos/public-linux-docker-installer)
---
## 💬 Support & Community
Du hast Fragen, brauchst Unterstützung bei der Einrichtung oder möchtest dich einfach mit anderen austauschen, die ähnliche Projekte betreiben? Dann schau gerne in unserer Techniverse Community vorbei:
👉 **Matrix-Raum:** [#community:techniverse.net](https://matrix.to/#/#community:techniverse.net)
Wir freuen uns auf deinen Besuch und helfen dir gerne weiter!
<p align="center">
<img src="https://assets.techniverse.net/f1/git/graphics/gray0-catonline.svg" alt="">
</p>
<p align="center">
<img src="https://assets.techniverse.net/f1/logos/small/license.png" alt="License" width="15" height="15"> <a href="./public-linux-docker-installer/src/branch/main/LICENSE">License</a> | <img src="https://assets.techniverse.net/f1/logos/small/matrix2.svg" alt="Matrix" width="15" height="15"> <a href="https://matrix.to/#/#community:techniverse.net">Matrix</a> | <img src="https://assets.techniverse.net/f1/logos/small/mastodon2.svg" alt="Matrix" width="15" height="15"> <a href="https://social.techniverse.net/@donnerwolke">Mastodon</a>
</p>

View File

@@ -1,56 +1,79 @@
#!/bin/bash
# Script Name: docker-installer.v3.sh
# Beschreibung: Docker & Docker-Compose Installer für "Ubuntu 22.04 Jammy" only
# Aufruf: bash ./docker-installer.v3.sh
# Beschreibung: Docker & Docker-Compose Installer für Ubuntu 22.04 und Ubuntu 24.04
# Autor: Patrick Asmus
# Web: https://www.techniverse.net
# Web: https://www.cleveradmin.de
# Git-Reposit.: https://git.techniverse.net/scriptos/linux-docker-installer
# Version: 3.3
# Datum: 08.04.2024
# Modifikation: Script now checks OS before installation
# Version: 3.5
# Datum: 13.06.2025
# Modifikation: compose version changed, zsh plugin handling optimized, opt-in for enable zsh plugin, cleanup
#####################################################
# Konfiguration
USER="root"
COMPOSEVERSION="v2.37.1"
DOCKER_ROOT_DIR="/var/lib/docker"
COMPOSE_DIR="/home/docker-projekte"
ENABLE_ZSH_PLUGIN=false
# Betriebssystem und Version prüfen
OS=$(lsb_release -is)
VERSION=$(lsb_release -rs)
if [ "$OS" != "Ubuntu" ] || [ "$VERSION" != "22.04" ]; then
echo "Dieses Script ist nur für Ubuntu 22.04 geeignet. Installation abgebrochen."
if [ "$OS" != "Ubuntu" ] || { [ "$VERSION" != "22.04" ] && [ "$VERSION" != "24.04" ]; }; then
echo "Dieses Script unterstützt nur Ubuntu 22.04 und Ubuntu 24.04. Installation abgebrochen."
exit 1
fi
# Variablen
USER="root"
DOCKER_ROOT_DIR="/docker"
COMPOSE_DIR="/docker-compose"
# Docker installieren
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
if [ "$VERSION" == "22.04" ]; then
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
elif [ "$VERSION" == "24.04" ]; then
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /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" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
fi
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker $USER
# Docker-Root-Verzeichnis ändern & Compose Verzeichnis erstellen
sudo systemctl stop docker
sudo mkdir -p $DOCKER_ROOT_DIR
echo "{\"data-root\": \"$DOCKER_ROOT_DIR\"}" | sudo tee /etc/docker/daemon.json
cp /var/lib/docker/* $DOCKER_ROOT_DIR
echo "{\"data-root\": \"$DOCKER_ROOT_DIR\"}" | sudo tee /etc/docker/daemon.json > /dev/null
cp /var/lib/docker/* $DOCKER_ROOT_DIR -r
rm -R /var/lib/docker
sudo systemctl start docker
mkdir $COMPOSE_DIR
mkdir -p $COMPOSE_DIR
# Docker-compose installieren
sudo apt install -y curl
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# Docker Compose installieren
sudo curl -L "https://github.com/docker/compose/releases/download/$COMPOSEVERSION/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# Optional: Plugin für Oh my ZSH aktivieren
echo "OhMyZSH Plugin für Docker hinzufügen"
sudo sed -i 's/plugins=(git)/plugins=(git docker)/g' /root/.zshrc
# Optional: OhMyZSH Plugin für Docker aktivieren
if [ "$ENABLE_ZSH_PLUGIN" = true ]; then
ZSHRC="/root/.zshrc"
echo "OhMyZSH Plugin für Docker prüfen..."
if grep -q "^plugins=" "$ZSHRC"; then
if grep -q "docker" "$ZSHRC"; then
echo "Docker ist bereits als Plugin eingetragen keine Änderung nötig."
else
echo "Docker wird als Plugin hinzugefügt..."
sudo sed -i '/^plugins=/ s/)/ docker)/' "$ZSHRC"
fi
else
echo "WARNUNG: Keine Plugin-Zeile gefunden in $ZSHRC."
fi
else
echo "OhMyZSH Plugin-Konfiguration übersprungen (deaktiviert)."
fi
# Überprüfen der Installation
docker --version