Update mailcow_setup.sh
This commit is contained in:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user