这是一个基于 Vue 3 + Vite 的在线电台应用,包含播放、搜索、收藏、历史记录、主题切换与多国语言等功能,并支持 PWA 安装。
支持 Docker 一键部署(推荐)与本地开发运行。
- 电台搜索(支持中文)
- 分享电台
- 播放控制
- 睡眠定时器
- 收藏与播放历史
- 亮色/暗色主题
- 全球主流语言支持
- 安卓/iphone/PC客户端
现已加入https://kejilion.sh 科技lion的脚本,实现一键安装并配置域名和SSL证书功能。
.
├── src/ # 前端源码
├── public/ # 静态资源
├── dist/ # 构建产物(Vite build 输出)
├── nginx-static.conf # 静态站点 Nginx 示例配置
├── nginx.docker.conf # Docker 镜像内 Nginx 配置
├── Dockerfile # Docker 构建文件
├── vite.config.ts # Vite 配置
└── package.json # 前端依赖与脚本
适用场景:不想安装 Node.js,只想用容器快速部署;或者希望用 Nginx 直接提供静态站点服务。
docker pull superneed/global-radio:latest
docker run -d --name global-radio --restart unless-stopped -p 8080:80 superneed/global-radio:latest浏览器访问:
如果你的服务器是 ARM 架构(例如 aarch64 / arm64),请使用 arm64 专用镜像:
docker pull superneed/global-radio-arm64:latest
docker run -d --name global-radio --restart unless-stopped -p 8080:80 superneed/global-radio-arm64:latest安装 Docker(Linux 示例;也可使用官方文档的安装方式):
curl -fsSL https://get.docker.com | sh
sudo systemctl enable --now docker构建镜像:
docker build -t global-radio:latest .运行容器(映射到本机 8080 端口):
docker run --rm -p 8080:80 global-radio:latest浏览器访问:
建议用于生产的运行方式:
- 直接运行(前置 8080):
docker run -d --name global-radio --restart unless-stopped -p 8080:80 global-radio:latest- 需要自定义域名与 HTTPS 时:在宿主机用 Nginx / Caddy 做反向代理到
127.0.0.1:8080,容器内只负责静态资源服务。
更新部署(Docker):
docker build -t global-radio:latest .
docker rm -f global-radio || true
docker run -d --name global-radio --restart unless-stopped -p 8080:80 global-radio:latestgit clone https://github.com/moli-xia/global-radio.git
cd global-radio- Node.js 18+(推荐 18 LTS)
- npm 9+(建议使用
npm ci) - Docker 20+(仅 Docker 部署需要)
npm ci
npm run dev -- --host 0.0.0.0 --port 4173浏览器访问:
局域网访问(同网段设备):
- http://<你的电脑IP>:4173/
npm run build
npm run preview -- --host 0.0.0.0 --port 4173浏览器访问:
推荐用 Nginx 直接托管 dist/:
- 构建:
npm run build- 部署构建产物(示例):
rm -rf /var/www/global-radio/dist
mkdir -p /var/www/global-radio
cp -r dist /var/www/global-radio/dist- 参考 nginx-static.conf 配置站点 root 指向
dist/,然后重载 Nginx:
sudo nginx -t
sudo systemctl reload nginx静态站点要点:
- SPA 路由需要回退到 index.html(nginx-static.conf 已包含示例)
- 建议对静态资源开启缓存(js/css/svg/png 等),对 index.html 关闭缓存,避免更新后仍加载旧版本
如需环境变量,按 .env.example 创建 .env。不需要时可不创建。
- 生产环境建议使用 Nginx 托管
dist/,前端不需要长期运行 Vite 服务。 - 如需临时自测,可用
npm run preview在指定端口提供静态预览。 - 首页“音乐电台/最新电台”列表有内存缓存(默认 5 分钟),刷新按钮会绕过缓存重新拉取数据。
- 先确认 dist 是否存在且有 index.html:
npm run build
ls -la dist/- 如果使用 nginx-static.conf:
- 该配置默认使用 80 端口提供静态站点服务,不依赖 HTTPS 证书
- 修改 server_name 与 root 路径后,重载 Nginx:
sudo nginx -t
sudo systemctl reload nginx- 如果用
npm run preview:
npm run preview -- --host 0.0.0.0 --port 4173确保服务器安全组/防火墙放行对应端口。


