Add Ubuntu deployment: scripts, SSL, systemd and setup.sh
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Установка Docker и Docker Compose на Ubuntu 22.04 / 24.04
|
||||
|
||||
if [[ "${EUID}" -ne 0 ]]; then
|
||||
echo "Запустите с sudo: sudo ./scripts/install-ubuntu.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! grep -qi ubuntu /etc/os-release 2>/dev/null; then
|
||||
echo "Скрипт предназначен для Ubuntu."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
apt-get update
|
||||
apt-get install -y ca-certificates curl gnupg ufw
|
||||
|
||||
# Docker official repo
|
||||
install -m 0755 -d /etc/apt/keyrings
|
||||
if [[ ! -f /etc/apt/keyrings/docker.gpg ]]; then
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||||
chmod a+r /etc/apt/keyrings/docker.gpg
|
||||
fi
|
||||
|
||||
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" \
|
||||
> /etc/apt/sources.list.d/docker.list
|
||||
|
||||
apt-get update
|
||||
apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
||||
|
||||
systemctl enable --now docker
|
||||
|
||||
# Firewall
|
||||
ufw allow OpenSSH
|
||||
ufw allow 80/tcp
|
||||
ufw allow 443/tcp
|
||||
ufw --force enable
|
||||
|
||||
SUDO_USER_NAME="${SUDO_USER:-$USER}"
|
||||
if id "${SUDO_USER_NAME}" &>/dev/null; then
|
||||
usermod -aG docker "${SUDO_USER_NAME}"
|
||||
echo "Пользователь ${SUDO_USER_NAME} добавлен в группу docker."
|
||||
echo "Перелогиньтесь или выполните: newgrp docker"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Docker установлен: $(docker --version)"
|
||||
echo "Compose: $(docker compose version)"
|
||||
Reference in New Issue
Block a user