Организация 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