Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

545 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UniRhy Logo UniRhy

UniRhy is a self-hosted music streaming platform organized as a monorepo with separated backend, frontend, and website projects. It aims to provide deployable and extensible music library management, playback, and synchronization capabilities.

English | 简体中文

Note

This project is still in a very early stage. Feedback and contributions of all kinds are welcome, and existing features may still change significantly.

Tip

QQ 群:678087094 | Discord:https://discord.gg/CqTpmpmzWv

Screenshots

Home page on mobile Home page on desktop

All album covers shown are public domain (CC0 / Public Domain Mark) artworks from The Met Open Access and Internet Archive netlabels. Album, artist, and track names are fictional demo data.

Features

  • Self-hosted deployment with no external service dependency.
  • Music resource management.
  • Cross-platform clients for Web, macOS, Android, iOS, and Windows.
  • Playback state synchronization.
  • Plugin-based extension support.

Tip

The macOS build is unsigned. If macOS reports the app as damaged, run xattr -cr /Applications/UniRhy.app to remove the quarantine attribute.

Project Structure

  • server/: Backend service based on Spring Boot, Kotlin, Gradle, and Jimmer ORM.
  • web/: Main frontend client based on Vue, TypeScript, Vite, Pinia, and Tailwind CSS, including Tauri 2 desktop configuration.
  • website/: Project website based on Vue, TypeScript, and Vite.
  • docker/: Containerization files.
  • docs/: Project-level supplementary documentation, including release notes under docs/release_notes/.

Requirements

  • JDK 25
  • Node.js 24
  • Yarn 4.12+
  • Docker
  • tmux

Quick Start

# 1. 启动 PostgreSQL
docker run -d --name unirhy-pg \
  -e POSTGRES_DB=unirhy -e POSTGRES_USER=pgroot -e POSTGRES_PASSWORD=pgroot \
  -p 5432:5432 postgres:17

# 2. 配置 server/.env(参考 server/.env.example)
cp server/.env.example server/.env

# 3. 启动全部服务(server + web + website)
scripts/dev.sh start

# 查看状态
scripts/dev.sh status

Documentation

License

See LICENSE.

Links

About

Self-hosted and scalable music streaming, designed for humans.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages