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 #!/bin/bash
set -e 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 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 deny incoming
sudo ufw default allow outgoing sudo ufw default allow outgoing
sudo ufw allow 22,25,80,110,143,443,465,587,993,995,4190/tcp sudo ufw allow 22,25,80,110,143,443,465,587,993,995,4190/tcp
sudo ufw --force enable sudo ufw --force enable
echo "Установка Docker..." # === Установка Docker ===
echo "🐳 Installing Docker..."
curl -fsSL https://get.docker.com | sh curl -fsSL https://get.docker.com | sh
sudo systemctl enable --now docker sudo systemctl enable --now docker
echo "Установка Docker Compose..." # === Установка 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 echo "🧩 Installing Docker Compose plugin..."
sudo chmod +x /usr/local/bin/docker-compose sudo apt install -y docker-compose-plugin
# === Скачивание Mailcow ===
echo "Установка Mailcow..." echo "📬 Cloning Mailcow..."
cd /opt cd /opt
sudo git clone https://github.com/mailcow/mailcow-dockerized sudo git clone https://github.com/mailcow/mailcow-dockerized
cd 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..." # === Генерация .env и сертификата ===
sudo docker-compose up -d 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"