Конфигурация
DL использует конфигурационные файлы docker-compose, поэтому вы можете переопределить любые переменные и даже образы.
Используемые образы:
- Redis (версия alpine)
- MySQL
- MariaDB
- PostgreSQL
- Memcached
- Nginx (версия alpine)
- php-fpm и apache2 (модифицированные оригинальные образы)
Настройка .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 | Нет 3 | IP адрес (или домен) для подключения к серверу | |
SSH_KEY | Нет 3 | id_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
- Например, если задать
site.com
, локальный адрес будет таким:site.com.localhost
(илиsite.com.127.0.0.1.nip.io
)↩ - Например, для Laravel значение будет
/var/www/html/public
↩ - Обязательная переменная при использовании команды
deploy
↩ - Все параметры XDebug https://xdebug.org/docs/all_settings#mode↩