blackcandy
一个自托管的音乐流媒体服务器,可以作为你的个人音乐中心。
Github地址
https://github.com/blackcandy-org/blackcandy
在线体验
https://demo.blackcandy.org/
账号:admin@admin.com
密码:foobar
项目功能与特点
•音乐流媒体服务:允许用户通过网络流式传输音乐。
•自托管:用户可以在自己的服务器上部署和运行,拥有完全的控制权。
•支持多种数据库:默认使用SQLite,也可使用PostgreSQL。
•支持Nginx文件传输:可利用Nginx更高效地向客户端传输音频文件。
•移动应用支持:有iOS和Android应用,可在相应应用商店下载,Android应用也可从GitHub Release下载APK。
•数据持久化:所有需要持久化的数据都存储在/app/storage目录,可通过挂载到宿主机来实现数据持久化。
•环境变量配置:支持多种环境变量配置,如DB_URL、MEDIA_PATH、DB_ADAPTER、NGINX_SENDFILE等,以满足不同用户的需求。
安装与升级
•安装方式:推荐使用Docker镜像进行安装,可通过以下命令运行:
docker run -p 3000:3000 ghcr.io/blackcandy-org/blackcandy:latest
# 或从Docker Hub拉取
docker run -p 3000:3000 blackcandy/blackcandy:latest
安装后,可通过浏览器访问http://localhost:3000或http://host-ip:3000,使用初始管理员用户登录(邮箱:admin@admin.com,密码:foobar)。
•升级方式:从远程拉取新镜像,移除旧容器并创建新容器。使用Docker Compose时,可先拉取新镜像,然后执行docker-compose down和docker-compose up进行升级。
配置选项
•端口映射:Black Candy默认导出3000端口,可通过-p选项进行端口映射。
•媒体文件挂载:可将宿主机的媒体文件挂载到容器中,并通过MEDIA_PATH环境变量设置Black Candy的媒体路径。
•数据库配置:若使用PostgreSQL,需设置DB_ADAPTER为postgresql,并提供DB_URL环境变量。
•Nginx配置:若启用Nginx文件传输,需设置NGINX_SENDFILE环境变量为true,并可使用docker-compose设置Nginx代理。
•日志配置:Black Candy默认将日志输出到STDOUT,可通过Docker的日志处理选项进行控制。
开发环境搭建
•依赖要求:Ruby 3.3、Node.js 20、libvips、FFmpeg。
•安装步骤:
1. 安装gem依赖:bundle install
2. 安装JavaScript依赖:npm install
3. 数据库配置:rails db:prepare和rails db:seed
领取专属 10元无门槛券
私享最新 技术干货