Skip to content

Latest commit

 

History

History
75 lines (48 loc) · 4.06 KB

README.md

File metadata and controls

75 lines (48 loc) · 4.06 KB

Traefik

Traefik в данном случае используется для упрощения работы с локальными сайтами.

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

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

docker compose up -d

После запуска должна появиться сеть traefik_default. Все прочие контейнеры для корректной работы должны быть тоже в ней.

Если по каким-то причинам сеть не создалась, можно попробовать создать её вручную.

Может пригодиться следующая команда:

docker network create traefik_default --label "com.docker.compose.network=default"

Далее можно запустить контейнер с traefik

docker compose up -d

При перезапусках компьютера и докера он будет автоматически запускаться благодаря restart: always. Если не хотите этого, просто измените указанный параметр.

docker-compose.yml так же содержит adminer и mailhog.

adminer используется для работы с базами данных. Доступен по адресу https://adminer.loc Для работы adminer не забудьте добавить в файл hosts

127.0.0.1 adminer.loc

Чтобы подключиться к серверу БД в окне авторизации в поле Server укажите название контейнера. В качестве логина и пароля укажите то, что задано в файле .env или значения по умолчанию из docker-compose.yml

mailhog используется для удобного просмотра отправленных сообщений из php контейнеров. Редирект писем настраивается в php.ini

mailhog по умолчанию доступен по адресу http://localhost:8025

Настройка HTTPS

Для работы с HTTPS необходимо сгенерировать сертификаты.

Сделать это можно с помощью утилиты mkcert https://github.com/FiloSottile/mkcert инструкции по установке можно посмотреть по ссылке.

Сгенерировать сертификаты можно командой

mkcert -cert-file certs/local-cert.pem -key-file certs/local-key.pem "localhost" "*.localhost" "phpmyadmin.loc"

Домены перечисляются через пробел. Wildcard сертификаты для корневых зон *.loc и прочих работать не будут (из-за политики безопасности браузеров) по этому перечисляйте все нужные домены как показано на примере.

Можно прописать домены в файле makefile в блоке с командой gen-cert, тогда можно будет просто выполнять команду make gen-cert и не писать список доменов в консоли

make gen-cert

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