61 lines
1.5 KiB
YAML
61 lines
1.5 KiB
YAML
name: iptv
|
|
|
|
networks:
|
|
iptvc-network:
|
|
driver: bridge
|
|
|
|
x-common-attributes: &common-attributes
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- /etc/timezone:/etc/timezone:ro
|
|
extra_hosts: [host.docker.internal:host-gateway]
|
|
networks: [iptvc-network]
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-file: 5
|
|
max-size: 50m
|
|
|
|
services:
|
|
iptvc:
|
|
<<: *common-attributes
|
|
container_name: iptvc
|
|
image: git.axenov.dev/iptv/iptvc:latest
|
|
build:
|
|
context: ./iptvc
|
|
dockerfile: Dockerfile
|
|
env_file: [.env]
|
|
command: ["serve", "--check", "--repeat", "0"]
|
|
ports: [8800:8800]
|
|
volumes:
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- ./playlists.ini:/app/playlists.ini:ro
|
|
- ./channels.json:/app/channels.json:ro
|
|
- ./config.yml:/app/config.yml:ro
|
|
depends_on: [keydb]
|
|
|
|
docs:
|
|
<<: *common-attributes
|
|
container_name: iptv-docs
|
|
image: git.axenov.dev/iptv/iptv-docs:latest
|
|
build:
|
|
context: ./docs
|
|
dockerfile: Dockerfile
|
|
ports: [8801:8801]
|
|
|
|
keydb:
|
|
<<: *common-attributes
|
|
container_name: iptv-keydb
|
|
image: eqalpha/keydb:latest
|
|
pull_policy: always
|
|
user: ${KEYDB_UID}:${KEYDB_GID}
|
|
entrypoint: ["sh", "/entrypoint.sh"]
|
|
volumes:
|
|
- ./docker/keydb/entrypoint.sh:/entrypoint.sh
|
|
- ./docker/keydb/keydb.conf:/etc/keydb/keydb.conf
|
|
- ./docker/keydb/data/:/data:rw
|
|
ports: [${KEYDB_PORT:-6379}:6379]
|
|
|