Files
MeBox/docker-compose.yml
T

105 lines
3.2 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# MediaStationGo 最简单 Docker Compose 部署文件
#
# 新手建议:
# 1. 不用 .env。
# 2. 直接改本文件。
# 3. 第一次可以不改路径,先用当前目录下的 ./media 和 ./downloads 体验。
#
# 启动:
# docker compose up -d
#
# 访问:
# http://服务器IP:18080
#
# 默认账号:
# admin / admin123
services:
mediastation-go:
image: ghcr.io/shukebta/mediastation-go:latest
container_name: mediastation-go
restart: unless-stopped
init: true
# 浏览器访问端口。
# 如果 18080 被占用,可以改成 "19011:8080" 之类。
ports:
- "18080:8080"
# 让容器可以访问宿主机上的 qBittorrent。
# qB 地址通常可填:http://host.docker.internal:8085
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
# 程序数据:数据库、账号、设置都在这里。升级前主要备份它。
- ./data:/data
# 缓存目录:海报缓存、临时文件等。通常不用备份。
- ./cache:/cache
# 媒体库目录。
# 新手可先把影片放到当前目录的 ./media。
# NAS 用户把左边改成真实路径,例如:
# - /vol1/1000/Media:/media:ro
# Windows Docker Desktop 示例:
# - D:/Media:/media:ro
- ./media:/media:ro
# 下载目录。
# qB 下载目录、手动整理、自动整理会经常用到。
# NAS 示例:
# - /vol1/1000/Downloads:/downloads
# Windows Docker Desktop 示例:
# - D:/Downloads:/downloads
- ./downloads:/downloads
environment:
TZ: Asia/Shanghai
# Linux/NAS 用户权限。一般 1000 就可以。
# 如果写入文件权限不对,再改成宿主机实际用户的 uid/gid。
PUID: "1000"
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 的 ./media 改成 /vol1/1000/Media,
# 这里也要改成同一个宿主机真实路径。
MEDIASTATION_MEDIA_DIR: ./media
MEDIASTATION_MEDIA_CONTAINER_DIR: /media
# 如果上面 volumes 的 ./downloads 改成 /vol1/1000/Downloads,
# 这里也要改成同一个宿主机真实路径。
MEDIASTATION_DOWNLOAD_DIR: ./downloads
MEDIASTATION_DOWNLOAD_CONTAINER_DIR: /downloads
# NAS 友好的低负载默认值。
MEDIASTATION_TRANSCODER_ENABLED: "true"
MEDIASTATION_TRANSCODER_HARDWARE_ACCEL: "false"
MEDIASTATION_TRANSCODER_REALTIME: "true"
MEDIASTATION_TRANSCODER_THREADS: "2"
MEDIASTATION_TRANSCODER_MAX_CONCURRENT: "1"
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
# 限制 Docker 日志大小,避免长期运行把磁盘写满。
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"