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: ${KEYDB_UID}:${KEYDB_GID} entrypoint: ["sh", "/entrypoint.sh"] volumes: - ./docker/keydb/keydb.conf:/etc/keydb/keydb.conf - ./docker/keydb/entrypoint.sh:/entrypoint.sh - ./docker/keydb/data/:/data:rw - ./log/keydb:/var/log/keydb/:rw ports: - ${KEYDB_PORT:-6379}:6379 web: <<: *common-attributes container_name: iptv-web build: dockerfile: dockerfile.web.${IPTV_ENV} environment: - 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 - ./playlists/playlists.ini:/var/www/config/playlists.ini - ./log/php:/var/log/php:rw - ./web:/var/www:rw depends_on: - keydb checker: <<: *common-attributes container_name: iptv-checker build: dockerfile: ./dockerfile.checker environment: - CACHE_ENABLED=true # - CACHE_HOST=localhost - CACHE_HOST=iptv-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} depends_on: - keydb nginx: <<: *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