inhumantsar.dockerautoproxy

dockerautoproxy

Что это?

Использует jwilder/nginx-proxy Docker образ для автоматизации настройки обратного прокси в Docker Swarm.

Как это работает?

Использование ролей

Сам образ предназначен для динамической настройки, поэтому заранее ничего особенного делать не нужно. См. defaults/main.yml.

По умолчанию используется образ alpine, измените nginx_version на latest, чтобы использовать образ debian:jesse.

Создает сеть с названием nginx_proxy_net, к которой должны подключаться ваши проксируемые контейнеры.

Использование Nginx Proxy

Контейнеры, которые требуют проксирования, должны сделать две вещи: открыть порт для проксирования и указать виртуальный хост.

Порты можно указать в Dockerfile с помощью EXPOSE, в командной строке с помощью --expose или в файле Docker Compose с помощью expose.

Виртуальные хосты должны быть указаны в переменной окружения VIRTUAL_HOST.

Расширенное использование

Настройки nginx

Можно загрузить, смонтировав путь на хосте с файлами конфигурации nginx, используя переменную dockerautoproxy_config_path. Путь будет создан, если его еще нет на хосте.

SSL сертификаты

SSL сертификаты могут быть сгенерированы автоматически или указаны вручную. По умолчанию они хранятся в общем объеме данных между контейнерами. Вы можете использовать dockerautoproxy_certs_path, чтобы смонтировать путь на хосте для их хранения.

Чтобы автоматически генерировать сертификаты, установите переменную Ansible dockerautoproxy_ssl_companion в true. Это запустит второй контейнер, который будет заниматься генерацией SSL сертификатов с помощью Let's Encrypt. Чтобы активировать сервис для этого, установите переменные окружения контейнера LETSENCRYPT_HOST и LETSENCRYPT_EMAIL. Например:

$ docker run -d \
    --name example-app \
    -e "VIRTUAL_HOST=example.com,www.example.com,mail.example.com" \
    -e "LETSENCRYPT_HOST=example.com,www.example.com,mail.example.com" \
    -e "[email protected]" \
    tutum/apache-php
О проекте

Sets up a dynamic Nginx reverse proxy on Docker Swarm

Установить
ansible-galaxy install inhumantsar.dockerautoproxy
Лицензия
bsd-3-clause
Загрузки
103
Владелец