Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ LABEL maintainer="Constantine Karnaukhov <genteelknight@gmail.com>"

# resolves gitlab.com/ric_harvey/nginx-php-fpm#166
ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php
RUN apk add --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing gnu-libiconv
RUN apk add --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/community gnu-libiconv

# Install nginx
RUN NGINX_VERSION=1.14.0 \
Expand Down
47 changes: 24 additions & 23 deletions docs/configure.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,27 @@

Вы можете передать нужные вам переменные окружения в контейнер для настройки

| Env | Описание |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| SOF_PRESET | Укажите при необходимости, какой пресет использовать (`wordpress`, `laravel`, `bitrix`). [Подробнее про пресеты](./presets.md) |
| APPLICATION_ENV | Установите данную переменную в `production` при запуске "боевого" окружения, чтобы предотвратить включение опций для разработки |
| WEBROOT | Изменить корневую директорию веб-сервера с `/var/www/html` на вашу собственную. |
| ERRORS | Выставьте значение "1" чтобы выводить ошибки PHP в браузере |
| HIDE_NGINX_HEADERS | Чтобы отключить поведение по-умолчанию выставьте значение "0". По-умолчанию из заголовков скрываются версии nginx и php |
| PHP_MEM_LIMIT | Позволяет менять лимит PHP по памяти, по-умолчанию 128 Mb. Подробнее в [документации PHP](https://www.php.net/manual/ru/ini.core.php#ini.memory-limit) |
| PHP_POST_MAX_SIZE | Позволяет менять максимально допустимый размер данных, отправляемых методом POST, по-умолчанию 100 Mb. Подробнее в [документации PHP](https://www.php.net/manual/ru/ini.core.php#ini.post-max-size) |
| PHP_UPLOAD_MAX_FILESIZE | Позвоялет менять максимальный размер закачиваемого файла, по-умолчанию 100 Mb. Подробнее в [документации PHP](https://www.php.net/manual/ru/ini.core.php#ini.upload-max-filesize) |
| PHP_ERRORS_STDERR | Укажите "1", чтобы отправлять сообщения об ошибках PHP в логи контейнера |
| REAL_IP_HEADER | Укажите "1", чтобы включить поддержку real ip в логах. Подробнее про [настройку Nginx](./nginx_configuration.md) |
| REAL_IP_FROM | Укажите свой CIDR блок для real ip в логах. Подробнее про [настройку Nginx](./nginx_configuration.md) |
| RUN_SCRIPTS | Укажите "1" для выполнения скриптов из `/var/www/html/scripts` перед запуском веб-сервера |
| PGID | Укажите свой GroupId для пользователя nginx ([помогает решить проблему с правами при монтировании локальных хранилищ](./uid_gid.md)) |
| PUID | Укажите свой UserID для пользователя nginx ([помогает решить проблему с правами при монтировании локальных хранилищ](./uid_gid.md)) |
| SSMTP_URI | Укажите параметры для подключения к SMTP-серверу в формате URI, например: `smtp://user:password@mailserver:25` |
| SSMTP_DEBUG | Укажите "1", чтобы включить режим отладки в ssmtp |
| DOMAIN | Укажите свой домен, чтобы добавить настройку RewriteDomain в конфиг ssmtp |
| SSMTP_DEFAULT_FROM | Укажите email, с которого должная отправляться почта по-умолчанию |
| SKIP_CHOWN | Укажите "1", чтобы избежать смены владельца на `/var/www/html` |
| ENABLE_XDEBUG | Укажите "1", включить расширение Xdebug |
| XDEBUG_REMOTE_HOST | Укажите свой IP адрес для `xdebug.remote_host`. [Подробнее про Xdebug](./xdebug.md) |
| Env | Описание |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `SOF_PRESET` | Укажите при необходимости, какой пресет использовать (`wordpress`, `laravel`, `bitrix`). [Подробнее про пресеты](./presets.md) |
| `APPLICATION_ENV` | Установите данную переменную в `production` при запуске "боевого" окружения, чтобы предотвратить включение опций для разработки |
| `WEBROOT` | Изменить корневую директорию веб-сервера с `/var/www/html` на вашу собственную. |
| `ERRORS` | Выставьте значение "1" чтобы выводить ошибки PHP в браузере |
| `HIDE_NGINX_HEADERS` | Чтобы отключить поведение по-умолчанию выставьте значение "0". По-умолчанию из заголовков скрываются версии nginx и php |
| `PHP_MEM_LIMIT` | Позволяет менять лимит PHP по памяти, по-умолчанию 128 Mb. Подробнее в [документации PHP](https://www.php.net/manual/ru/ini.core.php#ini.memory-limit) |
| `PHP_POST_MAX_SIZE` | Позволяет менять максимально допустимый размер данных, отправляемых методом POST, по-умолчанию 100 Mb. Подробнее в [документации PHP](https://www.php.net/manual/ru/ini.core.php#ini.post-max-size) |
| `PHP_UPLOAD_MAX_FILESIZE` | Позвоялет менять максимальный размер закачиваемого файла, по-умолчанию 100 Mb. Подробнее в [документации PHP](https://www.php.net/manual/ru/ini.core.php#ini.upload-max-filesize) |
| `PHP_ERRORS_STDERR` | Укажите "1", чтобы отправлять сообщения об ошибках PHP в логи контейнера |
| `REAL_IP_HEADER` | Укажите "1", чтобы включить поддержку real ip в логах. Подробнее про [настройку Nginx](./nginx_configuration.md) |
| `REAL_IP_FROM` | Укажите свой CIDR блок для real ip в логах. Подробнее про [настройку Nginx](./nginx_configuration.md) |
| `RUN_SCRIPTS` | Укажите "1" для выполнения скриптов из `/var/www/html/scripts` перед запуском веб-сервера |
| `PGID` | Укажите свой GroupId для пользователя nginx ([помогает решить проблему с правами при монтировании локальных хранилищ](./uid_gid.md)) |
| `PUID` | Укажите свой UserID для пользователя nginx ([помогает решить проблему с правами при монтировании локальных хранилищ](./uid_gid.md)) |
| `SSMTP_URI` | Укажите параметры для подключения к SMTP-серверу в формате URI, например: `(smtp,tls)://user:password@mailserver:25` |
| `SSMTP_DEBUG` | Укажите "1", чтобы включить режим отладки в ssmtp |
| `SSMTP_NO_STARTTLS` | Укажите "1", чтобы использовать настройки `UseTLS` и `TLS_CA_File` вместо `UseSTARTTLS` для ssmtp (используется только при указании протокола `tls` в `SSMTP_URI`) |
| `DOMAIN` | Укажите свой домен, чтобы добавить настройку RewriteDomain в конфиг ssmtp |
| `SSMTP_DEFAULT_FROM` | Укажите email, с которого должная отправляться почта по-умолчанию |
| `SKIP_CHOWN` | Укажите "1", чтобы избежать смены владельца на `/var/www/html` |
| `ENABLE_XDEBUG` | Укажите "1", включить расширение Xdebug |
| `XDEBUG_REMOTE_HOST` | Укажите свой IP адрес для `xdebug.remote_host`. [Подробнее про Xdebug](./xdebug.md) |
8 changes: 7 additions & 1 deletion spaceonfire/bin/ssmtp-setup
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,15 @@ function setupSsmtpConf() {

if (stripos($ssmtp['scheme'], 'tls') !== false) {
$conf[] = 'UseTLS=YES';
$conf[] = 'TLS_CA_File=/etc/ssl/certs/ca-certificates.crt';

if ($_ENV['SSMTP_NO_STARTTLS']) {
$conf[] = 'TLS_CA_File=/etc/ssl/certs/ca-certificates.crt';
} else {
$conf[] = 'UseSTARTTLS=YES';
}
}

$conf[] = '';
$conf = implode("\n", $conf);
file_put_contents('/etc/ssmtp/ssmtp.conf', $conf, FILE_APPEND | LOCK_EX);
}
Expand Down
17 changes: 17 additions & 0 deletions test/ssmtp/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
version: '3'

services:
test:
build: ../../
image: spaceonfire/nginx-php-fpm:next
ports:
- 8080:80
environment:
- SOF_PRESET=default
- APPLICATION_ENV=development
- PAGER=more
#- SSMTP_URI=smtp://mailcatcher:25
- SSMTP_URI=tls://apikey:yourapikey@smtp.sendgrid.net:587
- SSMTP_DEFAULT_FROM=info@docker.local
volumes:
- ./:/var/www/html:Z