Files
iptv-docker/compose.yml
2025-05-06 11:36:10 +08:00

79 lines
2.0 KiB
YAML

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
build:
dockerfile: docker/keydb/dockerfile
user: "${REDIS_UID}:${REDIS_GID}"
volumes:
- ./docker/keydb/keydb.conf:/etc/keydb/keydb.conf
- ./docker/keydb/data/:/data:rw
- ./log/keydb:/var/log/keydb/:rw
ports:
- "${REDIS_PORT:-6379}:6379"
php-main:
<<: *common-attributes
container_name: iptv-main
environment:
- PHP_IDE_CONFIG=serverName=iptv.local
build:
dockerfile: docker/php/${IPTV_ENV}/dockerfile.main
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
- ./log/php:/var/log/php:rw
- ./web:/var/www:rw
depends_on:
- keydb
php-cron:
<<: *common-attributes
container_name: iptv-cron
environment:
- PHP_IDE_CONFIG=serverName=iptv.local
build:
dockerfile: docker/php/${IPTV_ENV}/dockerfile.cron
volumes:
- ./docker/php/${IPTV_ENV}/cron_entrypoint.sh:/entrypoint.sh
- ./docker/php/${IPTV_ENV}/cron_jobs:/etc/cron.d/iptv_jobs
- ./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
- ./web:/var/www:rw
depends_on:
- keydb
nginx:
<<: *common-attributes
container_name: iptv-nginx
build:
dockerfile: docker/nginx/dockerfile
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"
links:
- php-main
depends_on:
- php-main