{"id":13910698,"url":"https://github.com/rstemmer/musicdb","last_synced_at":"2026-01-27T16:36:47.532Z","repository":{"id":170258013,"uuid":"101579638","full_name":"rstemmer/musicdb","owner":"rstemmer","description":"🎧 A music manager with focus on remote access to your music by having a WebUI and providing an audio stream.","archived":false,"fork":false,"pushed_at":"2023-11-06T15:55:48.000Z","size":33177,"stargazers_count":65,"open_issues_count":19,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-08-08T00:43:58.614Z","etag":null,"topics":["cli","client","cloud","gstreamer","javascript","music","music-collection","music-library","music-manager","music-player","music-streaming","musicdb","python","python3","self-hosted","server","streaming","streaming-audio","webui"],"latest_commit_sha":null,"homepage":"https://rstemmer.github.io/musicdb/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rstemmer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-08-27T20:53:47.000Z","updated_at":"2024-07-29T22:57:26.000Z","dependencies_parsed_at":"2023-11-07T00:13:51.721Z","dependency_job_id":"0e7e0159-9e02-4f64-80cd-d9a403b70a4c","html_url":"https://github.com/rstemmer/musicdb","commit_stats":null,"previous_names":["rstemmer/musicdb"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstemmer%2Fmusicdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstemmer%2Fmusicdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstemmer%2Fmusicdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstemmer%2Fmusicdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rstemmer","download_url":"https://codeload.github.com/rstemmer/musicdb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226388718,"owners_count":17617321,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","client","cloud","gstreamer","javascript","music","music-collection","music-library","music-manager","music-player","music-streaming","musicdb","python","python3","self-hosted","server","streaming","streaming-audio","webui"],"created_at":"2024-08-07T00:01:42.694Z","updated_at":"2026-01-27T16:36:47.526Z","avatar_url":"https://github.com/rstemmer.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"\n\u003ch1 align=\"center\"\u003eMusicDB\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\u003cb\u003eYour Music. Your Cloud.\u003c/b\u003e\u003c/p\u003e\n\n![MusicDB WebUI Screenshot](docs/landingpage/img/WebUI-3.2.0.jpg?raw=true)\n\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/rstemmer/musicdb/releases\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/release/rstemmer/musicdb.svg\" alt=\"MusicDB releases\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.python.org/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/python-3.9+-blue.svg\" alt=\"Python 3.9+\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/rstemmer/musicdb/blob/master/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/License-GPLv3-green.svg\" alt=\"License\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://twitter.com/MusicDBProject/\"\u003e\n    \u003cimg src=\"https://img.shields.io/twitter/follow/musicdbproject.svg\" alt=\"Twitter: @MusicDBProject\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\n---\n\n\n## 🚀 Quick Start\n\n\u003cp align=\"center\"\u003e\n  [\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://rstemmer.github.io/musicdb/\"\u003e🌍 Website\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://rstemmer.github.io/musicdb/build/html/usage/install.html\"\u003e⚙️ Installation Guide\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://rstemmer.github.io/musicdb/build/html/usage/webui.html\"\u003e🎵 Usage Guide\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;]\n\u003c/p\u003e\n\n| Distribution | Download | Quick Installation |\n| --- | --- | --- |\n| **Arch Linux**   | [📦 musicdb-8.1.0-1-any.pkg.tar.zst](https://github.com/rstemmer/musicdb/releases/download/v8.1.0/musicdb-8.1.0-1-any.pkg.tar.zst) | `pacman -U ./musicdb-8.0.0-1-any.pkg.tar.zst` |\n| **Fedora** 36    | [📦 musicdb-8.1.0-1.fc36.noarch.rpm](https://github.com/rstemmer/musicdb/releases/download/v8.1.0/musicdb-8.1.0-1.fc36.noarch.rpm) | `dnf install ./musicdb-8.0.0-1.fc36.noarch.rpm` |\n| **Ubuntu** 22.04 | [📦 musicdb-8.1.0-1_all.deb](        https://github.com/rstemmer/musicdb/releases/download/v8.1.0/musicdb-8.1.0-1_all.deb        ) | `apt install ./musicdb-8.0.0-1_all.deb` |\n| Source Code      | [📦 musicdb-8.1.0-src.tar.zst](      https://github.com/rstemmer/musicdb/releases/download/v8.1.0/musicdb-8.1.0-src.tar.zst      ) | [⚙️ Install from Source Code](https://rstemmer.github.io/musicdb/build/html/usage/fromsource.html) |\n| Documentation    | [📦 musicdb-8.1.0-doc.tar.zst](      https://github.com/rstemmer/musicdb/releases/download/v8.1.0/musicdb-8.1.0-doc.tar.zst      ) | [⚙️ Install Documentation](https://rstemmer.github.io/musicdb/build/html/usage/installdocs.html) |\n\n[⚙️ Install, Setup and Run MusicDB with Apache and Icecast](https://rstemmer.github.io/musicdb/build/html/usage/install.html)\n\nMusicDB requires Python 3 version 3.9.0 or later.\n\n## 💡 Information\n\nMusicDB is hardware independent. It works with any Linux distribution installed on PC, ARM (like [Raspberry Pi](https://www.raspberrypi.com/)) or Mac.\n\n**Important:** See [Transition from 7.2.0 to 8.0.0](https://rstemmer.github.io/musicdb/build/html/basics/data.html#transition-from-7-2-0-to-8-0-0) in case you already have MusicDB 7.2.0 installed.\n\n**Important:** After updating MusicDB from 8.0.0 to 8.1.0 check if configuration file (/etc/musicdb.ini) has been updated as well.\nSome new album cover scales (200 and 1000) need to be configured.\nThen restart musicdb (`systemctl restart musicdb`).\nOtherwise artworks are missing in the web front-end on high resolution screens.\n\n---\n\n## 🔍 Details\n\n\u003cp align=\"center\"\u003e\n  [\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://rstemmer.github.io/musicdb/build/html/usage/install.html\"\u003e⚙️ Installation Guide\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://rstemmer.github.io/musicdb/build/html/usage/webui.html\"\u003e🎵 Usage Guide\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://rstemmer.github.io/musicdb/build/html/basics/overview.html\"\u003e⚙️ Architecture\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;]\n\u003c/p\u003e\n\nMusicDB is a music manager with focus on remote access to your music collection using a web-based user interface.\nIt allows you to manage an audio stream based on a song-queue.\nThe WebUI is focusing on being a presentation of your music rather than being a database front-end.\n\nSo, when you are listening to your music, you do not work with software.\nInstead you explore your music collection.\n\nI started this project on 4th January 2014.\nSince I finished a first prototype within one weekend, I use MusicDB almost every day.\nTime to share it with the world. :smiley:\n\n### New in Version 8.1.0\n\n* Improved album filter for genres and sub genres\n* Experimental support for the Chromium web browser\n* Some annoying bugs fixed (Most important: Uploading albums can be continued after connection error)\n\n### Features\n\n* **Artwork Oriented:** Albums and songs are represented by their artwork.\n* **Clean Presentation:** No meta data overloaded list-based UI.\n* **Fuzzy search:** The search allows you to have  typos and issues with foreign languages.\n* **Focus on a Genre:** Hide all music not tagged with the genres you currently like to listen to.\n* **Annotate your Mood:** Use flags to annotate songs with specific moods or themes.\n* **Queue Based:** No playlist management distracts you from your music. Put a songs into the queue, then it will be played.\n* **Private:** Your music is stored on your private server.\n* **Everywhere:** Control via Web Application. Listen via Audio Stream.\n* **Single User:** MusicDB is a Single-User Multi-Client application. Connect all your computers to MusicDB without messing around with user management.\n* **No Limits:** Scales with music collections of hundreds of albums.\n* **Independence:** Keeps your music directory clean to use it with other tools as well. The file system is ground truth, not the database.\n\n\n---\n\n## 💬 Socialize\n\n\u003cp align=\"center\"\u003e\n  [\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://github.com/rstemmer/musicdb/discussions\"\u003e💬 GitHub Discussions\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://twitter.com/MusicDBProject\"\u003e🐦 Twitter\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://github.com/rstemmer/musicdb/issues\"\u003e🐞 GitHub Issues\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;]\n\u003c/p\u003e\n\nProviding and maintaining open source software comes with some downsides and a lot of work.\nI'd like to know if anyone is using this software, and what you are doing with it. :smiley:\n\n* **Star:** Hit the ☆ to make this repository a bit more relevant.\n* **Feedback:** Provide some feedback [on GitHub Discussions](https://github.com/rstemmer/musicdb/discussions). Why do you *like*, *don't like* or *don't care* about MusicDB.\n* **Experience:** Share some experience or screenshots [on GitHub Discussions](https://github.com/rstemmer/musicdb/discussions) or [Twitter](https://twitter.com/MusicDBProject).\n* **Bug Reports:** [Create an Issue](https://github.com/rstemmer/musicdb/issues) if something does not work as you expect.\n* **Feature Request:** [Create an Issue](https://github.com/rstemmer/musicdb/issues) if you like to see some feature in MusicDB.\n* **Contact Me:** Write me an e-mail if you don't like to write something on the public channels.\n\n\n---\n\n## 🎵 Using MusicDB\n\n\u003cp align=\"center\"\u003e\n  [\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://rstemmer.github.io/musicdb/build/html/usage/install.html\"\u003e⚙️ Installation Guide\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://rstemmer.github.io/musicdb/build/html/usage/webui.html\"\u003e🎵 Usage Guide\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://rstemmer.github.io/musicdb/build/html/index.html\"\u003e📚 Code Documentation\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;]\n\u003c/p\u003e\n\nThe start page of [:notebook: MusicDB's Documentation](https://rstemmer.github.io/musicdb/build/html/index.html)\nshould give you the help you need to start.\nThe documentation is also made for developers, not only users. So there is much more information than you will need to use MusicDB.\nFor the beginning, focus on the following chapters:\n\n1. [:notebook: Installation and Setup Manual](https://rstemmer.github.io/musicdb/build/html/usage/install.html)\n2. [:notebook: Check the MusicDB Configuration](https://rstemmer.github.io/musicdb/build/html/basics/config.html)\n3. [:notebook: Upload and Import Music](https://rstemmer.github.io/musicdb/build/html/usage/import.html) to MusicDB\n4. [:notebook: WebUI Documentation](https://rstemmer.github.io/musicdb/build/html/usage/webui.html)\n\nSome helpful hints:\n\n* Don't be to specific with the genre tags. Define only one tag per genre like *Metal*, *Pop*, *Classic*, …\n* Use sub-genre tags for a more detailed classification.\n* Tag albums beforehand and songs only when they are currently playing.\n* Set mood-flags only for the current playing song.\n* Check the [:notebook: Configuration of Randy](https://rstemmer.github.io/musicdb/build/html/basics/config.html#randy) to make sure the random song selection can work with your music collection. When you have a small music collection, decrease the blacklist sizes.\n* When defining the Album-View colors, pay attention to good contrast and follow the color scheme of the album cover.\n\nIf there are any problems setting up MusicDB, create an issue.\n\n\n---\n\n## 🔩 Technical Details\n\n\u003cp align=\"center\"\u003e\n  [\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://rstemmer.github.io/musicdb/build/html/basics/overview.html\"\u003e⚙️ Architecture\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"https://rstemmer.github.io/musicdb/build/html/index.html\"\u003e📚 Code Documentation\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;]\n\u003c/p\u003e\n\nThis section gives you a rough overview of some technical details you may want to know before installing MusicDB.\n\n### Requirements\n\nI test MusicDB only with the latest version of the requirements listed below.\nIf MusicDB breaks when updating dependencies, it's a bug in MusicDB.\nThen please create an issue including the name and version of the dependency that causes issues.\nIn case MusicDB does not run on outdated operating systems, update your system :wink:\n\n* A Linux operating system (Obviously :smiley: )\n* [Python3 \u003e= 3.9](https://www.python.org/) for the back-end\n* [Icecast](https://icecast.org/) and [GStreamer](https://gstreamer.freedesktop.org/) for streaming\n* [Apache](https://httpd.apache.org/) for serving the Web User Interface\n* A detailed list of all dependencies can be found in the [Install from Source](https://rstemmer.github.io/musicdb/build/html/usage/fromsource.html) documentation\n\nMusicDB is hardware independent. It works with any Linux distribution installed on PC, ARM (like [Raspberry Pi](https://www.raspberrypi.com/)) or Mac.\n\nI develop and operate MusicDB on an [Arch Linux](https://www.archlinux.org/) for x86-64. So on this system it will run most reliable :smiley:.\n\n### Note on Debian/Ubuntu\n\nI do not support Debian/Ubuntu distributions for lots of reasons.\n\nAnyway, periodically I test MusicDB also on an [Raspberry Pi 4](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/)\n with [Ubuntu](https://ubuntu.com/download/raspberry-pi)\n or [Raspberry PI OS](https://www.raspberrypi.com/software/) which is Debian based.\nSo, in principle it works.\nThere may be a .deb package for the latest Ubuntu system, but again, expect some difficulties using MusicDB on Debian/Ubuntu.\nSome quirks with Debian/Ubuntu are documented in the installation documentation.\n\nSometime it happens that MusicDB does not run on certain distributions like Debian or Ubuntu LTS because the packages provided by those distributions are too old.\nI consider this as an issue of those distributions, not of MusicDB.\n\nFor best experience I recommend Arch Linux or Fedora to run MusicDB.\n\n### Tested Distributions and Browsers\n\n🟢 Test succeeded, 🔴 Test failed, 🟡 Not tested\n\n\nThe following list shows on which Linux distribution installing and running the MusicDB back-end succeeded:\n\n* 🟢 [Arch Linux](https://archlinux.org/)\n* 🟢 [Fedora 36](https://getfedora.org)\n* 🟢 [Ubuntu 22.04 LTS](https://ubuntu.com/)\n* 🔴 [openSUSE Tumbleweed](https://get.opensuse.org/tumbleweed)\u003csup\u003e1\u003c/sup\u003e\n* 🟡 [Raspberry PI OS](https://www.raspberrypi.com/software/)\n\n\nThe following list shows on which web browser running the MusicDB front-end succeeded:\n\n* 🟢 [Firefox](https://www.mozilla.org/en-US/)\n* 🟢 [Chrome](https://www.google.com/chrome/index.htm)\n* 🟡 [Safari](https://www.apple.com/safari/)\n\n\u003csup\u003e**1: Python too Old** - Python 3.9+ is required; \u003c/sup\u003e\n\n\n---\n\n## 🏗 Roadmap\n\nMusicDB is under active development since 2014.\nBecause I use this software every day, it will remain under active development for a long time.\nBeside maintaining this software, I also think about improving it or adding new features if necessary.\n\nThe following list contains all huge improvements I'm planning to add to MusicDB.\nThe links are pointing to the corresponding GitHub Project page.\n\n**[Integration of Music Videos](https://github.com/rstemmer/musicdb/projects/1)** (Alpha Stage)\u003cbr/\u003e\nIntegrate music videos into the MusicDB infrastructure.\nThe UI should be switch to video-mode.\nThen, instead of showing artists and their albums, artists and their videos will be shown.\nThe videos can then be put into a video-queue that get streamed.\n\n**[Virtual Albums](https://github.com/rstemmer/musicdb/projects/8)** (Planning Phase)\u003cbr/\u003e\nVirtual albums are a collection of single songs that are not related to an album, or a collection of sym-links to (for example) remixes.\n\n**MusicAIv2** (Idea)\u003cbr/\u003e\nNext generation of MusicAI. I already miss the old one that was surprisingly helpful tagging songs. The next generation might base on TensorFlow 2.0 directly. I will have the same or similar architecture since it worked in the past.\n\nMore ideas in \"brain-storming-phase\" can be found on the [Roadmap GitHub Project page](https://github.com/rstemmer/musicdb/projects/4)\n\n\n![MusicDB Logo](graphics/MusicDB/mdblogo.png?raw=true)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frstemmer%2Fmusicdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frstemmer%2Fmusicdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frstemmer%2Fmusicdb/lists"}