huluohu | 胡萝虎 : 🎸 Koel:一款颜值超赞的音乐流媒体服务器,NAS必备,配合App使用更佳!

本文转自: https://www.huluohu.com/posts/1067/
仅做个人收藏,版权归原作者所有

koel

Koel(发音为“cool”),是一个由Vue.js和Laravel框架共同打造的开源音乐服务器。它允许用户在自己的服务器上托管音乐库,随时随地享受音乐,无需依赖任何第三方服务。Koel以其简洁的设计和流畅的用户体验著称,特别适合家庭媒体中心、音乐爱好者和重视隐私的用户。笔者此前也介绍过几款类似的系统,不得不说,还是这款看起来颜值更高,而且还内置了多套主题,并且官方也提供了移动端App。由于官方的文档写的过于繁琐,笔者就简单介绍下Koel的相关功能和安装方法。

🏓 技术栈

  • 前端:使用Vue.js进行界面渲染,提供响应式设计,确保在各种设备上的良好表现。
  • 后端:基于Laravel PHP框架,提供了RESTful API来与前端交互,处理文件上传、元数据解析等任务。
  • 数据库:支持SQLite、MySQL、PostgreSQL,用于存储歌曲信息、元数据及用户的播放历史。

🎭 功能特性

Koel不仅是一个音乐播放器,更是一个功能丰富的音乐管理系统,其主要特性包括:

  • 个性化元数据:自动抓取专辑封面和歌词,支持手动调整歌曲信息,打造个性化的音乐体验。
  • 播放列表管理:创建、编辑和分享播放列表,自由安排聆听顺序。
  • 跨平台播放:无论你在PC、Mac还是移动设备上,只要有网络连接,都能访问你的音乐库。
  • 离线模式:下载歌曲到本地,在无网络环境下也能享受音乐。
  • 社交功能(可选):公开你的音乐库,让朋友也能欣赏你的收藏。
  • 音频流:通过HTML5的Audio对象实现实时流媒体播放,兼容大部分现代浏览器。

    Koel

🦀 安装Koel

Docker的安装方式极大地简化了Koel的部署过程,使其在不同环境中都能轻松运行。Koel需要依赖数据库才能正常部署,所以除了确保你的NAS支持Docker和Docker Compose之外,你还需要先安装好数据库(MySQL/MariaDB/PostgreSQL),虽然官方提到也支持SQLite,但是没说清楚到底怎么设置,所以笔者建议直接使用MySQL拉到!

1. 安装MySQL

如果还没有安装MySQL,可以使用下面compose.yml启动一个MySQL示例:

version: '3.9' 
services: 
  mysql: 
    image: 'mysql:latest' 
    container_name: mysql 
    restart: unless-stopped 
    network_mode: bridge 
    environment: 
        # 默认库 
        MYSQL_DATABASE: koel 
        # root用户密码 
        MYSQL_ROOT_PASSWORD: 123456  
        TZ: Asia/Shanghai 
    ports: 
      - '3306:3306' 
      - '33060:33060' 
    volumes: 
      # 数据保存目录,自己修改 
      - /share/Container/mysql/data:/var/lib/mysql 

启动:

docker compose up -d 

2. 安装Koel

version: '3.9' 
services: 
  koel: 
    image: phanan/koel:latest 
    container_name: koel 
    restart: unless-stopped 
    network_mode: bridge 
    ports: 
      - 5061:80 
    environment: 
      DB_CONNECTION: mysql 
      # 改成MySQL的IP 
      DB_HOST: 192.168.31.91 
      DB_PORT: 3306 
      DB_USERNAME: root 
      # root用户的密码 
      DB_PASSWORD: 123456 
      DB_DATABASE: koel 
    volumes: 
      # 冒号左边改成你自己音乐库的路径 
      - /share/media2/music:/music 
      # 封面图缓存,冒号左边改成你自己的路径 
      - /share/Container/koel/covers:/var/www/html/public/img/covers 
      # 搜索索引,冒号左边改成你自己的路径 
      - /share/Container/koel/indexes:/var/www/html/storage/search-indexes 

启动:

docker compose up -d 

3. 初始化Koel

启动Koel容器后,需要先进行初始化,主要用来完成三个事项:

  • 生成APP_KEY
  • 创建管理员账户
  • 初始化数据库

首先进入Koel容器:

docker exec -it koel /bin/bash 

然后执行:

php artisan koel:init --no-assets 

当看到下面的输出,就表示初始化已经完成了。

koel

最后,会提醒设置音乐文件目录,保持不变,直接回车即可,然后就可以看到初始化是自动创建的默认管理员账户的用户名和密码了,记得复制下来。

Koel

4. 开启Koel

等待几秒钟,然后在浏览器中打开http://ip:7000,你应该就能看到Koel的登录页面了,使用上面初始化时的用户名和密码登录,即可开始使用。

Koel

登录之后就是熟悉的环节了,UI界面确实非常哇塞,并且对移动端浏览器适配的也不错!

Koel

Koel

🐣 获取Koel

Koel也提供了官方的App供下载,名为Koel Player,支持iOS和Android平台,搭配NAS上部署的音乐媒体服务器使用,效果更佳!感兴趣的朋友可以直接在App Store搜索Koel Player或在笔者公众号私信【KP】即可快速获取下载链接。

Koel

原创不易,如果觉得此文对你有帮助,不妨点赞+收藏+关注,你的鼓励是我持续创作的动力!

高等精灵实验室

1067.png