/aegea_in_docker

Движок блога Эгея в Docker-контейнере. Связка Caddy + PHP7 + MySQL. https от Let's Encrypt из коробки.

Primary LanguageDockerfile

Движок блога Эгея в Docker-контейнере.

Связка Caddy + PHP7 + MySQL. https от Let's Encrypt из коробки.

В проекте используется, на мой взгляд самый прогрессивный веб-сервер на сегодня - Caddy. Его очень легко конфигурировать и он поддерживает http/2 и автоматический https из коробки.

  1. Склонируйте на сервер или на свой компьютер этот репозиторий.

  2. Скачайте архив с последней версией Эгеи.

  3. Распакуйте содержимое архива в папку blog внутри текущего проекта.

  4. Скопируйте файл .env.dist в файл .env и установите там пароли для root и вашего пользователя MySQL.

  5. Для развертывания Эгеи на компьютере разработчика в файле caddy/Dockerfile в 30 строке вставьте COPY Caddyfile.dev /etc/Caddyfile

  6. Для развертывания Эгеи на боевом сервере измените название домена в файле Caddyfile.prod и в caddy/Dockerfile в 30 строке вставьте COPY Caddyfile.prod /etc/Caddyfile. В файле docker-compose.yaml в секции конфигурации caddy оставьте только 80 и 443 порты. Порт 2015 должен быть открыт всегда (и на dev и на prod).

  7. В blog/user/config.php нужно прописать: $_config['url_composition'] = 'synthetic'; и после этого сбросить кеш /?go=@sync/

  8. Для сборки проекта наберите в консоли docker-compose build. Эту команду необходимо выполнять каждый раз, если вы что-то меняете в конфигурационных файлах Докера.

  9. На компьютере разработчика запускать командой docker-compose up.

  10. На боевом сервере в файле docker-compose.yaml для всех контейнеров раскоментируйте restart: always. Запускать командой docker-compose -d up. Ключ -d указывает, на то, что контейнеры надо запустить в режиме демонов. В случае рестарта сервера контейнеры будут запускаться автоматически. Для остановки контейнеров надо выполнить команду docker-compose down.