🚀 Установка Nginx Proxy Manager в Docker через Ansible
Этот проект содержит Ansible Playbook для автоматизированной настройки сервера, установки Docker и развертывания Nginx Proxy Manager (PM) в контейнере Docker. Также Playbook включает настройку брандмауэра UFW для безопасного доступа через веб-интерфейс и прокси-сервер Nginx.
🔗 Репозиторий: GitHub
📌 Обзор установки
Playbook выполняет следующие задачи:
1️⃣ Настройка сервера: Установка базовых параметров (часовой пояс, пакеты и т. д.).
2️⃣ Установка Docker: Установка Docker и Docker Compose.
3️⃣ Развертывание Nginx Proxy Manager: Установка и настройка Nginx PM в контейнере Docker, настройка базы данных и веб-доступа.
📂 Структура Playbook
- playbooks/server-install.yml – Настройка базовой конфигурации сервера.
- playbooks/docker-install.yml – Установка Docker и Docker Compose.
- playbooks/nginx-pm-docker-install.yml – Развертывание Nginx Proxy Manager в контейнере Docker и настройка базы данных.
🛠 Требования
Перед запуском Playbook убедитесь, что:
✔️ Ansible 2.9+ установлен на управляющем узле.
✔️ SSH-доступ к целевому серверу.
✔️ Linux-сервер с доступом в интернет (Ubuntu, CentOS и др.).
✔️ Docker и Docker Compose будут установлены автоматически.
🔧 Переменные
Вы можете настроить Playbook, изменяя следующие переменные:
vars:
email: '[email protected]'
nginx_mysql_pass_web: 'changeme'
nginx_pm_host_name: 'host_name'
nginx_mysql_user: 'your_user_name'
nginx_mysql_pass: 'complex_password'
nginx_mysql_name: 'your_user_name'
nginx_mysql_root_pass: 'complex_password'
your_ip: '19.16.11.12'
📌 Что означают переменные?
email
– Email для учетной записи администратора Nginx Proxy Manager.nginx_mysql_pass_web
– Пароль для доступа к MySQL через веб-интерфейс (по умолчанию: changeme).nginx_pm_host_name
– Доменное имя или хостнейм для Nginx Proxy Manager.nginx_mysql_user
– Имя пользователя MySQL для Nginx Proxy Manager.nginx_mysql_pass
– Пароль для базы данных MySQL.nginx_mysql_name
– Название базы данных MySQL.nginx_mysql_root_pass
– Root-пароль MySQL.your_ip
– IP-адрес, с которого будет разрешен доступ через UFW.
📦 Установка необходимых ролей Ansible Galaxy
Перед выполнением Playbook установите роли:
ansible-galaxy install -r roles/requirements.yml
Если роли уже установлены, можно выполнить обновление:
ansible-galaxy install -g -f -r roles/requirements.yml
🚀 Развертывание Nginx Proxy Manager в Docker через Ansible
🔹 1. Клонирование репозитория
git clone https://github.com/Shipssv83/Ansible-Nginx-Proxy-Manager-Docker-Install.git
cd Ansible-Nginx-Proxy-Manager-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. Развертывание Nginx Proxy Manager в Docker
ansible-playbook -i inventory --user root --extra-vars "host=host_name" playbooks/nginx-pm-docker-install.yml
📌 Что делает этот Playbook?
✅ Загружает Docker-образ Nginx Proxy Manager.
✅ Настраивает доступ к веб-интерфейсу и базе данных.
✅ Настраивает доступ через UFW.
🌐 Доступ к Nginx Proxy Manager
После завершения установки Nginx Proxy Manager будет доступен по адресу:
http://<your-server-ip>:81
Данные для входа:
- Email:
[email protected]
- Пароль:
changeme
📌 Важно! После первого входа необходимо сменить пароль администратора для безопасности системы.
🎯 Заключение
Теперь ваш сервер полностью настроен и готов к работе с Nginx Proxy Manager в Docker. Вы можете начать управлять прокси-хостами, настройками SSL и переадресацией трафика.