Created
January 6, 2026 11:14
-
-
Save hartingsdev/b5e22076f1020d41bcab8d628c16f630 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env bash | |
| set -euo pipefail | |
| export DEBIAN_FRONTEND=noninteractive | |
| # ===== CONFIG ===== | |
| # Username to be added to docker group | |
| # MUST already exist on the system | |
| DOCKER_USER="hartings" | |
| # ================== | |
| echo "=== System update ===" | |
| apt-get update -y | |
| apt-get upgrade -y | |
| echo "=== Installing prerequisites ===" | |
| apt-get install -y --no-install-recommends \ | |
| ca-certificates \ | |
| curl \ | |
| gnupg \ | |
| lsb-release | |
| echo "=== Configure Docker APT repository ===" | |
| install -m 0755 -d /etc/apt/keyrings | |
| curl -fsSL https://download.docker.com/linux/debian/gpg \ | |
| | gpg --dearmor -o /etc/apt/keyrings/docker.gpg | |
| chmod a+r /etc/apt/keyrings/docker.gpg | |
| ARCH="$(dpkg --print-architecture)" | |
| CODENAME="$(. /etc/os-release && echo "$VERSION_CODENAME")" | |
| echo \ | |
| "deb [arch=${ARCH} signed-by=/etc/apt/keyrings/docker.gpg] \ | |
| https://download.docker.com/linux/debian \ | |
| ${CODENAME} stable" \ | |
| > /etc/apt/sources.list.d/docker.list | |
| echo "=== Install Docker Engine and Compose ===" | |
| apt-get update -y | |
| apt-get install -y --no-install-recommends \ | |
| docker-ce \ | |
| docker-ce-cli \ | |
| containerd.io \ | |
| docker-buildx-plugin \ | |
| docker-compose-plugin | |
| echo "=== Enable Docker service ===" | |
| systemctl enable docker | |
| systemctl start docker | |
| echo "=== Add user to docker group ===" | |
| if id "${DOCKER_USER}" &>/dev/null; then | |
| usermod -aG docker "${DOCKER_USER}" | |
| echo "User '${DOCKER_USER}' added to docker group." | |
| else | |
| echo "User '${DOCKER_USER}' does not exist — skipping group assignment." | |
| fi | |
| echo "=== Verifying installation ===" | |
| docker --version | |
| docker compose version | |
| echo "=== Completed successfully ===" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment