Koel
Self-HostedOpen-source self-hosted music streaming app for your personal library
Overview
Koel lets you stream your personal music library from anywhere. It supports multiple audio formats (MP3, FLAC, WAV), features a clean responsive UI, smart playlists, search, and user management. Deployment is easy via Docker (one command) or manual setup with PHP 8.1+, Node.js, and MySQL/MariaDB. It integrates with Last.fm for scrobbling, allows offline mobile listening, and gives full control over your music without third-party services like Spotify or Apple Music.
Self-Hosting Resources
Below is a reference structure for docker-compose.yml.
⚠️ Do NOT run blindly. Replace placeholders with official values.
version: '3'
services:
koel:
image: <OFFICIAL_IMAGE_NAME>:latest
container_name: koel
ports:
- "8080:<APP_INTERNAL_PORT>"
volumes:
- ./data:/app/data
restart: unless-stopped Key Features
- Stream personal music library from any device
- Docker & manual deployment options
- Last.fm integration & smart playlists
Frequently Asked Questions
? Is Koel hard to install?
Koel is easy to install using Docker (one-command setup) or manual installation with PHP 8.1+, Node.js, and a MySQL/MariaDB database. Official docs provide step-by-step guides for both methods.
? Is Koel a good alternative to Spotify for personal music?
Yes—Koel lets you stream your own library privately without ads or subscriptions. Unlike Spotify, it lacks discovery/curated playlists, but it’s ideal for full control over your music.
? Is Koel completely free?
Yes! Koel is open-source under the MIT License, so it’s free to use, modify, and self-host with no hidden costs or premium features.
Top Alternatives
People Also Ask about Koel
Tool Info
Pros
- ⊕ Privacy-focused (no third-party tracking)
- ⊕ Supports multiple high-quality audio formats
- ⊕ Open-source with no subscription fees
Cons
- ⊖ Requires server setup (Docker or LAMP stack)
- ⊖ No built-in music discovery (relies on your library)
- ⊖ Mobile app not available on official app stores