Thanks to visit codestin.com
Credit goes to github.com

Skip to content

MoosicBox/MoosicBox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MoosicBox

A modern, high-fidelity music server and streaming platform for cows

MoosicBox

🎵 Listen to your HiFi music anywhere

MoosicBox is a powerful, self-hosted music server that lets you stream your personal music library and access premium music services from anywhere. Built with performance and audio quality in mind, MoosicBox provides a seamless listening experience across all your devices.

📱 Download MoosicBox | 🏠 Visit Website

⚠️ Project Status

Development Notice: This is currently a personal side project in active development. Most features are experimental and may not work as expected. While the goal is to eventually create a stable, user-friendly music app that others can enjoy, the project is not yet ready for general use. Your mileage may vary significantly at this stage.


✨ Key Features

🎧 Hi-Fi Audio Experience

  • Lossless audio streaming with support for FLAC, ALAC, and other high-quality formats
  • Real-time audio encoding (AAC, MP3, Opus) optimized for your connection
  • High-resolution audio support for audiophile-grade listening

🌐 Multi-Platform Access

  • Web interface - Stream from any browser
  • Desktop applications - Native apps for Windows, macOS, and Linux
  • Mobile apps - Android (in-progress)
  • Cross-device sync - Continue listening where you left off

🎼 Music Service Integration

  • Local library - Your personal music collection
  • Tidal - Access millions of hi-fi tracks and MQA content
  • Qobuz - Studio-quality streaming with large catalog
  • Global search across all connected services and local library

🏠 Self-Hosted & Private

  • Complete ownership of your music server
  • No internet required for local music playback
  • Privacy-focused - your data stays on your devices

🔧 Advanced Features

  • Multi-zone audio - Play different music in different rooms
  • Multiple simultaneous outputs - Stream to multiple devices at once
  • Automatic image optimization - Perfect album art for any screen size
  • Database flexibility - Support for PostgreSQL, MySQL, and SQLite
  • Audio visualization - See waveforms and track progress
  • Remote library access - Connect to other MoosicBox servers

🚀 Getting Started

Quick Start Options

  1. 📱 Download Apps: Get native apps at moosicbox.com/download
  2. 🛠️ Self-Host: Set up your own server using the instructions below

Self-Hosting Your MoosicBox Server

Prerequisites

  • Rust toolchain (latest stable)

Installation & Setup

  1. Clone the repository:

    git clone https://github.com/MoosicBox/MoosicBox.git
    cd MoosicBox
  2. Start the server:

    # Default port is 8000
    cargo run -p moosicbox_server
    
    # Or specify a custom port
    PORT=8001 cargo run -p moosicbox_server
  3. Access your server:

    • Open your browser to http://localhost:8000 (or your custom port)
    • Start adding your music library and connecting services

Advanced Configuration

Development mode with debugging:

RUST_BACKTRACE=1 RUST_LOG="moosicbox=debug" cargo run -p moosicbox_server

🏗️ Architecture

MoosicBox is built with a modular, high-performance architecture:

Core Technologies

  • 🦀 Rust - Memory-safe, high-performance backend
  • 🌐 Web Technologies - Modern web interface with TypeScript
  • 🎨 HyperChad UI Framework - Custom reactive UI system
  • 📱 Tauri - Cross-platform desktop applications
  • 🔄 Real-time sync - WebSocket-based live updates

Supported Platforms

  • 🖥️ Desktop: Windows, macOS, Linux (via Tauri)
  • 📱 Mobile: Android
  • 🌐 Web: All modern browsers
  • 🐧 Server: Linux, Docker, cloud deployments

📊 Database Support

MoosicBox supports multiple database backends for maximum flexibility:

  • SQLite - Perfect for personal use and getting started
  • PostgreSQL - Recommended for production and multi-user setups
  • MySQL - Full feature support with basic MySQL compatibility

🔧 Development

MoosicBox is built as a comprehensive Rust workspace with 150+ packages:

Key Development Commands

# Run the main server (default port 8000)
cargo run -p moosicbox_server

# Run with custom port
PORT=8001 cargo run -p moosicbox_server

# Run with debug logging
RUST_LOG="moosicbox=debug" cargo run -p moosicbox_server

# Run tests
cargo test

# Check code quality
cargo clippy --all-targets --all-features

# Format code
cargo fmt

Project Structure

  • packages/ - Modular Rust packages (audio, networking, UI, etc.)
  • app-website/ - Marketing website source
  • kubernetes/ - Kubernetes deployment manifests
  • terraform/ - Infrastructure as code

📄 License

MoosicBox is licensed under the Mozilla Public License 2.0.

🔗 Links


📦 All Workspace Packages (Click to expand)

Core Application

Audio & Media

Music Services Integration

Library & Search

Music API & Models

Application Framework

Desktop Application (Tauri)

HyperChad UI Framework

HyperChad Renderers

Web & Networking

Networking & Discovery

Authentication & Security

Database & Storage

Utilities & Infrastructure

Data Processing & Parsing

Media & Image Processing

UI & Interface

Development & Testing

Core Libraries

Transpiler & Code Generation

  • gpipe - General-purpose transpiler framework
  • gpipe_ast - Abstract syntax tree for gpipe

Examples & Demos

Note: The workspace includes 25+ example packages demonstrating various features across different domains:

Async & Concurrency

  • cancel - Async cancellation examples
  • simulated - Simulated async examples

Database & Persistence

Schema & Migrations

HTTP & Web Server

Testing & Simulation

HyperChad UI

Filesystem

For a complete list of examples, see the workspace members in Cargo.toml.

About

A music app for cows

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •