From 31fa1a0f5a1f715f654ad3c8e72e8c76687bf957 Mon Sep 17 00:00:00 2001 From: AnthonyAxenov Date: Sat, 15 Mar 2025 20:56:18 +0800 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D0=BE?= =?UTF-8?q?=D0=B2=20php,=20=D0=BC=D0=B5=D0=BB=D0=BE=D1=87=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=20compose.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- compose.yml | 48 ++++++++----------- docker/php/{dev.dockerfile => dev/dockerfile} | 0 docker/php/{dev.php.ini => dev/php.ini} | 1 + docker/php/{ => dev}/www.conf | 0 .../php/{prod.dockerfile => prod/dockerfile} | 5 +- docker/php/{prod.php.ini => prod/php.ini} | 1 + docker/php/prod/www.conf | 21 ++++++++ 7 files changed, 47 insertions(+), 29 deletions(-) rename docker/php/{dev.dockerfile => dev/dockerfile} (100%) rename docker/php/{dev.php.ini => dev/php.ini} (96%) rename docker/php/{ => dev}/www.conf (100%) rename docker/php/{prod.dockerfile => prod/dockerfile} (73%) rename docker/php/{prod.php.ini => prod/php.ini} (94%) create mode 100644 docker/php/prod/www.conf diff --git a/compose.yml b/compose.yml index 0b599f6..2e4e341 100644 --- a/compose.yml +++ b/compose.yml @@ -2,63 +2,57 @@ networks: iptv: driver: bridge +x-common-attributes: &common-attributes + restart: unless-stopped + env_file: + - .env + extra_hosts: + - host.docker.internal:host-gateway + volumes: + - /etc/localtime:/etc/localtime:ro + - /etc/timezone:/etc/timezone:ro + networks: + - iptv + services: keydb: + <<: *common-attributes container_name: iptv-keydb image: eqalpha/keydb:latest user: "${REDIS_UID}:${REDIS_GID}" - restart: unless-stopped volumes: - - /etc/localtime:/etc/localtime:ro - ./docker/keydb/keydb.conf:/etc/keydb/keydb.conf - ./docker/keydb/data/:/data:rw - ./log/keydb:/var/log/keydb/:rw - env_file: - - .env ports: - "${REDIS_PORT:-6379}:6379" - networks: - - iptv php: + <<: *common-attributes container_name: iptv-php - env_file: - - .env environment: - PHP_IDE_CONFIG=serverName=iptv.local build: - dockerfile: docker/php/${IPTV_ENV}.dockerfile - restart: unless-stopped - extra_hosts: - - host.docker.internal:host-gateway - networks: - - iptv + dockerfile: docker/php/${IPTV_ENV}/dockerfile volumes: - - /etc/localtime:/etc/localtime:ro - - ./docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf:ro - - ./docker/php/${IPTV_ENV}.php.ini:/usr/local/etc/php/conf.d/php.ini:ro + - ./docker/php/${IPTV_ENV}/www.conf:/usr/local/etc/php-fpm.d/www.conf:ro + - ./docker/php/${IPTV_ENV}/php.ini:/usr/local/etc/php/conf.d/php.ini:ro - ./log/php:/var/log/php:rw - - ./src:/var/www:rw - - ./playlists.ini:/var/www/config/playlists.ini:ro + - ./svc-main:/var/www:rw depends_on: - keydb nginx: + <<: *common-attributes container_name: iptv-nginx image: nginx:latest - restart: unless-stopped - extra_hosts: - - host.docker.internal:host-gateway - networks: - - iptv volumes: - - /etc/localtime:/etc/localtime:ro - ./docker/nginx/vhost.conf:/etc/nginx/conf.d/default.conf:ro - ./log/nginx:/var/log/nginx:rw - - ./src:/var/www:ro + - ./svc-main:/var/www:ro ports: - - '8080:80' + - "8080:80" links: - php depends_on: diff --git a/docker/php/dev.dockerfile b/docker/php/dev/dockerfile similarity index 100% rename from docker/php/dev.dockerfile rename to docker/php/dev/dockerfile diff --git a/docker/php/dev.php.ini b/docker/php/dev/php.ini similarity index 96% rename from docker/php/dev.php.ini rename to docker/php/dev/php.ini index a972e69..ae2423f 100644 --- a/docker/php/dev.php.ini +++ b/docker/php/dev/php.ini @@ -3,6 +3,7 @@ error_reporting = E_ALL expose_php = Off file_uploads = Off max_execution_time=-1 +memory_limit = 512M [opcache] opcache.enable = 1 diff --git a/docker/php/www.conf b/docker/php/dev/www.conf similarity index 100% rename from docker/php/www.conf rename to docker/php/dev/www.conf diff --git a/docker/php/prod.dockerfile b/docker/php/prod/dockerfile similarity index 73% rename from docker/php/prod.dockerfile rename to docker/php/prod/dockerfile index fa66097..e8e823a 100644 --- a/docker/php/prod.dockerfile +++ b/docker/php/prod/dockerfile @@ -9,12 +9,13 @@ RUN pecl channel-update pecl.php.net && \ pecl install redis && \ docker-php-ext-enable redis && \ mkdir -p /var/log/php && \ - chmod -R 777 /var/log/php + chmod -R 777 /var/log/php && \ + git config --global --add safe.directory /var/www COPY --from=composer /usr/bin/composer /usr/local/bin/composer USER www-data EXPOSE 9000 WORKDIR /var/www -CMD composer install +CMD composer install --no-dev --optimize-autoloader ENTRYPOINT php-fpm diff --git a/docker/php/prod.php.ini b/docker/php/prod/php.ini similarity index 94% rename from docker/php/prod.php.ini rename to docker/php/prod/php.ini index 68d6271..3f15328 100644 --- a/docker/php/prod.php.ini +++ b/docker/php/prod/php.ini @@ -2,6 +2,7 @@ error_reporting = E_ALL expose_php = Off file_uploads = Off +memory_limit = 512M ; upload_max_filesize=10M ; post_max_size=10M diff --git a/docker/php/prod/www.conf b/docker/php/prod/www.conf new file mode 100644 index 0000000..166da9a --- /dev/null +++ b/docker/php/prod/www.conf @@ -0,0 +1,21 @@ +[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