Files
mice/README.md

3.6 KiB

splash

mice (project still reworked)

project still, now with navidrome

project based on shadcn/ui's music template

This is a modern music streaming web application built with Next.js and shadcn/ui, now powered by Navidrome for a complete self-hosted music streaming experience.

New: Migrated from Firebase + static data to Navidrome/Subsonic integration for real music streaming!

Features

  • 🎵 Real Music Streaming via Navidrome/Subsonic API
  • 📱 Modern UI with shadcn/ui components
  • 🎨 Dynamic Album Artwork from your music library
  • Favorites - Star albums, artists, and songs
  • 📋 Playlist Management - Create and manage playlists
  • 🔍 Search - Find music across your entire library
  • 🎧 Audio Player with queue management
  • 📊 Scrobbling - Track your listening history

Preview

preview

Quick Start

Prerequisites

  • Navidrome server running
  • Node.js 18+ and pnpm

Setup

  1. Clone and install
git clone https://github.com/sillyangel/project-still.git
cd project-still/
pnpm install
  1. Configure Navidrome connection
cp .env.example .env

Edit .env with your Navidrome server details:

NEXT_PUBLIC_NAVIDROME_URL=http://localhost:4533
NEXT_PUBLIC_NAVIDROME_USERNAME=your_username
NEXT_PUBLIC_NAVIDROME_PASSWORD=your_password
NEXT_PUBLIC_POSTHOG_KEY=phc_XXXXXXXXXXXXXXXXXX
NEXT_PUBLIC_POSTHOG_HOST=https://us.i.posthog.com
  1. Run the development server
pnpm dev

Open http://localhost:40625 in your browser.

Docker Deployment

For easy deployment using Docker:

Quick Docker Setup

# Run using pre-built image (app will prompt for Navidrome configuration)
docker run -p 3000:3000 ghcr.io/sillyangel/mice:latest

# Or build locally
docker build -t mice .
docker run -p 3000:3000 mice
# Copy environment template and configure
cp .env.docker .env
# Edit .env with your settings (optional - app can prompt)
docker-compose up -d

Pre-configured Docker Run

docker run -p 3000:3000 \
  -e NEXT_PUBLIC_NAVIDROME_URL=http://your-navidrome-server:4533 \
  -e NEXT_PUBLIC_NAVIDROME_USERNAME=your_username \
  -e NEXT_PUBLIC_NAVIDROME_PASSWORD=your_password \
  ghcr.io/sillyangel/mice:latest

📖 For detailed Docker configuration, environment variables, troubleshooting, and advanced setups, see DOCKER.md

Migration from Firebase

This project was migrated from Firebase to Navidrome. See NAVIDROME_MIGRATION.md for detailed migration notes and troubleshooting.

Tech Stack

  • Frontend: Next.js 15, React 19, TypeScript
  • UI: shadcn/ui, Tailwind CSS, Radix UI
  • Backend: Navidrome (Subsonic API compatible)
  • Audio: Web Audio API with streaming
  • State: React Context for global state management

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test with your Navidrome server
  5. Submit a pull request

License

This project is licensed under the MIT License.

Acknowledgments