admin 管理员组

文章数量: 1184232

开源神器 KaraokeEternal:自托管无广告,手机点歌 + 多房间 KTV,Docker 一键搭!

有没有适合家庭派对、小型聚会的 KTV 方案?不要那种满是广告的付费软件,最好能自己管歌曲库,手机点歌还不用装 APP 的?

今天就给大家安利一款完美匹配这些需求的开源工具 ——KaraokeEternal。它不仅能让你在家轻松开起 KTV 派对,还支持全平台自托管,部署起来也没门槛,新手用 Docker 跟着步骤走就能搞定。

软件核心:开源、轻量、全浏览器化

先明确下 KaraokeEternal 的定位:它是一款专注于 “派对场景” 的开源 KTV 系统,核心优势就是 “轻量无负担”—— 不管是点歌的手机端,还是播放的大屏端,全靠浏览器运行,不用额外装任何 APP,对新手和非技术用户特别友好。

关键信息先摆清楚,方便大家直接上手:

  • 开源地址:https://github/bhj/KaraokeEternal/(代码可查,无隐私顾虑)
  • 官方文档:https://www.karaoke-eternal/(详细配置看这里)
  • Docker 镜像:radrootllc/karaoke-eternal(部署首选,省去环境配置麻烦)
  • 支持平台:Windows、Mac、Linux,甚至树莓派、群晖 NAS 这类轻量设备都能跑

二、核心功能:精准踩中派对需求

用过不少 KTV 工具,KaraokeEternal 最让我觉得 “贴心” 的是,它的功能全是针对实际派对场景设计的,没有花里胡哨的冗余功能:

1. 格式兼容 + 音效优化,音质不翻车

支持 MP3+G(老卡拉 OK 文件)和 MP4 视频(现在主流的 KTV 视频格式),还能识别 ReplayGain 标签 —— 简单说,就是不管你找的歌曲音量大小不一,播放时会自动统一音量,不用中途手忙脚乱调音量。

2. 多房间 + 密码保护,人多也不乱

朋友多的时候,能开多个同步房间(比如 “华语金曲房”“欧美流行房”),每个房间可以设密码,避免陌生人乱进。每个房间的点歌队列独立,互不干扰。

3. 动态队列,不用抢麦

点歌不用 “抢”,系统会自动按顺序排,还能调整队列顺序(比如长辈想先唱,直接把歌曲移到前面),既公平又灵活,不会因为抢点歌扫了兴。

4. 全自托管 + 无广告,隐私有保障

所有数据(歌曲库、用户信息)都存在你自己的设备上,没有广告弹窗,也不会收集任何使用数据(官方明确说 “无 telemetry”),不管是家庭用还是小社团用,隐私都放心。

Docker 部署:Ubuntu 为例,3 步搞定

KaraokeEternal 支持多种部署方式,但星哥最推荐 Docker—— 不用管依赖,一键启动,后续升级也方便。下面以 Ubuntu 系统为例,一步步教大家操作:

第一步:安装 Docker 和 docker-compose

先更新系统,再安装 Docker 和 docker-compose(如果已经装过,可以跳过这步):

# 更新系统软件包
sudo apt update
# 安装Docker和docker-compose
sudo apt install -y docker.io docker-compose
# 验证安装成功(出现版本号就没问题)
docker --version
docker-compose --version

第二步:创建 docker-compose.yml 配置文件

建议在/home目录下创建配置文件,方便后续管理(比如修改路径、升级容器)。先进入 /home 目录,然后创建文件:

# 进入/home目录
cd /home
# 创建并编辑docker-compose.yml
nano docker-compose.yml

把下面的内容复制进去(注意修改路径,确保符合你的实际需求):

services:
  karaoke-eternal:
    # 使用官方Docker镜像
    image: radrootllc/karaoke-eternal
    # 容器名字,方便后续管理
    container_name: karaoke-eternal
    # 数据卷映射:左边是你本地路径,右边是容器内路径
    volumes:
      - /home/config:/config  # 存放系统配置(比如用户、房间设置)
      - /home/mnt/karaoke:/mnt/karaoke  # 存放你的KTV歌曲库
    # 端口映射:本地8000端口映射到容器8080端口(8000可以改,只要不冲突)
    ports:
      - 8000:8080
    # 重启策略:除非手动停止,否则容器挂了会自动重启
    restart: unless-stopped

复制完后,按Ctrl+O保存,再按Ctrl+X退出编辑。

第三步:启动容器,访问系统

执行下面的命令,启动 KaraokeEternal 容器:

# 后台启动容器(-d表示后台运行)
sudo docker-compose up -d
# 查看容器状态(出现Up就表示启动成功)
sudo docker ps | grep karaoke-eternal

启动成功后,就可以访问了:

  • 本地访问:在同一局域网的设备上,打开浏览器输入http://localhost:8000(如果是服务器,把localhost换成服务器的局域网 IP);

我这边用8002端口

docker ps
CONTAINER ID   IMAGE                                                           COMMAND                  CREATED          STATUS          PORTS                                                           NAMES
003eb9c1e043   radrootllc/karaoke-eternal                                      "karaoke-eternal-ser…"   13 seconds ago   Up 11 seconds   0.0.0.0:8002->8080/tcp, :::8002->8080/tcp                       karaoke-eternal

  • 云服务器访问:如果用的是云服务器,需要先在安全组里开放 8000 端口,然后用http://服务器公网IP:8000访问。

四、快速体验:不想写配置?一条命令搞定

如果只是想先试试水,不想创建 docker-compose.yml,也可以用一条命令直接启动容器(注意:这种方式适合体验,正式用还是建议用 docker-compose,方便后续管理):

sudo docker run \
    --name=karaoke-eternal \
    -v /home/config:/config \
    -v /home/mnt/karaoke:/mnt/karaoke \
    -p 8000:8080 \
    --restart unless-stopped \
    radrootllc/karaoke-eternal

五、使用小贴士:让体验更丝滑

  1. **歌曲库怎么加?**把下载好的 MP3+G 或 MP4 格式歌曲,放到/home/mnt/karaoke目录(就是你配置里映射的歌曲库路径),系统会自动扫描,不用手动添加。
  2. **手机点歌怎么操作?**手机和服务器连同一局域网,打开浏览器输入服务器地址,登录后选一个房间,搜索歌曲、加入队列就行 —— 界面是响应式的,手机上点起来很顺手。
  3. **麦克风怎么弄?**KaraokeEternal 的播放器只输出音乐,麦克风需要自己配(比如用蓝牙麦克风、外接麦克风),这样你可以根据自己的预算搭配音频设备,灵活度很高。
  4. **遇到问题找谁?**官方有 Discord 社区(https://discord/invite/PgqVtFq),可以去里面问问题,也能和其他用户交流歌曲库资源;GitHub 上也能提 Issue,作者响应挺及时的。

六、总结:谁适合用 KaraokeEternal?

如果你需要一款 “无广告、可控性强、部署简单” 的 KTV 工具,不管是家庭聚会、朋友派对,还是小社团活动,KaraokeEternal 都很合适 —— 它没有复杂的设置,开源免费,还能自己管歌曲库,完全不用被付费软件 “绑架”。

本文标签: 神器 一键 开源 无广告 房间