轻量级家庭媒体服务器 | Go+React+SQLite+AI大模型 | 自动刮削 | 转码 + 硬件加速
10K+
基于 Go + React 构建的轻量级家庭媒体服务器,类似 Jellyfin / Emby,专为 NAS 部署优化。 单二进制 + SQLite,Docker 一键启动,零配置即可使用。
🖥️ PC 桌面客户端 已上线,支持 MKV / HEVC / HDR / 杜比视界 / DTS / Atmos 零转码播放 → 详见 desktop/README.md

S01E01 / 1x01 / 第01集 / EP01;TMDb 电影系列合集git clone https://github.com/your-repo/nowen-video.git
cd nowen-video
docker-compose up -d
打开浏览器访问 http://你的主机IP:8080 — 默认管理员:admin / admin123
编辑 docker-compose.yml:
services:
nowen-video:
image: nowen-video:latest
container_name: nowen-video
ports:
- "8080:8080"
environment:
- PUID=1000 # 通过 `id` 命令查看
- PGID=1000
- NOWEN_SECRETS_JWT_SECRET=change-me-please # ⚠️ 必须修改
- TZ=Asia/Shanghai
volumes:
- ./data:/app/data # 数据库与配置
- ./cache:/app/cache # 转码缓存
- /volume1/Media:/media:ro # 你的媒体目录
devices:
- /dev/dri:/dev/dri # 可选:硬件加速
restart: unless-stopped
容器参数说明:
| 环境变量 / 参数 | 默认值 | 说明 |
|---|---|---|
PUID / PGID | 1000 | 运行用户的 UID/GID(必须匹配宿主机媒体目录权限) |
TZ | UTC | 时区,建议 Asia/Shanghai |
NOWEN_APP_PORT | 8080 | HTTP 端口 |
NOWEN_SECRETS_JWT_SECRET | (必填) | JWT 签名密钥 — 首次部署务必修改 |
NOWEN_APP_DATA_DIR | /app/data | 数据目录(数据库 + 上传文件) |
NOWEN_LOGGING_LEVEL | info | 日志级别:debug / info / warn / error |
/dev/dri 设备 | — | 透传 Intel/AMD GPU 用于硬件转码(NVIDIA 需用 runtime: nvidia) |
环境要求:Go 1.22+、Node.js 20+、FFmpeg
go mod tidy
cd web && npm install && cd ..
# 开发模式
make dev # 启动后端
make dev-web # 启动前端(另开终端)
# 生产构建
make build
./bin/nowen-video
配置加载顺序(后者覆盖前者):
1. 内置默认值 → 零配置可运行
2. config.yaml → 主配置文件(旧版扁平 / 新版嵌套均支持)
3. config/*.yaml → 分片配置文件(按模块分类)
4. NOWEN_* 环境变量 → 例如 NOWEN_APP_PORT=8080
config/ 目录下常用分片:
| 文件 | 用途 |
|---|---|
app.yaml | 端口、调试、路径、FFmpeg 位置 |
database.yaml | SQLite 路径、WAL、连接池 |
secrets.yaml | JWT 密钥、第三方 API Key(⚠️ 切勿提交到 Git) |
logging.yaml | 日志级别、格式、轮转 |
cache.yaml | 转码缓存目录与清理策略 |
ai.yaml | LLM 提供商配置(OpenAI / DeepSeek / 通义千问 / Ollama) |
提示:硬件加速 / 并发数 / 转码预设 / CPU 资源限制等参数已由系统启动时自动调优,不再暴露为配置项。
# OpenAI
ai: { provider: openai, api_base: https://api.openai.com/v1, model: gpt-4o-mini }
# DeepSeek
ai: { provider: deepseek, api_base: https://api.deepseek.com/v1, model: deepseek-chat }
# 通义千问
ai: { provider: qwen, api_base: https://dashscope.aliyuncs.com/compatible-mode/v1, model: qwen-turbo }
# Ollama(本地部署)
ai: { provider: ollama, api_base: http://localhost:11434/v1, model: llama3 }
后端 Go 1.22 · Gin · GORM + SQLite (WAL) · Zap · Viper · gorilla/websocket · fsnotify · FFmpeg
前端 React 18 · TypeScript · Vite · Tailwind CSS · Zustand · HLS.js · React Router · Framer Motion
部署 Docker (Alpine 3.19) · docker-compose
1093473044如果这个项目对你有帮助,欢迎请作者喝杯咖啡 / 买个键盘 / 修个 Bug 🙏
Drug 的赞赏码 — "支持作者买键盘 / 修 Bug"
本项目采用 GNU General Public License v3.0(GPL-3.0)开源协议发布。
你可以自由地运行、研究、修改和分发本软件。基于本项目的任何派生作品在对外分发时,必须同样以 GPL-3.0 协议开源,并保留原作者版权声明。本软件按"原样"提供,不附带任何明示或默示的担保。
Content type
Image
Digest
sha256:71d357f5c…
Size
154.9 MB
Last updated
2 days ago
docker pull cropflre/nowen-video