Files
MeBox/docker-compose.yml
T
ShukeBta 8d1d1f18a8 chore: 限制容器日志体积并补全 .gitignore
- docker-compose 增加 json-file 日志上限(10m x 3),防止日志无限增长
  持续消耗宿主机磁盘与 IO
- .gitignore 补充 .tmp-* 运行产物、downloads/、media/、*.pid
- 清理仓库目录中遗留的临时日志、诊断脚本与旧二进制(约 60MB,均未被
  git 跟踪)
2026-06-12 04:32:47 +00:00

87 lines
3.6 KiB
YAML

# MediaStationGo 极简 Docker Compose 部署文件
#
# 新手推荐:直接在本文件里填写 NAS/服务器真实路径,不必先创建 .env。
# 需要改两组位置:
# 1. volumes 里媒体库和下载目录左侧的宿主机路径。
# 2. environment 里 MEDIASTATION_MEDIA_DIR / MEDIASTATION_DOWNLOAD_DIR 的同名真实路径。
#
# 示例:
# - /vol1/1000/Docker/moviepilot-v2/media:/media:ro
# - /vol1/1000/qBittorrent/downloads:/downloads
# MEDIASTATION_MEDIA_DIR: /vol1/1000/Docker/moviepilot-v2/media
# MEDIASTATION_DOWNLOAD_DIR: /vol1/1000/qBittorrent/downloads
#
# .env 是可选高级写法,适合多环境复用;README 后半部分有说明。
#
# 启动: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
init: true
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真实路径,右边是容器内路径。
# 新手部署时推荐直接把左边改成真实绝对路径,不要写 ./vol1/...。
# 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
# 路径提示:这里要和 volumes 左侧真实路径保持一致。
# 用于把宿主机路径自动换算成容器路径,避免误填 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", "busybox wget -qO- http://127.0.0.1:8080/api/health || exit 1"]
interval: 30s
timeout: 10s
retries: 5
start_period: 30s
# 限制容器日志体积:默认 json-file 驱动不设上限,
# 长期运行会持续吃宿主机磁盘与 IO。
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"