Files
MeBox/docker-compose.yml
T
2026-06-09 14:05:26 +08:00

67 lines
2.7 KiB
YAML

# MediaStationGo 极简 Docker Compose 部署文件
#
# 新手只需要改 .env 里的两个路径:
# MEDIASTATION_MEDIA_DIR=/你的媒体目录
# MEDIASTATION_DOWNLOAD_DIR=/你的下载目录
#
# 启动:docker compose up -d
# 访问:http://<服务器IP>:18080
# 默认账号:admin / admin123
services:
mediastation-go:
image: ghcr.io/shukebta/mediastation-go:${MEDIASTATION_IMAGE_TAG:-latest}
container_name: mediastation-go
restart: unless-stopped
pull_policy: missing
ports:
- "${MEDIASTATION_HTTP_PORT:-18080}:8080"
# 让容器可以用 http://host.docker.internal:端口 访问宿主机上的 qBittorrent 等服务。
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
# 程序数据与缓存:放在部署目录下,方便备份。
- ${MEDIASTATION_DATA_DIR:-./data}:/data
- ${MEDIASTATION_CACHE_DIR:-./cache}:/cache
# 媒体库与下载目录:左边是宿主机/NAS真实路径,右边是容器内路径。
# Web 页面里添加媒体库请填写 /media/电影、/media/电视剧 等容器路径。
- ${MEDIASTATION_MEDIA_DIR:-./media}:/media:ro
- ${MEDIASTATION_DOWNLOAD_DIR:-./downloads}:/downloads
environment:
TZ: ${TZ:-Asia/Shanghai}
PUID: ${PUID:-1000}
PGID: ${PGID:-1000}
MEDIASTATION_APP_HOST: 0.0.0.0
MEDIASTATION_APP_PORT: 8080
MEDIASTATION_APP_WEB_DIR: /app/web/dist
MEDIASTATION_APP_DATA_DIR: /data
MEDIASTATION_DATABASE_DB_PATH: /data/mediastation.db
MEDIASTATION_CACHE_CACHE_DIR: /cache
# 路径提示:用于把宿主机路径自动换算成容器路径,避免误填 NAS 原始路径时报不可访问。
MEDIASTATION_MEDIA_DIR: ${MEDIASTATION_MEDIA_DIR:-./media}
MEDIASTATION_MEDIA_CONTAINER_DIR: /media
MEDIASTATION_DOWNLOAD_DIR: ${MEDIASTATION_DOWNLOAD_DIR:-./downloads}
MEDIASTATION_DOWNLOAD_CONTAINER_DIR: /downloads
# NAS 友好的低负载转码默认值;可在系统设置里继续调整。
MEDIASTATION_TRANSCODER_ENABLED: ${MEDIASTATION_TRANSCODER_ENABLED:-true}
MEDIASTATION_TRANSCODER_HARDWARE_ACCEL: ${MEDIASTATION_TRANSCODER_HARDWARE_ACCEL:-false}
MEDIASTATION_TRANSCODER_REALTIME: ${MEDIASTATION_TRANSCODER_REALTIME:-true}
MEDIASTATION_TRANSCODER_THREADS: ${MEDIASTATION_TRANSCODER_THREADS:-2}
MEDIASTATION_TRANSCODER_MAX_CONCURRENT: ${MEDIASTATION_TRANSCODER_MAX_CONCURRENT:-1}
MEDIASTATION_TRANSCODER_IDLE_TIMEOUT_SECONDS: ${MEDIASTATION_TRANSCODER_IDLE_TIMEOUT_SECONDS:-120}
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8080/api/health || exit 1"]
interval: 30s
timeout: 10s
retries: 5
start_period: 30s