services: isdb-scanner: container_name: ISDBScanner build: context: ./src/ISDBScanner volumes: - ./config/Scanned:/app/Scanned - ./src/ISDBScanner/entrypoint.sh:/app/entrypoint.sh:ro command: [/bin/bash, /app/entrypoint.sh] entrypoint: "" restart: no # ==================== ↓↓↓↓↓ ここからユーザー設定 ↓↓↓↓↓ ==================== environment: - EXCLUDE_PAY_TV=1 # 1 にすると有料放送を除外します # 接続されている全てのデバイスにアクセスする必要があるため、特権モードを有効にする設定。 privileged: true # セキュリティ上の都合で特権モードを利用したくない場合は # ホストマシンに接続されている TV チューナーとカードリーダーのデバイスファイルを個別に指定してください。 # devices: # - /dev/bus:/dev/bus # - /dev/px4video0:/dev/px4video0 # - /dev/px4video1:/dev/px4video1 # - /dev/px4video2:/dev/px4video2 # - /dev/px4video3:/dev/px4video3 # - /dev/px4video4:/dev/px4video4 # - /dev/px4video5:/dev/px4video5 # - /dev/px4video6:/dev/px4video6 # - /dev/px4video7:/dev/px4video7 # ==================== ↑↑↑↑↑ ここまでユーザー設定 ↑↑↑↑↑ ==================== config-setup: container_name: ConfigSetup build: context: ./src volumes: - ./config:/app/config depends_on: isdb-scanner: condition: service_completed_successfully restart: no # ==================== ↓↓↓↓↓ ここからユーザー設定 ↓↓↓↓↓ ==================== # 接続されている全てのデバイスにアクセスする必要があるため、特権モードを有効にする設定。 privileged: true # セキュリティ上の都合で特権モードを利用したくない場合は # ホストマシンに接続されている TV チューナーとカードリーダーのデバイスファイルを個別に指定してください。 # devices: # - /dev/bus:/dev/bus # - /dev/px4video0:/dev/px4video0 # - /dev/px4video1:/dev/px4video1 # - /dev/px4video2:/dev/px4video2 # - /dev/px4video3:/dev/px4video3 # - /dev/px4video4:/dev/px4video4 # - /dev/px4video5:/dev/px4video5 # - /dev/px4video6:/dev/px4video6 # - /dev/px4video7:/dev/px4video7 # ==================== ↑↑↑↑↑ ここまでユーザー設定 ↑↑↑↑↑ ==================== mirakurun: container_name: Mirakurun build: context: ./src/Mirakurun ports: - 40772:40772 expose: - 9229 volumes: - ./config/Scanned/Mirakurun/channels.yml:/app-config/channels.yml:ro - ./config/Scanned/Mirakurun/tuners.yml:/app-config/tuners.yml:ro - ./config/Mirakurun/server.yml:/app-config/server.yml - ./src/Mirakurun/healthcheck.sh:/app/healthcheck.sh:ro - mirakurun-data:/app-data - mirakurun-socket:/var/run/mirakurun environment: TZ: Asia/Tokyo depends_on: isdb-scanner: condition: service_completed_successfully config-setup: condition: service_completed_successfully restart: unless-stopped healthcheck: test: [CMD, /bin/bash, healthcheck.sh] interval: 5m timeout: 2s retries: 3 start_period: 1m start_interval: 2s # ==================== ↓↓↓↓↓ ここからユーザー設定 ↓↓↓↓↓ ==================== # 接続されている全てのデバイスにアクセスする必要があるため、特権モードを有効にする設定。 privileged: true # セキュリティ上の都合で特権モードを利用したくない場合は # ホストマシンに接続されている TV チューナーとカードリーダーのデバイスファイルを個別に指定してください。 # devices: # - /dev/bus:/dev/bus # - /dev/px4video0:/dev/px4video0 # - /dev/px4video1:/dev/px4video1 # - /dev/px4video2:/dev/px4video2 # - /dev/px4video3:/dev/px4video3 # - /dev/px4video4:/dev/px4video4 # - /dev/px4video5:/dev/px4video5 # - /dev/px4video6:/dev/px4video6 # - /dev/px4video7:/dev/px4video7 # ==================== ↑↑↑↑↑ ここまでユーザー設定 ↑↑↑↑↑ ==================== edcb: container_name: EDCB build: context: ./src/EDCB ports: - "5510:5510" expose: - 4510 volumes: - edcb-epg-data:/var/local/edcb/Setting - tv-record-data:/record/TV-Record - ./config/Scanned/EDCB/BonDriver_LinuxMirakc_S(LinuxMirakc).ChSet4.txt:/var/local/edcb/Setting/BonDriver_LinuxMirakc_S(LinuxMirakc).ChSet4.txt:ro - ./config/Scanned/EDCB/BonDriver_LinuxMirakc_T(LinuxMirakc).ChSet4.txt:/var/local/edcb/Setting/BonDriver_LinuxMirakc_T(LinuxMirakc).ChSet4.txt:ro - ./config/Scanned/EDCB/BonDriver_LinuxMirakc(LinuxMirakc).ChSet4.txt:/var/local/edcb/Setting/BonDriver_LinuxMirakc(LinuxMirakc).ChSet4.txt:ro - ./config/Scanned/EDCB/ChSet5.txt:/var/local/edcb/Setting/ChSet5.txt:ro - ./config/EDCB/Common.ini:/var/local/edcb/Common.ini - ./config/EDCB/EpgDataCap_Bon.ini:/var/local/edcb/EpgDataCap_Bon.ini - ./config/EDCB/EpgTimerSrv.ini:/var/local/edcb/EpgTimerSrv.ini - ./config/EDCB/bat:/var/local/edcb/bat - ./config/EDCB/RecEnd.sh:/var/local/edcb/RecEnd.sh:ro - ./src/EDCB/healthcheck.sh:/var/local/edcb/healthcheck.sh:ro - mirakurun-socket:/var/run/mirakurun depends_on: mirakurun: condition: service_healthy config-setup: condition: service_completed_successfully restart: unless-stopped healthcheck: test: [CMD, /bin/bash, healthcheck.sh] interval: 5m timeout: 2s retries: 3 start_period: 1m start_interval: 2s edcb-fetcher: container_name: EDCBFetcher build: context: ./src/EDCBFetcher environment: - BASE_URL=http://edcb:5510 depends_on: edcb: condition: service_healthy restart: no konomitv: container_name: KonomiTV build: context: ./src/KonomiTV/KonomiTV ports: - 7000:7000 depends_on: mirakurun: condition: service_healthy edcb: condition: service_healthy edcb-fetcher: condition: service_completed_successfully config-setup: condition: service_completed_successfully restart: unless-stopped volumes: - konomitv-data:/code/server/data/ - tv-record-data:/host-rootfs/record/TV-Record - tv-encode-data:/host-rootfs/record/TV-Encode - tv-capture-data:/host-rootfs/record/TV-Capture - ./config/KonomiTV/config.yaml:/code/config.yaml - ./src/KonomiTV/healthcheck.sh:/code/server/healthcheck.sh:so healthcheck: test: [CMD, /bin/bash, healthcheck.sh] interval: 5m timeout: 2s retries: 3 start_period: 1m start_interval: 2s # ==================== ↓↓↓↓↓ ここからユーザー設定 ↓↓↓↓↓ ==================== # QSVEncC / VCEEncC を利用する (Intel Graphics / AMD GPU にアクセスする) ために必要な設定 # VCEEncC (AMD GPU) を利用するには、別途 AMDGPU-PRO Driver のインストールが必要です。 # GPU が1個も搭載されていない (/dev/dri/ 以下のデバイスファイルが存在しない) 特殊な環境では、 # コメントアウトしてこの設定を無効にしないと、KonomiTV サーバーを起動できなくなります。 devices: - /dev/dri/:/dev/dri/ # NVEncC を利用する (NVIDIA GPU にアクセスする) ために必要な設定 # NVEncC (NVIDIA GPU) を利用するには、別途 NVIDIA Graphics Driver と # NVIDIA Container Toolkit のインストールが必要です。 # コメントアウトを解除してこの設定を有効にすると、NVIDIA GPU が搭載されていない環境では KonomiTV サーバーを起動できなくなります。 # deploy: # resources: # reservations: # devices: # - driver: nvidia # count: all # capabilities: [compute, utility, video] # ==================== ↑↑↑↑↑ ここまでユーザー設定 ↑↑↑↑↑ ==================== amatsukaze: image: amatsukaze container_name: Amatsukaze build: context: ./src/Amatsukaze/Amatsukaze/docker restart: unless-stopped ports: - "32768:32768" environment: - RUN_UID=1000 - RUN_GID=1000 volumes: - ./config/Amatsukaze/data/avs:/app/avs - ./config/Amatsukaze/data/bat:/app/bat - ./config/Amatsukaze/data/drcs:/app/drcs - ./config/Amatsukaze/data/JL:/app/JL - ./config/Amatsukaze/data/logo:/app/logo - ./config/Amatsukaze/data/profile:/app/profile - ./src/Amatsukaze/healthcheck.sh:/healthcheck.sh - amatsukaze-data:/app/data - amatsukaze-config:/app/config - tv-record-data:/record/TV-Record - tv-encode-data:/record/TV-Encode depends_on: config-setup: condition: service_completed_successfully healthcheck: test: [CMD, /bin/bash, /healthcheck.sh] interval: 5m timeout: 2s retries: 3 start_period: 1m start_interval: 2s # ==================== ↓↓↓↓↓ ここからユーザー設定 ↓↓↓↓↓ ==================== # QSVEncC / VCEEncC を利用する (Intel Graphics / AMD GPU にアクセスする) ために必要な設定 # VCEEncC (AMD GPU) を利用するには、別途 AMDGPU-PRO Driver のインストールが必要です。 # GPU が1個も搭載されていない (/dev/dri/ 以下のデバイスファイルが存在しない) 特殊な環境では、 # コメントアウトしてこの設定を無効にしないと、KonomiTV サーバーを起動できなくなります。 devices: - /dev/dri/:/dev/dri/ # NVEncC を利用する (NVIDIA GPU にアクセスする) ために必要な設定 # NVEncC (NVIDIA GPU) を利用するには、別途 NVIDIA Graphics Driver と # NVIDIA Container Toolkit のインストールが必要です。 # コメントアウトを解除してこの設定を有効にすると、NVIDIA GPU が搭載されていない環境では KonomiTV サーバーを起動できなくなります。 # deploy: # resources: # reservations: # devices: # - driver: nvidia # count: all # capabilities: [compute, utility, video] # ==================== ↑↑↑↑↑ ここまでユーザー設定 ↑↑↑↑↑ ==================== # ==================== ↓↓↓↓↓ ここからユーザー設定 ↓↓↓↓↓ ==================== # NFS サーバーコンテナを追加する設定 # Linux クライアントから NFS マウントで録画フォルダにアクセスしたい場合に利用します。 # 不要なら削除してください。 nfs-record: image: itsthenetwork/nfs-server-alpine:latest container_name: nfs-record ports: - "2049:2049" environment: - TZ=Asia/Tokyo - SHARED_DIRECTORY=/export/share volumes: - tv-record-data:/export/share privileged: true restart: unless-stopped nfs-encode: image: itsthenetwork/nfs-server-alpine:latest container_name: nfs-encode ports: - "2050:2049" environment: - TZ=Asia/Tokyo - SHARED_DIRECTORY=/export/share volumes: - tv-encode-data:/export/share privileged: true restart: unless-stopped nfs-capture: image: itsthenetwork/nfs-server-alpine:latest container_name: nfs-capture ports: - "2051:2049" environment: - TZ=Asia/Tokyo - SHARED_DIRECTORY=/export/share volumes: - tv-capture-data:/export/share privileged: true restart: unless-stopped # ==================== ↑↑↑↑↑ ここまでユーザー設定 ↑↑↑↑↑ ==================== # ==================== ↓↓↓↓↓ ここからユーザー設定 ↓↓↓↓↓ ==================== # Samba サーバーコンテナを追加する設定 # Windows クライアントから SMB マウントで録画フォルダにアクセスしたい場合に利用します。 # 不要なら削除してください。 samba: image: dperson/samba:latest container_name: samba ports: - "445:445" environment: TZ: Asia/Tokyo PERMISSIONS: "true" USER: "admin;password" SHARE: "shares;/shares;yes;no;no;admin" WORKGROUP: "WORKGROUP" volumes: - tv-record-data:/shares/TV-Record - tv-encode-data:/shares/TV-Encode - tv-capture-data:/shares/TV-Capture restart: unless-stopped # ==================== ↑↑↑↑↑ ここまでユーザー設定 ↑↑↑↑↑ ==================== # ==================== ↓↓↓↓↓ ここからユーザー設定 ↓↓↓↓↓ ==================== # Nginx コンテナを追加する設定 # VLC などのクライアントから動画ファイルを直接再生したい場合に利用します。 # 不要なら削除してください。 nginx: image: nginx:alpine container_name: nginx ports: - "8080:80" volumes: - tv-record-data:/srv/www/TV-Record:ro - tv-encode-data:/srv/www/TV-Encode:ro - tv-capture-data:/srv/www/TV-Capture:ro - ./src/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf:ro restart: unless-stopped # ==================== ↑↑↑↑↑ ここまでユーザー設定 ↑↑↑↑↑ ==================== volumes: mirakurun-data: name: mirakurun-data mirakurun-socket: name: mirakurun-socket edcb-epg-data: name: edcb-epg-data konomitv-data: name: konomitv-data amatsukaze-data: name: amatsukaze-data amatsukaze-config: name: amatsukaze-config # ==================== ↓↓↓↓↓ ここからユーザー設定 ↓↓↓↓↓ ==================== tv-record-data: name: tv-record-data driver: local driver_opts: type: none device: ./record/TV-Record o: bind tv-encode-data: name: tv-encode-data driver: local driver_opts: type: none device: ./record/TV-Encode o: bind tv-capture-data: name: tv-capture-data driver: local driver_opts: type: none device: ./record/TV-Capture o: bind # ==================== ↑↑↑↑↑ ここまでユーザー設定 ↑↑↑↑↑ ====================