nginx + php (5.6, 7.1, 7.4, 8.1, 8.2, 8.3, 8.4, 8.5) + mysql + node 23 версии а так же redis|memcached - при самостоятельной публикации
Шаги:
- Выбор фреймворка - bitrix
- Выбрать версию php
- Выбрать версию mysql - 5.7 или 8.0
- Устанавливать ли node.js - Y или N, если установите Y, то будет создан сервис с node js 23 версии
- Если будет устанавливаться node.js, то нужно указать корневую директорию для него, то есть директория содержащая файл package.json. Путь указывается относительно корня сайта - local/js/vite или пустое поле если package.json в корне сайта.
- Устанавливать ли sphinx - Y или N, если установите Y, то будет создан сервис с shphinx версии 2.2.11
После этого в директории где выполнялась команда появится docker-compose.yml файл с настроенными сервисами.
По умолчанию cron включен и выполняется задание на запуск файла /var/www/bitrix/modules/main/tools/cron_events.php
Если необходимо добавить задания, то сделайте публикацию файлов с заданиями
docky publish --file cron_tasksЗапись заданий осуществляйте в:
_conf/app/cron/docky- для пользователя сайта_conf/app/cron/root- для root пользователя
Для тестирования почты используйте сервис mailhog.
Если сервиса нет в docker-compose.yml, то опубликуйте его:
docky publish --service mailhogИ настройте smtp отправку почты на этот сервис:
- Сервер - mailhog
- Порт - 1025
- Без авторизации
Проверяйте письма на странице - http://localhost:8025
Для отправки почты через msmtp
Вам необходимо настроить файл msmtprc в _docker/app/msmtprc, или создайте свой файл и пробросьте его с помощью volumes в docker-compose.yml:
- ./msmtprc:/home/docky/.msmtprcПривер такого файла конфигурации:
defaults
tls on
auth on
keepbcc on
tls_certcheck off
logfile /home/docky/msmtp.log
account yandex
port 587
host smtp.yandex.ru
user <your-email>@yandex.ru
password <your-app-password>
from <your-email>@yandex.ru
tls_starttls on
account default : yandex
Если почта не отправляется или в проверке системы написано что почта не работает, то проверьте логи msmtp в контейнере, которые находятся в файле /home/docky/msmtp.log. Вероятнее всего произошла ошибка авторизации или почтовый сервис отклюнил отправку из-за подозрений в спаме.
sphinx (версия 2.2.11) является сервисом в docker-compose.yml (добавляется при установке) и собирается на основе Dockerfile из _docker/sphinx/Dockerfile, где так же лежит и файл конфигурации sphinx.conf.
После запуска контейнеров можно подключаться к sphinx:
sphinx:9306 - протокол MySql
sphinx:9312 - стандартный протокой
- Выполните команду
docky downили убедитесь что контейнеры остановлены - Для создания сайта выполните команду
docky create siteилиdocky create site --name {domain_name} - Введите доменное имя сайта
- Проверьте что все создано (в директории вашего сайта должна была появится директории с названием введенного вашего доменного имени)
- Выполните команду
docky build
При добавлении сайта автоматически добавляются символические ссылки на каталоги - bitrix, local, upload для введенного домена.