Add Ubuntu deployment: scripts, SSL, systemd and setup.sh

This commit is contained in:
shop
2026-06-25 16:47:01 +03:00
parent ee5688f722
commit 8a7f79a70c
19 changed files with 387 additions and 58 deletions
+53
View File
@@ -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)"