Black Candy 自托管音乐流媒体服务器使用指南
black_candy A self hosted music streaming server 项目地址: https://gitcode.com/gh_mirrors/bl/black_candy
项目概述
Black Candy 是一款开源自托管音乐流媒体服务器,它允许用户搭建个人专属的音乐中心。该项目采用现代化技术栈构建,提供了完整的音乐管理、播放和分享功能。
核心特性
- 跨平台支持:提供Web界面和移动端应用
- 多种部署方式:支持Docker容器化部署
- 多数据库支持:默认使用SQLite,也支持PostgreSQL
- 媒体库管理:支持本地音乐文件管理
- Discogs集成:可自动获取艺术家和专辑图片
快速体验
项目提供了在线演示环境,访问演示站点可使用以下测试账号:
- 邮箱:admin@admin.com
- 密码:foobar
演示环境中的音乐均来自Free Music Archive,遵循相应的开源许可协议。
安装部署
Docker快速部署
最简单的部署方式是使用Docker容器:
docker run -p 80:80 blackcandy/blackcandy:latest
部署完成后,通过浏览器访问http://localhost即可使用初始管理员账号登录。
持久化存储配置
为确保数据安全,建议将存储目录挂载到宿主机:
mkdir storage_data
docker run -v ./storage_data:/app/storage -p 80:80 blackcandy/blackcandy:latest
媒体文件管理
可以通过挂载目录的方式管理音乐文件:
docker run -v /your/music:/media_data -e MEDIA_PATH=/media_data -p 80:80 blackcandy/blackcandy:latest
系统升级
升级Black Candy只需拉取最新镜像并重新创建容器:
docker pull blackcandy/blackcandy:latest
docker stop <container_id>
docker rm <container_id>
docker run <options> blackcandy/blackcandy:latest
对于使用docker-compose的用户:
docker-compose down
docker-compose pull
docker-compose up -d
移动端应用
Black Candy提供了iOS和Android客户端:
- iOS用户可通过App Store下载
- Android用户可通过F-Droid获取
高级配置
数据库配置
默认使用SQLite,如需使用PostgreSQL:
docker run -e DB_ADAPTER=postgresql -e DB_URL=postgresql://user:password@host/dbname blackcandy/blackcandy:latest
用户权限管理
解决挂载卷权限问题:
docker run --user $(id -u):$(id -g) -v ./storage_data:/app/storage blackcandy/blackcandy:latest
环境变量配置
| 变量名 | 默认值 | 说明 | |--------|--------|------| | DB_URL | - | PostgreSQL数据库连接URL | | MEDIA_PATH | - | 媒体文件路径 | | DB_ADAPTER | "sqlite" | 数据库类型(sqlite/postgresql) | | SECRET_KEY_BASE | - | 应用密钥 | | FORCE_SSL | false | 强制SSL | | DEMO_MODE | false | 演示模式 |
开发环境搭建
前置要求
- Ruby 3.3
- Node.js 20
- libvips
- FFmpeg
初始化步骤
- 安装依赖:
bundle install
npm install
- 数据库准备:
rails db:prepare
rails db:seed
- 启动开发服务器:
./bin/dev
- 运行测试:
rails test:all
rails lint:all
注意事项
- Edge版本:基于master分支构建,可能存在不稳定因素,不建议生产环境使用
- 数据备份:升级前请确保重要数据已备份
- 权限管理:使用挂载卷时注意文件权限设置
Black Candy为音乐爱好者提供了完整的自托管解决方案,无论是个人使用还是小型团队共享,都能满足基本需求。通过合理的配置和扩展,可以构建出功能丰富的私人音乐中心。
black_candy A self hosted music streaming server 项目地址: https://gitcode.com/gh_mirrors/bl/black_candy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考