diff --git a/compose.yml b/compose.yml index 0778fad..bec5870 100644 --- a/compose.yml +++ b/compose.yml @@ -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 diff --git a/docker/nginx/vhost.conf b/docker/nginx/vhost.conf index b8c90a8..d7f7b37 100644 --- a/docker/nginx/vhost.conf +++ b/docker/nginx/vhost.conf @@ -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; diff --git a/docker/php/dev/php.ini b/docker/php/dev/php.ini deleted file mode 100644 index c6aa22c..0000000 --- a/docker/php/dev/php.ini +++ /dev/null @@ -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 = * diff --git a/docker/php/dev/www.conf b/docker/php/dev/www.conf deleted file mode 100644 index 3a6023d..0000000 --- a/docker/php/dev/www.conf +++ /dev/null @@ -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 diff --git a/docker/php/prod/php.ini b/docker/php/prod/php.ini deleted file mode 100644 index 3f15328..0000000 --- a/docker/php/prod/php.ini +++ /dev/null @@ -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 diff --git a/docker/php/prod/www.conf b/docker/php/prod/www.conf deleted file mode 100644 index 3a6023d..0000000 --- a/docker/php/prod/www.conf +++ /dev/null @@ -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 diff --git a/dockerfile.web.dev b/dockerfile.web.dev deleted file mode 100644 index 9beb203..0000000 --- a/dockerfile.web.dev +++ /dev/null @@ -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 diff --git a/dockerfile.web.prod b/dockerfile.web.prod deleted file mode 100644 index 10000d5..0000000 --- a/dockerfile.web.prod +++ /dev/null @@ -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