mirror of
https://github.com/truewhile/MeBox.git
synced 2026-10-08 22:36:37 +08:00
docs: simplify docker compose path guide
This commit is contained in:
@@ -194,7 +194,7 @@ MediaStationGo 采用完全开源路线,核心媒体库、刮削、播放、
|
|||||||
|
|
||||||
### Docker Compose 部署(推荐)
|
### Docker Compose 部署(推荐)
|
||||||
|
|
||||||
默认部署现在改成了**新手极简模式**:只需要准备一个 `docker-compose.yml`,再在 `.env` 里填写两个目录。
|
默认部署主线改为**直接编辑 `docker-compose.yml`**:把 NAS/服务器真实目录写进 compose 文件里,路径最直观,也最适合刚接触 NAS、VPS 或 Docker 的用户。
|
||||||
|
|
||||||
#### 1. 创建部署目录
|
#### 1. 创建部署目录
|
||||||
|
|
||||||
@@ -212,27 +212,42 @@ curl -fsSL https://raw.githubusercontent.com/ShukeBta/MediaStationGo/main/docker
|
|||||||
|
|
||||||
如果 GitHub Raw 访问慢,可以手动创建 `docker-compose.yml`,内容以仓库根目录的 `docker-compose.yml` 为准。
|
如果 GitHub Raw 访问慢,可以手动创建 `docker-compose.yml`,内容以仓库根目录的 `docker-compose.yml` 为准。
|
||||||
|
|
||||||
#### 3. 创建 `.env`
|
#### 3. 编辑真实路径
|
||||||
|
|
||||||
只需要改下面两个路径:
|
打开 compose:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cat > .env <<'EOF'
|
vi docker-compose.yml
|
||||||
MEDIASTATION_MEDIA_DIR=/your-nas/media
|
|
||||||
MEDIASTATION_DOWNLOAD_DIR=/your-nas/downloads
|
|
||||||
MEDIASTATION_HTTP_PORT=18080
|
|
||||||
TZ=Asia/Shanghai
|
|
||||||
PUID=1000
|
|
||||||
PGID=1000
|
|
||||||
EOF
|
|
||||||
```
|
```
|
||||||
|
|
||||||
路径怎么填:
|
先找到 `volumes` 里的媒体库和下载目录,把左边改成你的 NAS/服务器真实路径,例如:
|
||||||
|
|
||||||
| 变量 | 填什么 |
|
```yaml
|
||||||
|
volumes:
|
||||||
|
- ./data:/data
|
||||||
|
- ./cache:/cache
|
||||||
|
- /vol1/1000/Docker/moviepilot-v2/media:/media:ro
|
||||||
|
- /vol1/1000/qBittorrent/downloads:/downloads
|
||||||
|
```
|
||||||
|
|
||||||
|
再找到 `environment` 里的路径提示,把同样的真实路径写进去:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
environment:
|
||||||
|
MEDIASTATION_MEDIA_DIR: /vol1/1000/Docker/moviepilot-v2/media
|
||||||
|
MEDIASTATION_MEDIA_CONTAINER_DIR: /media
|
||||||
|
MEDIASTATION_DOWNLOAD_DIR: /vol1/1000/qBittorrent/downloads
|
||||||
|
MEDIASTATION_DOWNLOAD_CONTAINER_DIR: /downloads
|
||||||
|
```
|
||||||
|
|
||||||
|
路径怎么理解:
|
||||||
|
|
||||||
|
| 位置 | 填什么 |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| `MEDIASTATION_MEDIA_DIR` | NAS/服务器上的真实媒体目录,例如 `/volume1/media`、`/mnt/media`、`/vol1/1000/Docker/moviepilot-v2/media` |
|
| `volumes` 左侧媒体路径 | NAS/服务器上的真实媒体目录,例如 `/volume1/media`、`/mnt/media`、`/vol1/1000/Docker/moviepilot-v2/media` |
|
||||||
| `MEDIASTATION_DOWNLOAD_DIR` | NAS/服务器上的真实下载目录,例如 `/volume1/downloads`、`/mnt/downloads`、`/vol1/1000/qBittorrent/downloads` |
|
| `volumes` 左侧下载路径 | NAS/服务器上的真实下载目录,例如 `/volume1/downloads`、`/mnt/downloads`、`/vol1/1000/qBittorrent/downloads` |
|
||||||
|
| `MEDIASTATION_MEDIA_DIR` | 和媒体库 `volumes` 左侧保持一致 |
|
||||||
|
| `MEDIASTATION_DOWNLOAD_DIR` | 和下载目录 `volumes` 左侧保持一致 |
|
||||||
|
|
||||||
> 不要写成 `./vol1/...`。带 `./` 是相对路径,会变成当前部署目录下面的文件夹。
|
> 不要写成 `./vol1/...`。带 `./` 是相对路径,会变成当前部署目录下面的文件夹。
|
||||||
|
|
||||||
@@ -294,15 +309,43 @@ docker compose logs -f mediastation-go
|
|||||||
|
|
||||||
#### 高级配置
|
#### 高级配置
|
||||||
|
|
||||||
默认文件只保留新手必需项。需要直读宿主机原始路径、Telegram 代理、硬件加速、更多转码环境变量时,参考仓库中的高级示例:
|
默认文件只保留新手必需项。需要让容器内也显示宿主机原始路径、Telegram 代理、硬件加速、更多转码环境变量时,参考仓库中的高级示例:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
docker-compose.advanced.yml
|
docker-compose.advanced.yml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 可选:使用 `.env` 管理路径
|
||||||
|
|
||||||
|
如果你已经熟悉 Docker Compose,或者同一份 compose 要在多台机器复用,也可以把路径写进 `.env`。这是可选玩法,不是新手主线:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat > .env <<'EOF'
|
||||||
|
MEDIASTATION_MEDIA_DIR=/vol1/1000/Docker/moviepilot-v2/media
|
||||||
|
MEDIASTATION_DOWNLOAD_DIR=/vol1/1000/qBittorrent/downloads
|
||||||
|
MEDIASTATION_HTTP_PORT=18080
|
||||||
|
TZ=Asia/Shanghai
|
||||||
|
PUID=1000
|
||||||
|
PGID=1000
|
||||||
|
EOF
|
||||||
|
```
|
||||||
|
|
||||||
|
使用 `.env` 时,`docker-compose.yml` 中保持默认变量写法即可:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- ${MEDIASTATION_MEDIA_DIR:-./media}:/media:ro
|
||||||
|
- ${MEDIASTATION_DOWNLOAD_DIR:-./downloads}:/downloads
|
||||||
|
```
|
||||||
|
|
||||||
### 固定版本部署
|
### 固定版本部署
|
||||||
|
|
||||||
生产环境可以固定镜像版本,避免 `latest` 自动变化。只需要在 `.env` 里增加:
|
生产环境可以固定镜像版本,避免 `latest` 自动变化。不使用 `.env` 时,直接把 compose 里的镜像改成固定版本:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
image: ghcr.io/shukebta/mediastation-go:MediaStationGo-v0.0.32
|
||||||
|
```
|
||||||
|
|
||||||
|
如果使用 `.env`,也可以写:
|
||||||
|
|
||||||
```env
|
```env
|
||||||
MEDIASTATION_IMAGE_TAG=MediaStationGo-v0.0.32
|
MEDIASTATION_IMAGE_TAG=MediaStationGo-v0.0.32
|
||||||
@@ -341,7 +384,7 @@ http://host.docker.internal:8085
|
|||||||
|
|
||||||
## 🐳 Docker Compose 配置示例
|
## 🐳 Docker Compose 配置示例
|
||||||
|
|
||||||
项目默认内置极简 `docker-compose.yml`,新手通常只需要下面几个变量:
|
项目默认内置极简 `docker-compose.yml`。新手推荐直接在 `volumes` 左侧写真实路径,并让 `MEDIASTATION_MEDIA_DIR`、`MEDIASTATION_DOWNLOAD_DIR` 与左侧路径保持一致;`.env` 变量适合进阶用户复用配置:
|
||||||
|
|
||||||
| 变量 | 默认值 | 说明 |
|
| 变量 | 默认值 | 说明 |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
|
|||||||
+60
-17
@@ -189,7 +189,7 @@ The current base license is `GPL-3.0`, and contributions are welcome under that
|
|||||||
|
|
||||||
### Docker Compose (Recommended)
|
### Docker Compose (Recommended)
|
||||||
|
|
||||||
The default deployment is now **beginner-friendly**: download `docker-compose.yml`, create one `.env`, and edit only two paths.
|
The recommended beginner path is now **editing real paths directly in `docker-compose.yml`**. This is easier for new NAS, VPS, and Docker users because the host paths are visible in one file.
|
||||||
|
|
||||||
#### 1. Create a deployment directory
|
#### 1. Create a deployment directory
|
||||||
|
|
||||||
@@ -207,25 +207,40 @@ curl -fsSL https://raw.githubusercontent.com/ShukeBta/MediaStationGo/main/docker
|
|||||||
|
|
||||||
If GitHub Raw is slow, create `docker-compose.yml` manually and paste the template from the repository root.
|
If GitHub Raw is slow, create `docker-compose.yml` manually and paste the template from the repository root.
|
||||||
|
|
||||||
#### 3. Create `.env`
|
#### 3. Edit real host paths
|
||||||
|
|
||||||
Only change these two directories:
|
Open the compose file:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cat > .env <<'EOF'
|
vi docker-compose.yml
|
||||||
MEDIASTATION_MEDIA_DIR=/your-nas/media
|
|
||||||
MEDIASTATION_DOWNLOAD_DIR=/your-nas/downloads
|
|
||||||
MEDIASTATION_HTTP_PORT=18080
|
|
||||||
TZ=Asia/Shanghai
|
|
||||||
PUID=1000
|
|
||||||
PGID=1000
|
|
||||||
EOF
|
|
||||||
```
|
```
|
||||||
|
|
||||||
| Variable | Meaning |
|
Find the media and download volume lines, then replace the left side with your real NAS/server paths:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
volumes:
|
||||||
|
- ./data:/data
|
||||||
|
- ./cache:/cache
|
||||||
|
- /vol1/1000/Docker/moviepilot-v2/media:/media:ro
|
||||||
|
- /vol1/1000/qBittorrent/downloads:/downloads
|
||||||
|
```
|
||||||
|
|
||||||
|
Then find the path mapping variables under `environment` and write the same real paths there:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
environment:
|
||||||
|
MEDIASTATION_MEDIA_DIR: /vol1/1000/Docker/moviepilot-v2/media
|
||||||
|
MEDIASTATION_MEDIA_CONTAINER_DIR: /media
|
||||||
|
MEDIASTATION_DOWNLOAD_DIR: /vol1/1000/qBittorrent/downloads
|
||||||
|
MEDIASTATION_DOWNLOAD_CONTAINER_DIR: /downloads
|
||||||
|
```
|
||||||
|
|
||||||
|
| Location | Meaning |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| `MEDIASTATION_MEDIA_DIR` | Real host/NAS media directory, e.g. `/volume1/media`, `/mnt/media` |
|
| Media volume left side | Real host/NAS media directory, e.g. `/volume1/media`, `/mnt/media`, `/vol1/1000/Docker/moviepilot-v2/media` |
|
||||||
| `MEDIASTATION_DOWNLOAD_DIR` | Real host/NAS download directory, e.g. `/volume1/downloads`, `/mnt/downloads` |
|
| Download volume left side | Real host/NAS download directory, e.g. `/volume1/downloads`, `/mnt/downloads`, `/vol1/1000/qBittorrent/downloads` |
|
||||||
|
| `MEDIASTATION_MEDIA_DIR` | Must match the media volume left side |
|
||||||
|
| `MEDIASTATION_DOWNLOAD_DIR` | Must match the download volume left side |
|
||||||
|
|
||||||
> Do not write NAS absolute paths as `./vol1/...`. A leading `./` means a directory under the current compose project.
|
> Do not write NAS absolute paths as `./vol1/...`. A leading `./` means a directory under the current compose project.
|
||||||
|
|
||||||
@@ -280,15 +295,43 @@ chmod +x docker-compose-update.sh
|
|||||||
|
|
||||||
#### Advanced options
|
#### Advanced options
|
||||||
|
|
||||||
The default compose intentionally stays small. For host-path direct mode, Telegram proxy variables, hardware acceleration, and additional transcoding options, see:
|
The default compose intentionally stays small. If you need the container to expose the same raw host paths, Telegram proxy variables, hardware acceleration, or additional transcoding options, see:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
docker-compose.advanced.yml
|
docker-compose.advanced.yml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Optional: Use `.env` for Paths
|
||||||
|
|
||||||
|
If you already know Docker Compose well, or if you reuse the same compose file across multiple machines, you can put paths in `.env`. This is optional, not the beginner path:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat > .env <<'EOF'
|
||||||
|
MEDIASTATION_MEDIA_DIR=/vol1/1000/Docker/moviepilot-v2/media
|
||||||
|
MEDIASTATION_DOWNLOAD_DIR=/vol1/1000/qBittorrent/downloads
|
||||||
|
MEDIASTATION_HTTP_PORT=18080
|
||||||
|
TZ=Asia/Shanghai
|
||||||
|
PUID=1000
|
||||||
|
PGID=1000
|
||||||
|
EOF
|
||||||
|
```
|
||||||
|
|
||||||
|
When using `.env`, keep the default variable-style volume lines in `docker-compose.yml`:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- ${MEDIASTATION_MEDIA_DIR:-./media}:/media:ro
|
||||||
|
- ${MEDIASTATION_DOWNLOAD_DIR:-./downloads}:/downloads
|
||||||
|
```
|
||||||
|
|
||||||
### Fixed Version Deployment
|
### Fixed Version Deployment
|
||||||
|
|
||||||
For production, pin a release tag in `.env`:
|
For production, pin a release tag so `latest` does not change unexpectedly. Without `.env`, edit the image line directly:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
image: ghcr.io/shukebta/mediastation-go:MediaStationGo-v0.0.32
|
||||||
|
```
|
||||||
|
|
||||||
|
If you use `.env`, you can also set:
|
||||||
|
|
||||||
```env
|
```env
|
||||||
MEDIASTATION_IMAGE_TAG=MediaStationGo-v0.0.32
|
MEDIASTATION_IMAGE_TAG=MediaStationGo-v0.0.32
|
||||||
@@ -323,7 +366,7 @@ With smart classification enabled, downloads are saved to folders such as `/down
|
|||||||
|
|
||||||
## 🐳 Docker Compose Configuration
|
## 🐳 Docker Compose Configuration
|
||||||
|
|
||||||
The default repository `docker-compose.yml` is intentionally simple. Most users only need these variables:
|
The default repository `docker-compose.yml` is intentionally simple. Beginners should write real host paths directly on the left side of `volumes`, then keep `MEDIASTATION_MEDIA_DIR` and `MEDIASTATION_DOWNLOAD_DIR` aligned with those same paths. `.env` variables are optional for advanced reuse:
|
||||||
|
|
||||||
| Variable | Default | Description |
|
| Variable | Default | Description |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
|
|||||||
+15
-4
@@ -1,8 +1,17 @@
|
|||||||
# MediaStationGo 极简 Docker Compose 部署文件
|
# MediaStationGo 极简 Docker Compose 部署文件
|
||||||
#
|
#
|
||||||
# 新手只需要改 .env 里的两个路径:
|
# 新手推荐:直接在本文件里填写 NAS/服务器真实路径,不必先创建 .env。
|
||||||
# MEDIASTATION_MEDIA_DIR=/你的媒体目录
|
# 需要改两组位置:
|
||||||
# MEDIASTATION_DOWNLOAD_DIR=/你的下载目录
|
# 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
|
# 启动:docker compose up -d
|
||||||
# 访问:http://<服务器IP>:18080
|
# 访问:http://<服务器IP>:18080
|
||||||
@@ -28,6 +37,7 @@ services:
|
|||||||
- ${MEDIASTATION_CACHE_DIR:-./cache}:/cache
|
- ${MEDIASTATION_CACHE_DIR:-./cache}:/cache
|
||||||
|
|
||||||
# 媒体库与下载目录:左边是宿主机/NAS真实路径,右边是容器内路径。
|
# 媒体库与下载目录:左边是宿主机/NAS真实路径,右边是容器内路径。
|
||||||
|
# 新手部署时推荐直接把左边改成真实绝对路径,不要写 ./vol1/...。
|
||||||
# Web 页面里添加媒体库请填写 /media/电影、/media/电视剧 等容器路径。
|
# Web 页面里添加媒体库请填写 /media/电影、/media/电视剧 等容器路径。
|
||||||
- ${MEDIASTATION_MEDIA_DIR:-./media}:/media:ro
|
- ${MEDIASTATION_MEDIA_DIR:-./media}:/media:ro
|
||||||
- ${MEDIASTATION_DOWNLOAD_DIR:-./downloads}:/downloads
|
- ${MEDIASTATION_DOWNLOAD_DIR:-./downloads}:/downloads
|
||||||
@@ -44,7 +54,8 @@ services:
|
|||||||
MEDIASTATION_DATABASE_DB_PATH: /data/mediastation.db
|
MEDIASTATION_DATABASE_DB_PATH: /data/mediastation.db
|
||||||
MEDIASTATION_CACHE_CACHE_DIR: /cache
|
MEDIASTATION_CACHE_CACHE_DIR: /cache
|
||||||
|
|
||||||
# 路径提示:用于把宿主机路径自动换算成容器路径,避免误填 NAS 原始路径时报不可访问。
|
# 路径提示:这里要和 volumes 左侧真实路径保持一致。
|
||||||
|
# 用于把宿主机路径自动换算成容器路径,避免误填 NAS 原始路径时报不可访问。
|
||||||
MEDIASTATION_MEDIA_DIR: ${MEDIASTATION_MEDIA_DIR:-./media}
|
MEDIASTATION_MEDIA_DIR: ${MEDIASTATION_MEDIA_DIR:-./media}
|
||||||
MEDIASTATION_MEDIA_CONTAINER_DIR: /media
|
MEDIASTATION_MEDIA_CONTAINER_DIR: /media
|
||||||
MEDIASTATION_DOWNLOAD_DIR: ${MEDIASTATION_DOWNLOAD_DIR:-./downloads}
|
MEDIASTATION_DOWNLOAD_DIR: ${MEDIASTATION_DOWNLOAD_DIR:-./downloads}
|
||||||
|
|||||||
Reference in New Issue
Block a user