Files
MeBox/docker-compose.simple.yml
T
2026-07-01 22:54:13 +08:00

136 lines
5.1 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 部署文件(最省心)
#
# 组件:
# 只有 MediaStationGo 一个镜像 + 内置 SQLite,不需要 PostgreSQL / Redis。
#
# 适合:
# 新手、单人使用、低配 NAS / 软路由 / 小主机,想一个镜像跑起来就行。
# 多用户或 Emby 客户端频繁刷新时,再升级到 docker-compose.yml(PostgreSQL)。
#
# 使用方式二选一:
# 1. 保存为 docker-compose.yml 后执行:
# docker compose up -d
# 2. 保留本文件名时执行:
# docker compose -f docker-compose.simple.yml up -d
#
# 访问:
# http://服务器IP:18080
#
# 默认账号:
# admin / admin123
services:
mediastation-go:
# 镜像二选一:
# 方式一:GitHub 仓库镜像 GHCR(默认,推荐)
image: ghcr.io/shukebta/mediastation-go:latest
# 方式二:Docker Hub 备用(GHCR 拉取慢或不可用时使用)
# image: shukbet/mediastationgo:latest
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:
# 程序运行数据:JWT 密钥、运行配置、SQLite 主数据库、旧 SQLite 迁移源。
# 单镜像模式下主数据库就在 ./data,升级/备份时务必保留整个 ./data。
- ./data:/data
# 缓存目录:海报缓存、临时文件等。通常不用备份。
- ./cache:/cache
# 媒体库目录。
# 如果要使用自动整理/重命名/入库,这里必须保持读写,不能加 :ro。
# 新手可先把影片放到当前目录的 ./media。
# NAS 用户把左边改成真实路径,例如:
# - /vol1/1000/Media:/media
# Windows Docker Desktop 示例:
# - D:/Media:/media
- ./media:/media
# 下载目录。
# qB 下载目录、手动整理、自动整理会经常用到。
# NAS 示例:
# - /vol1/1000/Downloads:/downloads
# Windows Docker Desktop 示例:
# - D:/Downloads:/downloads
- ./downloads:/downloads
# 管理面板「系统更新」需要访问 Docker 引擎。
# 需要一键更新 Docker 镜像时取消下一行注释;如果提示权限不足,
# 请确认 PUID/PGID 对 /var/run/docker.sock 有读写权限。
# - /var/run/docker.sock:/var/run/docker.sock
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
# 需要排查订阅/站点搜索/下载器问题时,临时把 level 改成 info 或 debug。
# 详细应用日志会保存在 ./data/logs/app.log,warn/error 也会拆分保存。
MEDIASTATION_LOGGING_LEVEL: warn
MEDIASTATION_LOGGING_FORMAT: console
MEDIASTATION_LOGGING_OUTPUT_PATH: /data/logs
# 单镜像模式:使用内置 SQLite,不连接 PostgreSQL。
# 不要在这里配置 MEDIASTATION_DATABASE_DSN;一旦填了 DSN 就会切回 PostgreSQL。
# 主数据库文件是 ./data/mediastation.db,升级/备份务必保留 ./data。
MEDIASTATION_DATABASE_TYPE: sqlite
MEDIASTATION_DATABASE_DB_PATH: /data/mediastation.db
# 单镜像模式不启用 Redis;缓存直接落在下面这个本地目录,丢失可自动重建。
MEDIASTATION_CACHE_CACHE_DIR: /cache
# 管理面板热更新默认拉取此镜像。
MEDIASTATION_UPDATE_IMAGE: ghcr.io/shukebta/mediastation-go:latest
# 路径换算配置。
# 如果上面 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"