🚀 Mattermost в Docker через Ansible

Этот репозиторий содержит Ansible Playbook для автоматизированной настройки сервера, установки Docker и развертывания Mattermost в контейнере Docker с необходимыми настройками хранилищ данных.

🔗 Репозиторий: GitHub

📌 Обзор Playbook

Playbook выполняет следующие задачи:

1️⃣ Настройка сервера: Установка необходимых пакетов и конфигурация окружения.
2️⃣ Установка Docker: Установка Docker и Docker Compose для управления контейнерами.
3️⃣ Развертывание Mattermost: Установка и настройка Mattermost в контейнере Docker.


🛠 Требования

Перед запуском Playbook убедитесь, что:

✔️ Ansible 2.9+ установлен на управляющем узле.
✔️ SSH-доступ к целевому серверу.
✔️ Целевой сервер использует Unix-подобную ОС (Ubuntu, CentOS и др.).
✔️ Internet-доступ у сервера для загрузки необходимых пакетов.


📂 Структура проекта

  • roles/server-install: Настройка серверного окружения.
  • roles/docker-install: Установка Docker и Docker Compose.
  • roles/mattermost-docker-install: Развертывание Mattermost в контейнере Docker с необходимыми настройками.
  • playbooks/server-install.yml: Установка необходимых пакетов и конфигурация окружения.
  • playbooks/docker-install.yml: Установка Docker и Docker Compose.
  • playbooks/mattermost-docker-install.yml: Развертывание Mattermost в Docker с настройкой томов.

🔧 Переменные

Вы можете настроить Playbook, изменяя следующие переменные:

vars:
  mattermost_volumes:
    - "config"
    - "data"
    - "logs"
    - "plugins"
    - "client"
    - "bleve-indexes"
  mattermost_url: '{{ host }}'
  timezone: "Europe/Warsaw"
  mattermost_db_user: "mattermost"
  mattermost_db_pass: "PASSWORD"
  mattermost_db_database: "mattermost_db"

📌 Что означают переменные?

  • mattermost_volumes – список директорий, где Mattermost хранит данные.
  • mattermost_url – URL или хостнейм, по которому будет доступен Mattermost.
  • timezone – часовой пояс сервера (по умолчанию: Europe/Warsaw).
  • mattermost_db_user – имя пользователя базы данных для Mattermost.
  • mattermost_db_pass – пароль для пользователя базы данных.
  • mattermost_db_database – имя базы данных Mattermost.

📦 Установка необходимых ролей Ansible Galaxy

Перед выполнением Playbook установите роли:

ansible-galaxy install -r roles/requirements.yml

Если роли уже установлены, можно выполнить обновление:

ansible-galaxy install -g -f -r roles/requirements.yml

🚀 Развертывание Mattermost в Docker через Ansible

🔹 1. Клонирование репозитория

git clone https://github.com/Shipssv83/Ansible-Mattermost-Docker-Install.git
cd Ansible-Mattermost-Docker-Install

🔹 2. Запуск установки сервера

ansible-playbook -i inventory --user root --extra-vars "host=host_name" playbooks/server-install.yml

📌 Что делает этот Playbook?
✅ Устанавливает базовые пакеты.
✅ Настраивает окружение и часовой пояс.


🔹 3. Установка Docker

ansible-playbook -i inventory --user root --extra-vars "host=host_name" playbooks/docker-install.yml

📌 Что делает этот Playbook?
✅ Устанавливает Docker и Docker Compose.
✅ Готовит систему для запуска контейнеров.


🔹 4. Развертывание Mattermost в Docker

ansible-playbook -i inventory --user root --extra-vars "host=host_name" playbooks/mattermost-docker-install.yml

📌 Что делает этот Playbook?
✅ Загружает Docker-образ Mattermost.
✅ Разворачивает Mattermost в контейнере с нужными томами.
✅ Настраивает соединение с базой данных.


🎯 Заключение

Теперь ваш сервер полностью настроен и готов к работе с Mattermost в Docker. Вы можете приступить к настройке команд и пользователей в Mattermost и начать совместную работу!