Перейти к основному содержимому

Конфигурация

DL использует конфигурационные файлы docker-compose, поэтому вы можете переопределить любые переменные и даже образы.

Используемые образы:

Настройка .env файла

С помощью переменных в .env файле вы можете гибко управлять настройками окружения.

Основные

ПеременнаяОбязательнаяЗначение по умолчаниюПримечание
NETWORK_NAMEНетГенерируется из HOST_NAMEИмя docker сети. Генерируется из HOST_NAME без спец символов
DOCUMENT_ROOTНет/var/www/htmlКорневая директория сайта, в которой находится файл index.php. 1
HOST_NAMEНетГенерируется по имени текущей директорииИмя сайта или домен. Используется для построения локального URL. 2

Деплой файлов и базы данных

ПеременнаяОбязательнаяЗначение по умолчаниюПримечание
CATALOG_SRVНет 3Корневая директория сайта на сервере
USER_SRVНет 3Имя пользователя SSH для подключения к серверу
PORT_SRVНет 3Порт SSH для подключения к серверу
SERVERНет 3IP адрес (или домен) для подключения к серверу
SSH_KEYНет 3id_rsaУказывается имя ssh-ключа, расположенного в директории ~/.ssh/
ASK_KEY_PASSPHRASEНетfalseЗапросить пароль приватного ssh-ключа.
Доступные значения: true, false
USE_SSH_PASSНетfalseИгнорировать ssh-ключ и использовать пароль для подключения.
Доступные значения: true, false
EXCLUDED_TABLESНетИсключаемые таблицы MySQL при скачивании дампа с сервера
EXCLUDED_FILESНетИсключаемые файлы при скачивании архива файлов с сервера

Подключение к базе данных

Если скрипт не смог автоматически определить доступы к базе данных на сервере, пропишите настройки в env-файл вручную

ПеременнаяОбязательнаяЗначение по умолчаниюПримечание
MYSQL_HOST_SRVНетlocalhostХост
MYSQL_PORT_SRVНет3306Порт
MYSQL_DATABASE_SRVДаНазвание базы
MYSQL_LOGIN_SRVДаИмя пользователя
MYSQL_PASSWORD_SRVДаПароль пользователя

Настройки PHP

ПеременнаяОбязательнаяЗначение по умолчаниюПримечание
PHP_VERSIONНетВерсия PHP
Доступные значения: 7.3-apache, 7.4-apache, 8.0-apache, 8.1-apache, 8.2-apache, 7.3-fpm, 7.4-fpm, 8.0-fpm, 8.1-fpm, 8.2-fpm
PHP_MEMORY_LIMITНет256MЛимит памяти PHP
PHP_POST_MAX_SIZEНет100MМаксимальный размер POST-запроса
PHP_UPLOAD_MAX_FILESIZEНет100MМаксимальный размер файла, разрешенный для загрузки
PHP_MAX_FILE_UPLOADSНет50Максимальное количество загружаемых файлов
PHP_MAX_EXECUTION_TIMEНет60Максимальное время выполнения скрипта
PHP_MODULESНетДополнительные php расширения. Например, PHP_MODULES="redis memcached"
XDEBUGНетoff 4Для включения модуля XDebug, используйте параметр debug
XDEBUG_IDE_KEYНетPHPSTORMКлюч, который должен быть передан при инициализации сессии XDebug
XDEBUG_PORTНет9003Порт XDebug
PHP_INI_SOURCEНет/dev/nullОтносительная ссылка на файл php.ini для полного переопределения конфигурации
(например: PHP_INI_SOURCE: .docker/php/php.ini)

Настройки базы данных

Если указано значение, будет поднят контейнер с базой данных.

Имя базы данных: db
Имя пользователя: db
Пароль пользователя: db

ПеременнаяОбязательнаяЗначение по умолчаниюПримечание
MYSQL_VERSIONНетВерсия MySQL.
Доступные значения: 5.7, 8.0
MARIADB_VERSIONНетВерсия MariaDB.
Доступные значения: Supported tags
POSTGRES_VERSIONНетВерсия PostgreSQL.
Доступные значения: Supported tags

Дополнительные контейнеры

ПеременнаяОбязательнаяЗначение по умолчаниюПримечание
REDISНетfalseЕсли указано значение true, будет поднят контейнер с Redis
REDIS_PASSWORDНетpassПароль Redis
MEMCACHEDНетfalseЕсли указано значение true, будет поднят контейнер с Memcached

Другие настройки

ПеременнаяОбязательнаяЗначение по умолчаниюПримечание
LOCALTIMEНетEurope/MoscowЧасовой пояс, устанавливаемый в контейнеры PHP и MySQL
NGINX_CONFНет~/.config/dl/config-files/default.conf.templateШаблон конфига nginx. Требуется при использовании php-fpm версии (nginx + php-fpm)
LOCAL_IPНетВнешний локальный IP
Например, 192.168.0.5
Если IP компьютера был неправильно определен, его нужно указать вручную в .env файле
APPEND_COMPOSE_FILEНетДобавить docker-compose.yaml файл, который должен быть запущен с проектом. (Если файлов несколько, их нужно разделить двоеточием)

Пример конфигурации для CMS Битрикс

## Remote Server (PROD) ##
CATALOG_SRV=/var/www/site.com/public_html
USER_SRV=user
PORT_SRV=22
SERVER=127.0.0.1

## Local container config ##
HOST_NAME=site.com
DOCUMENT_ROOT=/var/www/html
## Avalible versions: 7.3-apache 7.4-apache 8.0-apache 8.1-apache 8.2-apache 7.3-fpm 7.4-fpm 8.0-fpm 8.1-fpm 8.2-fpm ##
PHP_VERSION=8.2-apache
## Avalible versions: 5.7 8.0 ##
MYSQL_VERSION=8.0

## Deploy settings ##
EXCLUDED_TABLES=b_event_log,b_search_content_stem,b_search_content,b_search_content_text,b_search_content_title,b_search_phrase,b_search_suggest,b_perf_error
EXCLUDED_FILES=.git,upload,bitrix/backup,bitrix/cache,bitrix/managed_cache,bitrix/stack_cache,bitrix/tmp,.env

  1. Например, если задать site.com, локальный адрес будет таким: site.com.localhost (или site.com.127.0.0.1.nip.io)
  2. Например, для Laravel значение будет /var/www/html/public
  3. Обязательная переменная при использовании команды deploy
  4. Все параметры XDebug https://xdebug.org/docs/all_settings#mode