mirror of
https://github.com/truewhile/MeBox.git
synced 2026-10-08 14:26:37 +08:00
Configure default Docker Compose install
This commit is contained in:
@@ -31,7 +31,7 @@ deploy:
|
|||||||
|
|
||||||
# ---- Docker ----
|
# ---- Docker ----
|
||||||
docker:
|
docker:
|
||||||
docker compose up --build -d
|
docker compose up -d
|
||||||
|
|
||||||
docker-stop:
|
docker-stop:
|
||||||
docker compose down
|
docker compose down
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ cp config.example.yaml config.yaml
|
|||||||
docker compose up -d
|
docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
默认地址:`http://<服务器IP>:8080`
|
默认地址:`http://<服务器IP>:18080`
|
||||||
|
|
||||||
默认账号:`admin` / `admin123`
|
默认账号:`admin` / `admin123`
|
||||||
|
|
||||||
@@ -49,7 +49,13 @@ docker compose up -d
|
|||||||
volumes:
|
volumes:
|
||||||
- ./data:/data
|
- ./data:/data
|
||||||
- ./cache:/cache
|
- ./cache:/cache
|
||||||
- /your/media/path:/media:ro
|
- ./media:/media:ro
|
||||||
|
```
|
||||||
|
|
||||||
|
可通过环境变量覆盖默认路径和端口:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
MEDIASTATION_HTTP_PORT=18080 MEDIASTATION_MEDIA_DIR=/your/media/path docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
### 硬件转码
|
### 硬件转码
|
||||||
@@ -137,7 +143,7 @@ go build -o bin/mediastation-go ./cmd/server
|
|||||||
```bash
|
```bash
|
||||||
make build # 构建前后端
|
make build # 构建前后端
|
||||||
make test # Go 测试
|
make test # Go 测试
|
||||||
make docker # docker compose up --build -d
|
make docker # docker compose up -d
|
||||||
make deploy # Linux 一键部署
|
make deploy # Linux 一键部署
|
||||||
make docker-push # buildx 多架构推送
|
make docker-push # buildx 多架构推送
|
||||||
```
|
```
|
||||||
|
|||||||
+9
-3
@@ -37,7 +37,7 @@ cp config.example.yaml config.yaml
|
|||||||
docker compose up -d
|
docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
Default URL: `http://<server-ip>:8080`
|
Default URL: `http://<server-ip>:18080`
|
||||||
|
|
||||||
Default account: `admin` / `admin123`
|
Default account: `admin` / `admin123`
|
||||||
|
|
||||||
@@ -49,7 +49,13 @@ Default account: `admin` / `admin123`
|
|||||||
volumes:
|
volumes:
|
||||||
- ./data:/data
|
- ./data:/data
|
||||||
- ./cache:/cache
|
- ./cache:/cache
|
||||||
- /your/media/path:/media:ro
|
- ./media:/media:ro
|
||||||
|
```
|
||||||
|
|
||||||
|
Override the default port and media path with environment variables:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
MEDIASTATION_HTTP_PORT=18080 MEDIASTATION_MEDIA_DIR=/your/media/path docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
### Hardware Transcoding
|
### Hardware Transcoding
|
||||||
@@ -137,7 +143,7 @@ go build -o bin/mediastation-go ./cmd/server
|
|||||||
```bash
|
```bash
|
||||||
make build # Build frontend and backend
|
make build # Build frontend and backend
|
||||||
make test # Run Go tests
|
make test # Run Go tests
|
||||||
make docker # docker compose up --build -d
|
make docker # docker compose up -d
|
||||||
make deploy # Linux one-click deploy
|
make deploy # Linux one-click deploy
|
||||||
make docker-push # Multi-arch buildx push
|
make docker-push # Multi-arch buildx push
|
||||||
```
|
```
|
||||||
|
|||||||
+36
-36
@@ -1,60 +1,60 @@
|
|||||||
version: '3.8'
|
# MediaStationGo default Docker Compose install file.
|
||||||
|
|
||||||
# ============================================================================
|
|
||||||
# MediaStationGo — recommended NAS deployment.
|
|
||||||
#
|
#
|
||||||
# 1. Edit the volume mappings under `volumes:` so that /media points at your
|
# Quick start:
|
||||||
# actual library root (e.g. /volume1/Media).
|
# 1. docker compose pull
|
||||||
# 2. (Optional) set MEDIASTATION_SECRETS_JWT_SECRET to a strong random string;
|
# 2. docker compose up -d
|
||||||
# otherwise one is auto-generated and persisted to /data/.jwt_secret.
|
# 3. Open http://<host-ip>:18080
|
||||||
# 3. `docker compose up -d` and visit http://<host>:8080 (admin / admin123).
|
#
|
||||||
# ============================================================================
|
# Default account:
|
||||||
|
# admin / admin123
|
||||||
|
#
|
||||||
|
# Local persistent folders created next to this file:
|
||||||
|
# ./data SQLite database, JWT secret, runtime configuration
|
||||||
|
# ./cache posters, scraped artwork, transcode cache
|
||||||
|
# ./media optional local media mount; replace with your NAS path if needed
|
||||||
|
|
||||||
services:
|
services:
|
||||||
mediastation-go:
|
mediastation-go:
|
||||||
build:
|
image: ghcr.io/shukebta/mediastation-go:${MEDIASTATION_IMAGE_TAG:-latest}
|
||||||
context: .
|
pull_policy: always
|
||||||
image: ghcr.io/shukebta/mediastation-go:latest
|
|
||||||
container_name: mediastation-go
|
container_name: mediastation-go
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
ports:
|
ports:
|
||||||
- "8080:8080"
|
- "${MEDIASTATION_HTTP_PORT:-18080}:8080"
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./data:/data
|
- ${MEDIASTATION_DATA_DIR:-./data}:/data
|
||||||
- ./cache:/cache
|
- ${MEDIASTATION_CACHE_DIR:-./cache}:/cache
|
||||||
# Mount your media library into /media. Read-only is fine.
|
- ${MEDIASTATION_MEDIA_DIR:-./media}:/media:ro
|
||||||
# - /volume1/Media:/media:ro
|
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
|
MEDIASTATION_APP_HOST: 0.0.0.0
|
||||||
MEDIASTATION_APP_PORT: 8080
|
MEDIASTATION_APP_PORT: 8080
|
||||||
MEDIASTATION_APP_DATA_DIR: /data
|
MEDIASTATION_APP_DATA_DIR: /data
|
||||||
MEDIASTATION_APP_WEB_DIR: /app/web/dist
|
MEDIASTATION_APP_WEB_DIR: /app/web/dist
|
||||||
MEDIASTATION_DATABASE_DB_PATH: /data/mediastation.db
|
MEDIASTATION_DATABASE_DB_PATH: /data/mediastation.db
|
||||||
MEDIASTATION_CACHE_CACHE_DIR: /cache
|
MEDIASTATION_CACHE_CACHE_DIR: /cache
|
||||||
MEDIASTATION_LOGGING_LEVEL: info
|
MEDIASTATION_LOGGING_LEVEL: ${MEDIASTATION_LOGGING_LEVEL:-info}
|
||||||
# MEDIASTATION_TRANSCODER_ENCODER: vaapi # qsv | vaapi | nvenc | (empty=software)
|
MEDIASTATION_TRANSCODER_ENCODER: ${MEDIASTATION_TRANSCODER_ENCODER:-}
|
||||||
# MEDIASTATION_TRANSCODER_MAX_HEIGHT: 1080
|
MEDIASTATION_TRANSCODER_MAX_HEIGHT: ${MEDIASTATION_TRANSCODER_MAX_HEIGHT:-1080}
|
||||||
# MEDIASTATION_SECRETS_JWT_SECRET: change-me-to-a-strong-random-string
|
MEDIASTATION_APP_CORS_ORIGINS: ${MEDIASTATION_APP_CORS_ORIGINS:-}
|
||||||
# MEDIASTATION_APP_CORS_ORIGINS: '["https://media.example.com"]'
|
PUID: ${PUID:-1000}
|
||||||
PUID: "1000"
|
PGID: ${PGID:-1000}
|
||||||
PGID: "1000"
|
TZ: ${TZ:-Asia/Shanghai}
|
||||||
TZ: Asia/Shanghai
|
|
||||||
|
|
||||||
# Hardware-accelerated transcoding.
|
# Optional Intel QSV / VAAPI hardware acceleration.
|
||||||
# * Intel iGPU (QSV / VAAPI): mount /dev/dri.
|
# Uncomment on Linux/NAS hosts with /dev/dri available, then set:
|
||||||
# * NVIDIA NVENC: switch the runtime to nvidia and add `gpus: all`.
|
# MEDIASTATION_TRANSCODER_ENCODER=vaapi
|
||||||
# devices:
|
# devices:
|
||||||
# - /dev/dri:/dev/dri
|
# - /dev/dri:/dev/dri
|
||||||
# group_add:
|
# group_add:
|
||||||
# - "989" # match render GID on host
|
# - "${RENDER_GID:-989}"
|
||||||
# runtime: nvidia
|
|
||||||
# deploy:
|
# Optional NVIDIA NVENC hardware acceleration.
|
||||||
# resources:
|
# Install NVIDIA Container Toolkit on the host, then set:
|
||||||
# reservations:
|
# MEDIASTATION_TRANSCODER_ENCODER=nvenc
|
||||||
# devices:
|
# gpus: all
|
||||||
# - capabilities: [gpu]
|
|
||||||
|
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8080/api/health || exit 1"]
|
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8080/api/health || exit 1"]
|
||||||
|
|||||||
Reference in New Issue
Block a user