diff --git a/docker.sh b/docker.sh new file mode 100644 index 0000000..a1264d3 --- /dev/null +++ b/docker.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +# Ermitteln der IP-Adresse des Servers +server_ip=$(hostname -I | awk '{print $1}') + +# Installieren oder Aktualisieren von Docker +echo "Checking if Docker is installed..." +if command -v docker &>/dev/null; then + echo "Docker is already installed. Updating to the latest version..." + sudo apt update + sudo apt upgrade docker-ce -y +else + echo "Docker is not installed. Installing Docker..." + curl -fsSL https://get.docker.com -o get-docker.sh + sudo sh get-docker.sh + sudo usermod -aG docker $USER + sudo systemctl start docker + sudo systemctl enable docker + rm get-docker.sh +fi + +# Erstellen der erforderlichen Ordner an den richtigen Stellen +echo "Creating required directories..." +sudo mkdir -p /etc/pihole/ +sudo mkdir -p /etc/dnsmasq.d/ +sudo mkdir -p ~/pihole +sudo mkdir -p ~/dnsmasq.d +sudo mkdir -p ~/gitea +sudo mkdir -p ~/vaultwarden + +# Pullen der neuesten Versionen der Docker-Images +echo "Pulling Docker images..." +sudo docker pull pihole/pihole +sudo docker pull rustdesk/rustdesk-server +sudo docker pull gardner/linkwarden +sudo docker pull linkstackorg/linkstack +sudo docker pull gitea/gitea +sudo docker pull vaultwarden/server +sudo docker pull portainer/portainer-ce + +# Installieren und Starten der Docker-Container +echo "Installing and starting Docker containers..." +sudo docker run -d --name pihole -p 53:53/tcp -p 53:53/udp -p 80:80 -p 443:443 -e TZ="America/New_York" -e WEBPASSWORD="your_password" -v /etc/pihole/:/etc/pihole/ -v /etc/dnsmasq.d/:/etc/dnsmasq.d/ --restart=unless-stopped pihole/pihole +sudo docker run -d --name rustdesk -p 8080:80 rustdesk/rustdesk-server +sudo docker run -d --name linkwarden -p 3000:3000 gardner/linkwarden +sudo docker run -d --name linkstack -p 3030:3000 linkstackorg/linkstack +sudo docker run -d --name gitea -p 3000:3000 -p 222:22 -v ~/gitea:/data gitea/gitea +sudo docker run -d --name vaultwarden -p 80:80 -v ~/vaultwarden:/data vaultwarden/server +sudo docker run -d --name portainer -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer-ce + +# Öffnen der Portainer-Seite im Browser +echo "Opening Portainer in browser..." +(xdg-open "http://$server_ip:9000" >/dev/null 2>&1 &) || (echo "Unable to open browser. Please navigate to http://$server_ip:9000 manually.") + +echo "Docker and containers installed successfully."