Skip to content

NineSong aims to provide Cloud native and AI extended solutions for data sharing in various ToC businesses

License

Notifications You must be signed in to change notification settings

Super-Badmen-Viper/NineSong

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

123 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚠️ IMPORTANT NOTICE: Project Status Change

项目状态变更声明 | Project Status Declaration

NineSong 开源项目即日起停止开源更新,此仓库将永久停留在当前提交。

由于发现 NineSong 的代码疑似被抄袭引用,经过慎重考虑,我决定:

  1. 停止开源: NineSong 后端服务将不再开源,此仓库永久停留在当前提交
  2. DockerHub 永久免费: NineSong 将持续免费上架 DockerHub,所有用户可永久免费使用
  3. 前端应用继续开源: 基于 React 重构开发的一系列应用(音乐、相册、影视、笔记等)将于 2026 年 4 月左右开始陆续上架,继续开源免费
  4. 后续开发计划继续: 原计划的多应用场景数据共享全平台架构与一系列 AI 扩展将继续进行开发重构
  5. 多系统适配计划: 一键可视化安装的 Electron 安装导向包 NineSong-Desktop 将同时适配 Windows、Linux、MacOS 的一键直装,提供更丰富简易的 Docker 部署指令与脚本,以及更便捷的 NineSong-Panel 可视化 Docker 面板
  6. 全平台付费应用: 基于 Flutter 开发的全平台付费应用 NSMusicS-Flutter 即将发布,支持 Android、iOS、Windows、MacOS,将上架 Google Play、App Store、Microsoft Store

NineSong will no longer be open source from now on, and this repository will be permanently frozen at the current commit.

Due to suspected code plagiarism, I have decided to:

  1. Stop Open Source: NineSong backend service will no longer be open source, this repo is frozen at this commit
  2. DockerHub Forever Free: NineSong will remain free on DockerHub permanently for all users
  3. Frontend Apps Stay Open Source: React-based apps (Music, Gallery, Video, Notes, etc.) will start rolling out around April 2026 and continue to be open source and free
  4. Development Continues: The original plan for multi-scenario data sharing cross-platform architecture and AI extensions will continue to be developed and refactored
  5. Multi-OS Support Plan: The one-click visual Electron installer package NineSong-Desktop will support Windows, Linux, and MacOS with easy one-click installation, along with richer and simpler Docker deployment commands and scripts, and a more convenient NineSong-Panel visual Docker dashboard
  6. Cross-Platform Premium App: The Flutter-based cross-platform premium app NSMusicS-Flutter is coming soon, supporting Android, iOS, Windows, and MacOS, and will be available on Google Play, App Store, and Microsoft Store

NineSong Personal Digital Center

NineSong aims to provide cloud native and AI extended solutions for data sharing in various ToB and ToC businesses, for managing various file metadata (local files, cloud storage files) and the business attributes derived from these metadata, and applied to various application scenarios, including but not limited to music, movies, notes, documents, photo albums, e-book readers, etc. Its goal is to become a representative work in the Github cloud native field.

A Go (Golang) Backend Clean Architecture project with Gin, MongoDB, JWT Authentication Middleware, Test, and Docker.

For NineSong, it only needs to respond to users around the world who need it and always maintain an open source status. You can use any product you like, whether it's following NineSong or choosing a seemingly famous but actually outdated product

Ask DeepWiki

NSMusicS:https://github.com/Super-Badmen-Viper/NSMusicS will support Docker deployment by default and integrate the NineSong streaming service.

DownLoad For 1.0.0 Version (Music Scene): Released At the end of July 2025

You need to put the. env and docker-compose.yaml files in the same folder. You can customize the parameter configuration of. env and docker-compose.yaml, such as mapping the media library folder to the Volumes of the NineSong container.
download: https://github.com/Super-Badmen-Viper/NineSong/releases Compared to other music servers (such as Navidrome, Jellyfin, Emby, Plex, Subsonic, Gonic), it offers the following enhanced features:

  • More comprehensive music library management:
    • Rich single-level sorting options, supporting multi-level mixed sorting and multi-level mixed filtering;
    • deeper processing of composite tags to make the relevance between musics more comprehensive;
    • search jump optimization
      • Support fuzzy search based on title, album, artist, and lyrics (multiple mixed matching of Chinese Pinyin and simplified traditional Chinese characters);
      • recommended similar search results;
  • More comprehensive music playback experience:
    • various elegant playback styles[cover Square、cover Rotate、cover Beaut、cover Base、cover AlbumList];
    • exclusive playback modes for various music files[normal model、cue-music model];
  • CUE exclusive playback (CUE: wav、ape、flac) and CUE file management:
    • Exclusive management page for music disc image (mirror) auxiliary files.
    • CUE playback styles suitable for music disc image features
    • Visualized virtual track playback of CUE
  • More complete TAG import and management:
    • support for importing complete TAGs from more types of music files (including m4a、cue(wav、ape、flac));
  • Personalized music recommendations based on user usage data:
    • Phase 1 : Add tag cloud and recommend music based on user interests.
    • Phase 2 : Use lightweight recommendation algorithms based on usage data.

Subsequent updates (Music Scene):

  • More comprehensive music library management:
    • support for dual-page browsing mode (unlimited virtual list, paged list);
    • support uploading, downloading, and synchronizing music files between the server and client;
  • More complete TAG import and management:
    • support for user-visualized TAG management, allowing remote uploads, auto-associating, manual merging of artist-album-single TAGs;
    • support for richer TAG fields: artist profile pictures, artist photos (multiple selection), album covers, song quality versions (multiple selection), and lyrics versions (single selection);
  • ISO exclusive playback and ISO file management:
    • Exclusive management page for music disc image (mirror) auxiliary files.
    • ISO playback styles suitable for music disc image features
    • Visualized virtual track playback of ISO
  • Support more sound effects settings:
    • support for multi-channel audio effects
    • support for Advanced/Standard/Simple EQ
  • Integrated free public welfare music TAG API:
    • allowing users to obtain online TAGs for songs and choose whether to synchronize TAG data.
  • Personalized music recommendations based on user usage data:
    • Phase 3 : Build a music knowledge graph by analyzing music metadata to achieve smarter recommendations.
    • Phase 4 : Combine the knowledge graph with LLM (DeepSeek) for advanced music recommendations.

How to Deploy Docker:

You first need to download the compressed file from the releases

You need to put the. env and docker-compose.yaml files in the same folder. You can customize the parameter configuration of. env and docker-compose.yaml, such as mapping the media library folder to the Volumes of the NineSong container.

Note that if you update the mirrored version of NineSong, temporary resources in the media library (such as album covers) will also be deleted. You need to rescan the media library in the settings to regenerate temporary resources

run: docker compose up -d
login mail: admin@gmail.com
login password: admin123

How to Thoroughly Reinstall NineSong: Need to Clear Data Together with Volumes in Docker.
Because considering that the image upgrade cannot affect the database data, if you delete the containers of NineSong, the data in their databases will not disappear unless you clear it together with the data in Volumes in Docker.

NineSong | NineSong Multimedia(Server) : 九歌多媒体

  • Compatible with streaming media servers (Jellyfin、Emby、Navidrome、Plex)
  • General file library management(Audio、Video、Image、Text、Document、Archive、Executable、Database、Unknown)
  • Scene of Streaming Music and Karaoke
  • Scene of AI-Models deploy
  • Scene of Intelligent Gallery album
  • Scene of Film and Television Center
  • Scene of Online Notes
  • Scene of Document Workbench
  • Scene of E-book reader
  • Knowledge graph Recommendation system
  • Internationalization

Group Chat

  • QQ群聊
    • NSMusicS交流群(1):(已满500人,请入2群)
    • NSMusicS交流群(2):610551734
  • Other | None

local debug run

  • modify: .env
    • DB_HOST=localhost
    • DB_PORT=27017
    • if $not local MongoDB_DATA_VOLUME
      • modify: docker-compose-local-windows.ps1
        • $env:MongoDB_DATA_VOLUME = "C:\Users\Public\Documents\NineSong\MongoDB"
        • $env:SQLITE_DATA_VOLUME = "C:\Users\Public\Documents\NineSong\Sqlite"
        • $env:MUSIC_DATA_VOLUME = "E:\0_Music"
      • run: docker-compose-local-windows.ps1
      • await create: $env:MongoDB_DATA_VOLUME...
    • else if $have local MongoDB_DATA_VOLUME
      • run: docker-compose-mongodb.yaml
  • go install github.com/air-verse/air@latest
  • run: air

postman run

Import postman.json file: NineSong API.postman_collection.json

Thanks:

  • go-backend-clean-architecture : NineSong's Clean Architecture Project Template
  • go-audio : A comprehensive GO audio library with a wide range of data types
  • go-taglib : GO TAG library with comprehensive coverage of media file types
  • ......

The Chinese name of the project is "Nine Song | 九歌", abbreviated as NSMusicS
inspired by ["Chu Ci"] | 楚辞, to commemorate ["Qu Yuan"] | 屈原

About

NineSong aims to provide Cloud native and AI extended solutions for data sharing in various ToC businesses

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages