Перевод checker и docs на контейнеры

This commit is contained in:
2025-11-23 01:40:42 +08:00
parent bdbd9f9e57
commit 448eada6e9
5 changed files with 58 additions and 99 deletions

View File

@@ -1,5 +1,7 @@
name: m3u-su
networks:
iptv:
m3u-su-network:
driver: bridge
x-common-attributes: &common-attributes
@@ -12,14 +14,28 @@ x-common-attributes: &common-attributes
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
networks:
- iptv
- m3u-su-network
services:
nginx:
<<: *common-attributes
container_name: m3u-su-nginx
image: nginx:latest
pull_policy: always
volumes:
- ./docker/nginx/vhost.conf:/etc/nginx/conf.d/default.conf:ro
- ./log/nginx:/var/log/nginx:rw
- ./web:/var/www:ro
ports:
- 8080:80
depends_on:
- web
keydb:
<<: *common-attributes
container_name: iptv-keydb
container_name: m3u-su-keydb
image: eqalpha/keydb:latest
pull_policy: always
user: ${KEYDB_UID}:${KEYDB_GID}
entrypoint: ["sh", "/entrypoint.sh"]
volumes:
@@ -31,11 +47,12 @@ services:
web:
<<: *common-attributes
container_name: iptv-web
container_name: m3u-su-web
build:
context: .
dockerfile: dockerfile.web.${IPTV_ENV}
environment:
- PHP_IDE_CONFIG=serverName=iptv.local
- PHP_IDE_CONFIG=serverName=m3u-su.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
@@ -47,41 +64,26 @@ services:
checker:
<<: *common-attributes
container_name: iptv-checker
build:
dockerfile: ./dockerfile.checker
container_name: m3u-su-checker
image: git.axenov.dev/iptv/iptvc:latest
pull_policy: always
command: ["check", "--repeat", "0", "--every", "${CHECKER_WAIT:-60}"]
environment:
- CACHE_ENABLED=true
# - CACHE_HOST=localhost
- CACHE_HOST=iptv-keydb
- CACHE_HOST=m3u-su-keydb
- CACHE_PORT=${KEYDB_PORT:-6379}
- CACHE_USERNAME=${KEYDB_USERNAME}
- CACHE_PASSWORD=${KEYDB_PASSWORD}
- CACHE_DB=${CHECKER_DB:-0}
- CACHE_TTL=${CHECKER_TTL:-1800}
- CHECKER_WAIT=${CHECKER_WAIT:-60}
- CHECKER_INIFILE=${CHECKER_INIFILE:-/app/playlists.ini}
- CHECKER_TAGFILE=${CHECKER_TAGFILE:-/app/channels.json}
volumes:
- ./docker/checker/entrypoint.sh:/entrypoint.sh
- ./iptvc/:/app/
- ./playlists/playlists.ini:${CHECKER_INIFILE:-/app/playlists.ini}
- ./playlists/channels.json:${CHECKER_TAGFILE:-/app/channels.json}
- ./playlists/playlists.ini:/app/playlists.ini
- ./playlists/channels.json:/app/channels.json
depends_on:
- keydb
nginx:
docs:
<<: *common-attributes
container_name: iptv-nginx
image: nginx:latest
volumes:
- ./docker/nginx/vhost.conf:/etc/nginx/conf.d/default.conf:ro
- ./log/nginx:/var/log/nginx:rw
- ./web:/var/www:ro
- ./docs/site:/usr/share/nginx/html/doc-files:ro
ports:
- 8080:80
links:
- web
depends_on:
- web
container_name: m3u-su-docs
image: git.axenov.dev/iptv/m3u-su-docs:latest
pull_policy: always