Skip to content

Instantly share code, notes, and snippets.

@FarshadGhanbari
Last active June 7, 2026 06:59
Show Gist options
  • Select an option

  • Save FarshadGhanbari/3606859644c6f98507451fdeb8f46b9e to your computer and use it in GitHub Desktop.

Select an option

Save FarshadGhanbari/3606859644c6f98507451fdeb8f46b9e to your computer and use it in GitHub Desktop.
Install Docker using an Iran mirror. Deploy the server on the intranet using an Iran mirror. πŸš€
#!/bin/bash
set -euo pipefail
echo "=== Step 0: Repo setup ==="
bash <(curl -fsSL http://mirror.mihanwebhost.com/auto-repo-config.sh 2>/dev/null || wget -qO- http://mirror.mihanwebhost.com/auto-repo-config.sh 2>/dev/null) || true
INSTALL_DIR="$HOME/docker-install"
echo "=== Step 1: Install dependencies ==="
sudo apt update
sudo apt install -y docker.io wget unzip ca-certificates curl gnupg
echo "=== Step 2: Verify Docker ==="
command -v docker >/dev/null 2>&1 || { echo "Docker not installed"; exit 1; }
echo "=== Step 3: Prepare directory ==="
mkdir -p "$INSTALL_DIR"
cd "$INSTALL_DIR"
echo "=== Step 4: Buildx ==="
wget -O docker-buildx "https://scorpian.ir/proxy/asset/docker/buildx/424359377"
chmod +x docker-buildx
mkdir -p ~/.docker/cli-plugins
mv docker-buildx ~/.docker/cli-plugins/docker-buildx
echo "=== Step 5: Compose ==="
wget -O docker-compose "https://scorpian.ir/proxy/asset/docker/compose/425319285"
chmod +x docker-compose
sudo mv docker-compose /usr/local/bin/docker-compose
echo "=== Step 6: Enable Docker ==="
sudo systemctl enable docker
sudo systemctl restart docker || true
echo "=== Step 7: Docker group ==="
sudo usermod -aG docker "$USER" || true
echo "=== Step 8: Safe daemon config ==="
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json >/dev/null <<EOF
{
"insecure-registries": ["docker.arvancloud.ir"],
"registry-mirrors": ["https://docker.arvancloud.ir"]
}
EOF
sudo systemctl restart docker
echo "=== Step 9: Verify ==="
docker --version
docker compose version || docker-compose --version
echo "=== Step 10: acme.sh ==="
cd "$INSTALL_DIR"
wget -O acmesh.zip "https://scorpian.ir/proxy/zip/acmesh-official/acme.sh"
unzip -o acmesh.zip -d acme
if [ -f acme/acme.sh ]; then
cd acme
elif [ -f acme/acme.sh-master/acme.sh ]; then
cd acme/acme.sh-master
else
echo "acme.sh not found"
exit 1
fi
./acme.sh --install
echo "=== DONE ==="
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment