Update mailcow_setup.sh

This commit is contained in:
2025-07-09 14:49:32 -04:00
committed by GitHub
parent fbab9db302
commit 07f68dfe8d

View File

@@ -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 <<EOF | sudo tee mailcow.conf > /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"