Доработка docker-окружения

- перенос конфигов для web в его папку
- префикс m3u-su- возвращён к на iptv-
- уточнения по сборке docs и мелочи по остальным
This commit is contained in:
2026-01-03 01:14:19 +08:00
parent 448eada6e9
commit b5ed25d542
8 changed files with 26 additions and 178 deletions

View File

@@ -1,7 +1,7 @@
name: m3u-su
name: iptv
networks:
m3u-su-network:
iptv-network:
driver: bridge
x-common-attributes: &common-attributes
@@ -14,12 +14,12 @@ x-common-attributes: &common-attributes
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
networks:
- m3u-su-network
- iptv-network
services:
nginx:
<<: *common-attributes
container_name: m3u-su-nginx
container_name: iptv-nginx
image: nginx:latest
pull_policy: always
volumes:
@@ -27,13 +27,13 @@ services:
- ./log/nginx:/var/log/nginx:rw
- ./web:/var/www:ro
ports:
- 8080:80
- 3000:80
depends_on:
- web
keydb:
<<: *common-attributes
container_name: m3u-su-keydb
container_name: iptv-keydb
image: eqalpha/keydb:latest
pull_policy: always
user: ${KEYDB_UID}:${KEYDB_GID}
@@ -47,15 +47,16 @@ services:
web:
<<: *common-attributes
container_name: m3u-su-web
container_name: iptv-web
build:
context: .
dockerfile: dockerfile.web.${IPTV_ENV}
context: ./web
dockerfile: Dockerfile
target: iptv-web-${IPTV_ENV}
environment:
- PHP_IDE_CONFIG=serverName=m3u-su.local
- PHP_IDE_CONFIG=serverName=iptv.local
volumes:
- ./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
- ./web/docker/${IPTV_ENV}/www.conf:/usr/local/etc/php-fpm.d/www.conf:ro
- ./web/docker/${IPTV_ENV}/php.ini:/usr/local/etc/php/conf.d/php.ini:ro
- ./playlists/playlists.ini:/var/www/config/playlists.ini
- ./log/php:/var/log/php:rw
- ./web:/var/www:rw
@@ -64,13 +65,15 @@ services:
checker:
<<: *common-attributes
container_name: m3u-su-checker
container_name: iptv-checker
image: git.axenov.dev/iptv/iptvc:latest
pull_policy: always
build:
context: ./iptvc
dockerfile: Dockerfile
command: ["check", "--repeat", "0", "--every", "${CHECKER_WAIT:-60}"]
environment:
- CACHE_ENABLED=true
- CACHE_HOST=m3u-su-keydb
- CACHE_HOST=iptv-keydb
- CACHE_PORT=${KEYDB_PORT:-6379}
- CACHE_USERNAME=${KEYDB_USERNAME}
- CACHE_PASSWORD=${KEYDB_PASSWORD}
@@ -79,11 +82,13 @@ services:
volumes:
- ./playlists/playlists.ini:/app/playlists.ini
- ./playlists/channels.json:/app/channels.json
depends_on:
- keydb
docs:
<<: *common-attributes
container_name: m3u-su-docs
image: git.axenov.dev/iptv/m3u-su-docs:latest
pull_policy: always
container_name: iptv-docs
image: git.axenov.dev/iptv/iptv-docs:latest
build:
context: ./docs
dockerfile: Dockerfile
ports:
- 3001:80

View File

@@ -1,5 +1,5 @@
server {
server_name m3u-su.local;
server_name iptv.local;
listen 80;
index index.html index.php;
# access_log /var/log/nginx/access.log;

View File

@@ -1,26 +0,0 @@
[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 = *

View File

@@ -1,22 +0,0 @@
[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

View File

@@ -1,16 +0,0 @@
[PHP]
error_reporting = E_ALL
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

View File

@@ -1,22 +0,0 @@
[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

View File

@@ -1,37 +0,0 @@
FROM php:8.4-fpm AS iptv-php-dev
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/xdebug
# https://pecl.php.net/package/redis
RUN pecl channel-update pecl.php.net && \
pecl install \
xdebug-3.4.1 \
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 --from=composer /usr/bin/composer /usr/local/bin/composer
RUN git config --global --add safe.directory /var/www
EXPOSE 9000
WORKDIR /var/www
CMD composer install && \
php-fpm --nodaemonize

View File

@@ -1,34 +0,0 @@
FROM php:8.4-fpm AS iptv-php-prod
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 --from=composer /usr/bin/composer /usr/local/bin/composer
RUN git config --global --add safe.directory /var/www
EXPOSE 9000
WORKDIR /var/www/
CMD composer install && \
php-fpm --nodaemonize