Запускаем Эгею через Docker и забываем про технические проблемы на 10 лет вперёд

Про работу с Docker можно посмотреть часовое видео. С Docker вам не нужно заботиться о конфигурациях веб-сервера, базы данных и правах доступа к файлам и папкам. Одна команда — и готово.

В официальной документации Эгеи есть две ссылки на запуск блога с помощью Докера, но оба способа имеют свои недостатки. По крайней мере один из них устарел и просто не заведётся из коробки, плюс используется старый, медленный ПХП 5, а второй использует веб-сервер caddle, который не столь популярен и хорошо описан, как Nginx или официально поддерживаемый Эгеей Apache.

Блог за 5 шагов

Вот, что вам нужно, чтобы установить последнюю версию блога.

  1. Установленные на целевой машине docker и docker-compose — это может быть и локальная машина, и продакшн. А также наличие домена, если поднимаете на продакшене.
  2. Склонировать репозиторий https://github.com/pluseg/e2-docker
git clone git@github.com:pluseg/e2-docker.git /path/to/blog/folder
  1. Создать файл .env
cp .env.example .env
  1. И указать в нём нужные версии PHP, MySQL, Эгеи (на сегодняшний день они актуальные и их менять и не надо) и домен VIRTUAL_HOST (для локали можно оставить localhost.
  2. Запускаем всё это хозяйство с помощью docker-compose
docker-compose up -d --build
  1. Заходим на домен, указанный в VIRTUAL_HOST, и заполняем небольшую форму
DB Host: db
   DB User: root
   DB Pass: egeya
   DB Database: <выбрать из списка "egeya">
   Admin pass: <укажите ваш админский пароль>
  1. Готово.

Дополнительные плюшки

В этой сборке я вынес версии всех зависимостей в .env файл, так что теперь обновить версию блога, ПХП или mysql — дело одной минуты. Достаточно обновить их в .env файле и перезапустить контейнеры с флагом пересборки:

docker-compose up -d --build

Если понадобится перенести блог в другое место — не проблема. Достаточно перенести папку с блогом куда нужно и запустить ту же самую команду docker-compose.

Все файлы, которые должны сохраниться между обновлениями сохранятся. Они лежат в папке ./data:

  • data/pictures — картинки
  • data/user — всё, что касается пользователя, включая shared шаблоны и настройки
  • data/theme — ваша кастомная тема, если понадобится. Она добавляется в папку к остальным комплектным темам /themes
  • data/mysql — данные из базы
Поделиться
Отправить
Запинить
11 мес   docker   блог   эгея
Популярное