Организация docker-окружения
This commit is contained in:
9
.dockerignore
Normal file
9
.dockerignore
Normal file
@@ -0,0 +1,9 @@
|
||||
/docker
|
||||
/.git
|
||||
/.idea
|
||||
/.vscode
|
||||
.phpunit.result.cache
|
||||
.php-cs-fixer.cache
|
||||
|
||||
*.cache
|
||||
*.log
|
||||
48
Dockerfile
Normal file
48
Dockerfile
Normal file
@@ -0,0 +1,48 @@
|
||||
FROM php:8.4-fpm AS iptv-php-base
|
||||
LABEL org.opencontainers.image.authors="Anthony Axenov <anthonyaxenov@gmail.com>"
|
||||
|
||||
RUN apt update && \
|
||||
apt upgrade -y && \
|
||||
apt install -y \
|
||||
git \
|
||||
unzip \
|
||||
7zip \
|
||||
cron \
|
||||
zlib1g-dev \
|
||||
imagemagick \
|
||||
libpng-dev \
|
||||
libjpeg-dev
|
||||
|
||||
# https://pecl.php.net/package/redis
|
||||
RUN pecl channel-update pecl.php.net && \
|
||||
pecl install redis-6.1.0
|
||||
|
||||
RUN docker-php-ext-enable redis && \
|
||||
docker-php-ext-configure gd --with-jpeg && \
|
||||
docker-php-ext-install gd
|
||||
|
||||
RUN mkdir -p /var/run/php && \
|
||||
mkdir -p /var/log/php && \
|
||||
chmod -R 777 /var/log/php
|
||||
|
||||
COPY ./ /var/www
|
||||
COPY --from=composer /usr/bin/composer /usr/local/bin/composer
|
||||
|
||||
RUN git config --global --add safe.directory /var/www
|
||||
|
||||
EXPOSE 9000
|
||||
WORKDIR /var/www
|
||||
ENTRYPOINT [ "php-fpm", "--nodaemonize" ]
|
||||
|
||||
FROM iptv-php-base AS iptv-web-dev
|
||||
LABEL org.opencontainers.image.authors="Anthony Axenov <anthonyaxenov@gmail.com>"
|
||||
|
||||
# https://pecl.php.net/package/xdebug
|
||||
RUN pecl install xdebug-3.4.1
|
||||
|
||||
RUN composer install
|
||||
|
||||
FROM iptv-php-base AS iptv-web-prod
|
||||
LABEL org.opencontainers.image.authors="Anthony Axenov <anthonyaxenov@gmail.com>"
|
||||
|
||||
RUN composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader
|
||||
26
docker/dev/php.ini
Normal file
26
docker/dev/php.ini
Normal file
@@ -0,0 +1,26 @@
|
||||
[PHP]
|
||||
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
|
||||
expose_php = Off
|
||||
file_uploads = Off
|
||||
max_execution_time=-1
|
||||
memory_limit = 512M
|
||||
|
||||
[opcache]
|
||||
opcache.enable = 1
|
||||
opcache.enable_cli = 1
|
||||
opcache.memory_consumption = 128
|
||||
opcache.max_accelerated_files = 30000
|
||||
opcache.revalidate_freq = 0
|
||||
opcache.jit_buffer_size = 64M
|
||||
opcache.jit = tracing
|
||||
|
||||
[xdebug]
|
||||
; https://xdebug.org/docs/all_settings
|
||||
zend_extension = xdebug.so
|
||||
xdebug.mode = debug
|
||||
xdebug.start_with_request = yes
|
||||
xdebug.trigger_value = go
|
||||
xdebug.client_host = host.docker.internal
|
||||
xdebug.REQUEST = *
|
||||
xdebug.SESSION = *
|
||||
xdebug.SERVER = *
|
||||
22
docker/dev/www.conf
Normal file
22
docker/dev/www.conf
Normal file
@@ -0,0 +1,22 @@
|
||||
[www]
|
||||
user = www-data
|
||||
group = www-data
|
||||
listen = 127.0.0.1:9000
|
||||
pm = dynamic
|
||||
pm.max_children = 5
|
||||
pm.start_servers = 2
|
||||
pm.min_spare_servers = 1
|
||||
pm.max_spare_servers = 3
|
||||
pm.max_requests = 50
|
||||
pm.status_path = /status
|
||||
ping.path = /ping
|
||||
ping.response = pong
|
||||
access.log = /var/log/php/$pool.access.log
|
||||
;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{milli}d %{kilo}M %C%%"
|
||||
; chroot = /var/www
|
||||
; chdir = /var/www
|
||||
php_flag[display_errors] = on
|
||||
php_admin_value[error_log] = /var/log/php/$pool.error.log
|
||||
php_admin_flag[log_errors] = on
|
||||
php_admin_value[memory_limit] = 512M
|
||||
php_admin_value[error_reporting] = E_ALL & ~E_NOTICE & ~E_DEPRECATED
|
||||
16
docker/prod/php.ini
Normal file
16
docker/prod/php.ini
Normal file
@@ -0,0 +1,16 @@
|
||||
[PHP]
|
||||
error_reporting = E_ALL & ~E_DEPRECATED
|
||||
expose_php = Off
|
||||
file_uploads = Off
|
||||
memory_limit = 512M
|
||||
; upload_max_filesize=10M
|
||||
; post_max_size=10M
|
||||
|
||||
[opcache]
|
||||
opcache.enable = 1
|
||||
opcache.enable_cli = 1
|
||||
opcache.memory_consumption = 128
|
||||
opcache.max_accelerated_files = 30000
|
||||
opcache.revalidate_freq = 0
|
||||
opcache.jit_buffer_size = 64M
|
||||
opcache.jit = tracing
|
||||
22
docker/prod/www.conf
Normal file
22
docker/prod/www.conf
Normal file
@@ -0,0 +1,22 @@
|
||||
[www]
|
||||
user = www-data
|
||||
group = www-data
|
||||
listen = 127.0.0.1:9000
|
||||
pm = dynamic
|
||||
pm.max_children = 5
|
||||
pm.start_servers = 2
|
||||
pm.min_spare_servers = 1
|
||||
pm.max_spare_servers = 3
|
||||
pm.max_requests = 50
|
||||
pm.status_path = /status
|
||||
ping.path = /ping
|
||||
ping.response = pong
|
||||
access.log = /var/log/php/$pool.access.log
|
||||
;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{milli}d %{kilo}M %C%%"
|
||||
; chroot = /var/www
|
||||
; chdir = /var/www
|
||||
php_flag[display_errors] = on
|
||||
php_admin_value[error_log] = /var/log/php/$pool.error.log
|
||||
php_admin_flag[log_errors] = on
|
||||
php_admin_value[memory_limit] = 512M
|
||||
php_admin_value[error_reporting] = E_ALL & ~E_NOTICE & ~E_DEPRECATED
|
||||
Reference in New Issue
Block a user