
NineSong 是一款开源的自建音乐播放器系统,包含 Web 端及 PC 客户端,能很好地填补目前飞牛 NAS 原生音乐软件的空缺。
一、 准备工作
创建自定义网络:
- 打开飞牛 Docker -> 网络 -> 新增。
- 名称填写
bridge-nas(如果已有自定义网络可跳过,但需同步修改 Compose 中的名称)。
创建项目文件夹:
二、 配置环境变量 (.env)
在电脑上创建一个文本文档,粘贴以下内容并保存为 .env 文件,然后上传到飞牛的 /docker/ninesong/ 目录下。
Bash
APP_ENV=development
GIN_MODE=release
APP_CONTAINER_NAME=nsmusic
WEB_CONTAINER_NAME=ninesong
MONGO_CONTAINER_NAME=ninesong-mongodb
APP_PORT=5176
SERVER_PORT=8082
SERVER_ADDRESS=:8082
BACKEND_SERVICE=http://ninesong:8082
CONTEXT_TIMEOUT=10
DB_HOST=mongodb
DB_PORT=27017
DB_USER=fnos
DB_PASS=fnos.com
DB_NAME=ninesong
LIBRARY_PATH=/data/library
MEDIA_DATA_HOST_PATH=./Music
ACCESS_TOKEN_EXPIRY_HOUR=2
REFRESH_TOKEN_EXPIRY_HOUR=168
ACCESS_TOKEN_SECRET=fnos.com
REFRESH_TOKEN_SECRET=fnnas.com
三、 部署项目 (Docker Compose)
打开飞牛 Docker -> Compose -> 新增项目,项目名称填 ninesong,代码如下:
YAML
services:
frontend:
image: xiangch007/nsmusics:latest
container_name: ${APP_CONTAINER_NAME}
restart: unless-stopped
env_file: .env
environment:
- NGINX_PORT=${APP_PORT}
- BACKEND_SERVICE=${WEB_CONTAINER_NAME}:${SERVER_PORT}
ports:
- "${APP_PORT}:${APP_PORT}"
volumes:
- ./.env:/app/.env:ro
depends_on:
- backend
networks:
- bridge-nas
backend:
image: xiangch007/ninesong:latest
container_name: ${WEB_CONTAINER_NAME}
restart: unless-stopped
env_file: .env
volumes:
- ./.env:/app/.env:ro
- ./MetaData:/app/MetaData
- ./Music:/data/music
depends_on:
- mongodb
security_opt:
- no-new-privileges:true
networks:
- bridge-nas
mongodb:
image: mongo:6.0
container_name: ${MONGO_CONTAINER_NAME}
restart: unless-stopped
env_file: .env
environment:
- MONGO_INITDB_ROOT_USERNAME=fnos
- MONGO_INITDB_ROOT_PASSWORD=fnos.com
volumes:
- ./configdb:/data/configdb
- ./db:/data/db
networks:
- bridge-nas
networks:
bridge-nas:
external: true
四、 访问与使用
启动:点击确定后,系统将自动拉取镜像并启动。
访问:在浏览器输入 飞牛IP:5176 访问 Web 界面。
默认账号:
Email: admin@gmail.com
Password