music-app/README.md
Jarian Cottingham 7e09799859 fix: batch fix all issues
- Add auth middleware (API key) to protect API routes (#5, #7)
- Add WebSocket handlers and cleanup on disconnect (#3, #8)
- Add web Dockerfile (#1)
- Fix memory upload with streaming chunks (#10)
- Move lofi seed to startup, remove per-request seeding (#9)
- Document ffmpeg dependency in README and .env.example (#6)
- Fill in mobile app with API-connected UI (#4)
- Set GENIUS_API_KEY from env var with documentation (#2)
2026-07-05 21:36:59 +00:00

1008 B

Music App

Self-hosted music streaming application with mood radio, lofi channels, SharePlay, and internet radio.

Quick Start

docker-compose up --build

System Dependencies

  • ffmpeg — required for audio transcoding (OGG conversion) and metadata extraction

Configuration

Copy .env.example to .env and set your values:

cp .env.example .env

Key settings:

  • API_KEY — API key for authentication (required in production)
  • GENIUS_API_KEY — Genius.com API key for lyrics (get at https://genius.com/api)
  • MUSIC_DIR — path to local music files
  • DATABASE_URL — database connection string

Project Structure

  • backend/ — FastAPI backend (Python)
  • web/ — React web frontend (Vite + Tailwind)
  • mobile/ — React Native mobile app (Expo)
  • shared/ — Shared TypeScript types and API client