Mailu: Http Basic Auth для WebMail

Потребовалось мне настроить почтовый сервер для собственных нужд, и в этот раз я решил не заморачиваться с "ручной" настройкой Exim+Dovecot+Roundcube, а воспользоваться готовым решением. В качестве такого решения я выбрал докер сборку Mailu (https://mailu.io). И все бы хорошо, но из коробки нельзя включить Http Basic Auth для WebMail (страницы логина в почту). А оставлять торчащую наружу форму входа мне тоже не хотелось..
Решение оказалось довольно простое, но без детального описания.
Итак, открываем конфиг docker-compose.yml, который находится в папке установки (у меня /opt/mailu/docker-compose.yml) и видим там что папка "/opt/mailu/overrides/nginx" прокидывается внутрь контейнера в папку "/overrides"
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# Core services front: image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-1.9} restart: always env_file: mailu.env logging: driver: json-file ports: ... volumes: - "/opt/mailu/certs:/certs" - "/opt/mailu/overrides/nginx:/overrides:ro" depends_on: - resolver |
Далее илем в контейнер и внутри конфига nginx-а видим, что конфиги из этой папки подключаются в основной конфиг
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
cat /etc/nginx/nginx.conf ... # If TLS is failing, prevent access to anything except certbot include /overrides/*.conf; # Actual logic location ~ ^/(sso|static)/ { include /etc/nginx/proxy.conf; proxy_pass http://$admin; } |
Т.е. достаточно просто сгенерировать файл пароля и подключить его, так я и сделал. В папке mailu создал файл .htpasswd
0 1 2 |
htpasswd -c /opt/mailu/overrides/nginx/.htpasswd USERNAME |
и там же конфиг для Nginx
0 1 2 3 4 5 6 7 |
nano /opt/mailu/overrides/nginx/nginx.conf // с таким содержимым auth_basic "Restricted Area"; auth_basic_user_file /overrides/.htpasswd; |
Дальше перезагружаем сборку и все начинает работать
0 1 2 |
docker-compose -p mailu down && docker-compose -p mailu up -d |
Теперь перед попаданием на страницу входа в почту, мы получим дополнительный слой авторизации

Автор: | Теги: /
| Рейтинг:
4 комментария
Написать свой