A self-hosted private media player for audio files with on-the-fly transcoding and folder-based playlist management.
- 🎵 Multi-format support: wav, mp3, m4a, mp4, flac, ogg
- 🔄 On-the-fly transcoding: Convert to MP3 with intelligent caching
- 📁 Folder-based playlists: Organize by physical folder structure
↕️ Drag-and-drop reordering: Non-destructive playlist management- 🔒 Privacy-focused: Hidden track titles in OS media controls
- 🌐 Cloudflare Zero Trust ready: Secure remote access
# Install dependencies
uv sync
cd frontend && pnpm install && cd ..
# Configure
cp .env.example .env
# Edit .env with your paths
# Run development servers
poe devSee docs/INSTALLATION.md for detailed setup instructions.
| Layer | Technology |
|---|---|
| Frontend | Vue 3 + TypeScript + Pinia |
| Backend | Python + FastAPI |
| Transcoding | FFmpeg |
| Package Manager | uv (Python), pnpm (Node.js) |
| Task Runner | Poe the Poet |
small-media/
├── docs/ # Documentation
├── backend/ # Python FastAPI backend
├── frontend/ # Vue 3 frontend
└── pyproject.toml # Python config & poe tasks
MIT