2026-08-21 10:57:17 +08:00
|
|
|
|
services:
|
|
|
|
|
|
360-player:
|
|
|
|
|
|
container_name: 360-player
|
|
|
|
|
|
build:
|
|
|
|
|
|
context: .
|
|
|
|
|
|
dockerfile: Dockerfile
|
|
|
|
|
|
image: 360-player:latest
|
|
|
|
|
|
restart: unless-stopped
|
2026-08-21 15:01:56 +08:00
|
|
|
|
# 不對外開埠:只透過容器內網讓 nginx 連得到,外面一律走 HTTPS。
|
|
|
|
|
|
# 若要在區網用 IP 直連明文(會省掉憑證警告),自行加回:
|
|
|
|
|
|
# ports:
|
|
|
|
|
|
# - "127.0.0.1:${PORT:-8360}:8360" # 或綁區網 IP
|
2026-08-21 11:07:29 +08:00
|
|
|
|
expose:
|
|
|
|
|
|
- "8360"
|
2026-08-21 10:57:17 +08:00
|
|
|
|
volumes:
|
|
|
|
|
|
# 影片資料夾(NAS 上的實際路徑)→ 容器內 /videos,唯讀
|
|
|
|
|
|
- "${VIDEO_DIR:-/volume1/photo/Badminton}:/videos:ro"
|
|
|
|
|
|
# 轉檔輸出 + probe 快取 → 容器內 /cache(需要可寫)
|
|
|
|
|
|
- "${CACHE_DIR:-./cache}:/cache"
|
|
|
|
|
|
environment:
|
|
|
|
|
|
TZ: ${TZ:-Asia/Taipei}
|
|
|
|
|
|
# CPU 轉檔時 libx264 的 preset;NAS CPU 弱可改 superfast / ultrafast(檔案會稍大)
|
|
|
|
|
|
X264_PRESET: ${X264_PRESET:-veryfast}
|
|
|
|
|
|
# 本機為 Intel J4025(UHD 600),已啟用 VAAPI 硬體轉檔;
|
|
|
|
|
|
# 換到沒有 /dev/dri 的機器時要把下面兩行註解掉,否則容器起不來。
|
|
|
|
|
|
devices:
|
|
|
|
|
|
- /dev/dri:/dev/dri
|
2026-08-21 11:07:29 +08:00
|
|
|
|
|
|
|
|
|
|
360-player-web:
|
|
|
|
|
|
container_name: 360-player-web
|
|
|
|
|
|
build:
|
|
|
|
|
|
context: .
|
|
|
|
|
|
dockerfile: docker/nginx/Dockerfile
|
|
|
|
|
|
image: 360-player-web:latest
|
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
|
depends_on:
|
|
|
|
|
|
- 360-player
|
|
|
|
|
|
ports:
|
|
|
|
|
|
- "${HTTPS_PORT:-8443}:8443"
|
|
|
|
|
|
environment:
|
|
|
|
|
|
TZ: ${TZ:-Asia/Taipei}
|
|
|
|
|
|
NGINX_PORT: 8443
|
|
|
|
|
|
NGINX_SERVER_NAME: ${NGINX_SERVER_NAME:-_}
|
|
|
|
|
|
SSL_CERT_DIR: /etc/nginx/certs
|
|
|
|
|
|
SSL_CERT_FILE_NAME: ${SSL_CERT_FILE_NAME:-cert.pem}
|
|
|
|
|
|
SSL_CHAIN_FILE_NAME: ${SSL_CHAIN_FILE_NAME:-chain.pem}
|
|
|
|
|
|
SSL_KEY_FILE_NAME: ${SSL_KEY_FILE_NAME:-privkey.pem}
|
|
|
|
|
|
UPSTREAM_HOST: 360-player
|
|
|
|
|
|
UPSTREAM_PORT: 8360
|
|
|
|
|
|
volumes:
|
|
|
|
|
|
# 憑證來源與 badminton-scoreboard 共用;DSM 續期後 entrypoint 會自動 reload
|
|
|
|
|
|
- "${SSL_CERT_DIR:-/volume1/docker/certs}:/etc/nginx/certs:ro"
|