Перейти к содержанию

Установка animails

Предварительные условия

Системные пакеты

Для использования animails требуются следующие пакеты Linux, которые могут нуждаться в установке в зависимости от вашего дистрибутива:

  • git
  • openssl
  • curl
  • awk
  • sha1sum
  • grep
  • cut
  • jq (новое с 2025-09)

Docker и Docker Compose

Для установки вам понадобятся:

  • Docker: Версия >= 24.0.0
  • Docker Compose: Версия >= 2.0

Руководства по установке можно найти здесь:

Быстрая установка

Системные пакеты

Debian/Ubuntu:
apt update
apt install -y git openssl curl gawk coreutils grep jq
Системы на базе RHEL (например, Rocky Linux 9):
dnf install -y git openssl curl gawk coreutils grep jq
Alpine Linux (например, 3.22):
apk add --no-cache --upgrade sed findutils bash git openssl curl gawk coreutils grep jq

Примечание

Все программы, явно не указанные в процессе установки, уже включены как подпрограммы в coreutils.

Docker

Важно

Используйте последнюю доступную версию Docker Engine, а не версию из репозиториев пакетов вашего дистрибутива Linux.

Debian/Ubuntu:
curl -sSL https://get.docker.com/ | CHANNEL=stable sh
systemctl enable --now docker
Системы на базе RHEL (например, Rocky Linux 9):
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl enable --now docker
Alpine Linux (например, 3.22):
apk --no-cache --upgrade add docker
rc-update add docker default
rc-service docker start

Примечание

Скрипт get.docker.com не работает надежно или вообще не работает в системах RHEL и Alpine Linux. Используйте ручной метод вместо него.

Docker Compose

Внимание

animails требуется Docker Compose версии >= 2.0.

Установка через менеджер пакетов (плагин)

Примечание

Этот метод требует, чтобы репозиторий Docker был добавлен (см. Docker).

Debian/Ubuntu:
apt update
apt install docker-compose-plugin
Системы на базе RHEL:
dnf update
dnf install docker-compose-plugin
Alpine Linux (например, 3.22):
apk add --no-cache --upgrade docker-cli-compose

Внимание

Для версии плагина используется команда docker compose (без дефиса).

Установка как автономной версии (Standalone)
LATEST=$(curl -Ls -w %{url_effective} -o /dev/null https://github.com/docker/compose/releases/latest) && \
LATEST=${LATEST##*/} && \
curl -L https://github.com/docker/compose/releases/download/$LATEST/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Внимание

Для автономной версии используется команда docker-compose (с дефисом).


Настройка SELinux (опционально)

В системах с включенным SELinux (например, CentOS 7):

  1. Проверьте, установлен ли пакет container-selinux:

    rpm -qa | grep container-selinux
    
  2. Включите поддержку SELinux в Docker:

    • Отредактируйте /etc/docker/daemon.json и добавьте "selinux-enabled": true:
    {
      "selinux-enabled": true
    }
    
    • Перезапустите демон Docker.

Для получения дополнительной информации см. container-selinux Readme.


Установка animails

  1. Клонируйте репозиторий:

    su
    umask 0022
    cd /opt
    git clone https://github.com/animails/animails
    cd animails
    
  2. Создайте файл конфигурации:

    ./generate_config.sh
    
  3. Отредактируйте конфигурацию, если необходимо:

    nano animails.conf
    

Запуск animails

Скачайте образы и запустите контейнеры:

docker compose pull
docker compose up -d
docker-compose pull
docker-compose up -d

Готово!

Теперь вы можете получить доступ к https://${MAILCOW_HOSTNAME}/admin, используя стандартные учетные данные admin и пароль moohoo.


Устранение неполадок

MTU не равен 1500 (например, OpenStack)

Настройте параметры сети в docker-compose.yml:

networks:
  animails-network:
    driver_opts:
      com.docker.network.driver.mtu: 1450

Отсутствие IPv6 на хост-системе

Отключите IPv6 для сети animails, если ваша хост-система не поддерживает IPv6. Дополнительную информацию можно найти здесь.


Важные примечания

  • Сохранность данных: Ваши данные хранятся в томах Docker и остаются нетронутыми, даже если вы пересоздадите или удалите контейнеры.
  • Reverse Proxy: Если вы не используете обратный прокси-сервер, вам следует перенаправить HTTP на HTTPS.