Files
docker-compose-selfhost/basic-instalations.sh

70 lines
2.0 KiB
Bash

#!/bin/bash
set -e
echo "🛠️ Detecting OS..."
OS=$(uname -s)
install_docker_linux() {
echo "🔧 Installing Docker on Linux..."
# Remove old versions
sudo apt-get remove -y docker docker-engine docker.io containerd runc || true
# Install dependencies
sudo apt-get update
sudo apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release
# Add Docker's official GPG key
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/$(. /etc/os-release && echo "$ID")/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Add Docker's repo
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/$(. /etc/os-release && echo "$ID") \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Install Docker and Compose
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Enable and start Docker
sudo systemctl enable docker
sudo systemctl start docker
# Add user to docker group
sudo usermod -aG docker "$USER"
echo "✅ Docker installed. Please log out and log back in for docker group to take effect."
}
install_docker_windows_message() {
echo "🪟 Detected Windows system."
echo "👉 Please install Docker Desktop from: https://www.docker.com/products/docker-desktop/"
echo "It includes Docker Engine + Compose and integrates with WSL2."
echo ""
echo "Make sure to:"
echo " - Enable WSL2 backend during install"
echo " - Share your drives if needed (for volume mounting)"
}
case "$OS" in
Linux)
install_docker_linux
;;
Darwin)
echo "🍏 macOS detected. Please use Docker Desktop: https://www.docker.com/products/docker-desktop"
;;
MINGW*|CYGWIN*|MSYS*|Windows_NT)
install_docker_windows_message
;;
*)
echo "❌ Unsupported OS: $OS"
exit 1
;;
esac