#!/bin/bash # Скрипт для обновления системы и установки пакетов (Версия 2) # Включает установку Docker, Caddy и Zabbix Agent set -e echo "=========================================" echo "Начинаем обновление системы..." echo "=========================================" echo "Обновление списка пакетов..." apt update echo "Обновление установленных пакетов..." apt upgrade -y echo "Установка базовых пакетов (sudo, curl, fish)..." apt install -y sudo curl fish echo "=========================================" echo "Установка Docker..." echo "=========================================" echo "Удаление старых пакетов Docker..." apt remove -y docker.io docker-compose docker-doc docker-buildx podman-docker containerd runc 2>/dev/null || true echo "Добавление GPG ключа Docker..." apt update apt install -y ca-certificates curl install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc chmod a+r /etc/apt/keyrings/docker.asc echo "Добавление репозитория Docker..." cat > /etc/apt/sources.list.d/docker.sources </dev/null || true echo "Docker установлен." echo "=========================================" echo "Установка Caddy..." echo "=========================================" echo "Установка Caddy..." apt install -y debian-keyring debian-archive-keyring apt-transport-https curl curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg chmod o+r /etc/apt/sources.list.d/caddy-stable.list apt update apt install -y caddy echo "=========================================" echo "Настройка Caddyfile..." echo "=========================================" echo "Очистка /etc/caddy/Caddyfile и добавление шаблона..." cat > /etc/caddy/Caddyfile </dev/null || echo 'не установлен')" echo " - Caddy: $(caddy version 2>/dev/null || echo 'не установлен')" echo " - Zabbix Agent: $(zabbix_agentd --version 2>/dev/null | head -1 || echo 'не установлен')" echo "" echo "Caddy настроен на порт: $PORT" echo "Zabbix Agent настроен на сервер: zbx.int.kodyffy.ru" echo "Hostname: $HOSTNAME.kodyffy" echo "" echo "Для применения прав Docker выполните: newgrp docker" echo "Для проверки Caddy: systemctl status caddy" echo "Для проверки Zabbix Agent: systemctl status zabbix-agent" echo "========================================="