From 07f68dfe8dd838f93eb17387a75b5171a12d6f1b Mon Sep 17 00:00:00 2001 From: Eugene <5nybrooklyn@gmail.com> Date: Wed, 9 Jul 2025 14:49:32 -0400 Subject: [PATCH] Update mailcow_setup.sh --- mailcow_setup.sh | 52 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 37 insertions(+), 15 deletions(-) diff --git a/mailcow_setup.sh b/mailcow_setup.sh index 2d3b916..2f0efda 100644 --- a/mailcow_setup.sh +++ b/mailcow_setup.sh @@ -1,35 +1,57 @@ #!/bin/bash - set -e -echo "Установка зависимостей..." +# === Настройки пользователя === +MAILCOW_HOSTNAME="mail.lptsk.info" # ← Укажи здесь свой FQDN +MAILCOW_TIMEZONE="America/New_York" # ← Укажи свой часовой пояс +DISABLE_CLAMAV="y" # y или n +MAILCOW_BRANCH="master" # master, nightly, legacy + +# === Установка зависимостей === +echo "📦 Installing dependencies..." sudo apt update && sudo apt install -y curl git ufw fail2ban -echo "Настройка UFW..." +# === Настройка UFW === +echo "🛡 Configuring firewall..." sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow 22,25,80,110,143,443,465,587,993,995,4190/tcp sudo ufw --force enable -echo "Установка Docker..." +# === Установка Docker === +echo "🐳 Installing Docker..." curl -fsSL https://get.docker.com | sh sudo systemctl enable --now docker -echo "Установка Docker Compose..." -curl -sSL https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker-compose/latest)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose -sudo chmod +x /usr/local/bin/docker-compose +# === Установка Docker Compose (плагин) === +echo "🧩 Installing Docker Compose plugin..." +sudo apt install -y docker-compose-plugin - -echo "Установка Mailcow..." +# === Скачивание Mailcow === +echo "📬 Cloning Mailcow..." cd /opt sudo git clone https://github.com/mailcow/mailcow-dockerized cd mailcow-dockerized -sudo ./generate_config.sh +sudo git checkout $MAILCOW_BRANCH -echo "Загрузка образов Mailcow..." -sudo docker-compose pull +# === Генерация конфигурации без запросов === +echo "⚙️ Generating mailcow.conf..." +cat < /dev/null +MAILCOW_HOSTNAME=$MAILCOW_HOSTNAME +MAILCOW_TIMEZONE=$MAILCOW_TIMEZONE +SKIP_CLAMD=$DISABLE_CLAMAV +EOF -echo "Запуск Mailcow..." -sudo docker-compose up -d +# === Генерация .env и сертификата === +echo "🔐 Generating environment files and SSL cert..." +sudo ./generate_config.sh --force -echo "✅ Установка завершена!" +# === Загрузка и запуск контейнеров === +echo "⬇️ Pulling Docker images..." +sudo docker compose pull + +echo "🚀 Starting Mailcow..." +sudo docker compose up -d + +echo "✅ Mailcow installation complete!" +echo "🌐 Access it at: https://$MAILCOW_HOSTNAME"