You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Self-hosted tool that uses sonic analysis to rediscover songs and generate groove-aware playlists for your music library (Jellyfin, Navidrome, Emby, Lyrion, Plex).
Stack: Flask web UI (gunicorn :8000) + Redis Queue workers (worker, high-priority, janitor), PostgreSQL 16, Redis. Python deps from requirements/common.txt + cpu.txt via uv.
Persistence: ML models/caches + .env in /opt/audiomuse-ai_data; analysis results in PostgreSQL.
Note: generated admin password saved to /root/audiomuse-ai.creds. Sonic analysis is CPU/RAM-heavy and downloads CLAP/ONNX models on first use.
The generated web UI password is saved to /root/audiomuse-ai.creds inside the container (user: admin). Open http://:8000 to log in.
Connect your music server before running an analysis: edit /opt/audiomuse-ai_data/audiomuse.env and set MEDIASERVER_TYPE (jellyfin, navidrome, emby, lyrion, plex) plus the matching URL and credentials, then 'systemctl restart audiomuse-ai audiomuse-ai-worker audiomuse-ai-worker-high'.
The installer downloads roughly 2.2 GB of ML models (musicnn, CLAP, Whisper, silero, gte) into /opt/audiomuse-ai_data/model, so the setup takes a while. Configuration, models and caches live in /opt/audiomuse-ai_data so they survive updates; the PostgreSQL database holds the analysis results. Sonic analysis itself is CPU- and memory-intensive.
Running two analysis workers can use significant RAM. If the container runs out of memory, disable audiomuse-ai-worker-high or increase the assigned RAM.
Note: This is not in the official repo yet—it's just a dev version! After merging into ProxmoxVE, it will need to be recreated.
A recent update seems to have broken this, rq_worker.py and rq_worker_high_priority.py no longer exist within so that the service grabs them. Even after a fresh recreate.
Edit: They also seem to now have a native linux package that should make this cleaner to update and maintain.
root@test:/opt# systemctl --user enable --now audiomuse-ai
Failed to connect to user scope bus via local transport: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=@.host --user to connect to bus of other user)
root@test:/opt#
I get this error. It seems the python version is not correct in the setup.
Setting up Python Environment (Patience)cpython-3.11.16-linux-x86_64-gnu (download) ------------------------------ 0 B/29.52 MiB
Using CPython 3.11.16
Creating virtual environment with seed packages at: .venv
+ packaging==26.3
+ pip==26.2.1
+ setuptools==84.0.0
+ wheel==0.48.0
Activate with: source .venv/bin/activate
x No solution found when resolving dependencies:
`-> Because the current Python version (3.11.16) does not satisfy Python>=3.12 and librosa==1.0.0 depends on Python>=3.12, we can conclude that librosa==1.0.0 cannot be used.
And because only librosa<=1.0.0 is available and you require librosa==1.0.0, we can conclude that your requirements are unsatisfiable.
✖️ in line 37: exit code 1 (General error / Operation not permitted): while executing command uv pip install --python /opt/audiomuse-ai/.venv -r /opt/audiomuse-ai/requirements/common.txt -r /opt/audiomuse-ai/requirements/cpu.txt
Disclaimer; still learning!
Hey, I seem to have this running fine, connected to my Jellyfin server, all OK.
However there seems to be no workers shown in the UI: "No active workers detected."
Also noticed I went through the setup wizard and applied settings but they did not replicate in "/opt/audiomuse-ai_data/audiomuse.env" so i set the same values in the file. Didnt seem to make any difference either way though.
I cant seem to find logs either.
Prox V9.2.10
I applied the startexec fixes for the worker services noted on discord shortly after my original comment, which got the current install up and running but what's the best practice to re-test the script without losing data?
I can simply run it to a new LXC to test then remove it later but would like to ensure my current LXC is properly set up.
Activity
github-actions commentedon Aug 3, 2026
The AudioMuse-AI script is ready for testing:
Default credentials:
Username: admin
The generated web UI password is saved to /root/audiomuse-ai.creds inside the container (user: admin). Open http://:8000 to log in.
Connect your music server before running an analysis: edit /opt/audiomuse-ai_data/audiomuse.env and set MEDIASERVER_TYPE (jellyfin, navidrome, emby, lyrion, plex) plus the matching URL and credentials, then 'systemctl restart audiomuse-ai audiomuse-ai-worker audiomuse-ai-worker-high'.
The installer downloads roughly 2.2 GB of ML models (musicnn, CLAP, Whisper, silero, gte) into /opt/audiomuse-ai_data/model, so the setup takes a while. Configuration, models and caches live in /opt/audiomuse-ai_data so they survive updates; the PostgreSQL database holds the analysis results. Sonic analysis itself is CPU- and memory-intensive.
Running two analysis workers can use significant RAM. If the container runs out of memory, disable audiomuse-ai-worker-high or increase the assigned RAM.
Note: This is not in the official repo yet—it's just a dev version! After merging into ProxmoxVE, it will need to be recreated.
Discord testing thread: https://discord.com/channels/1302816934508630047/1533795063170203719
dokmaister commentedon Aug 5, 2026
Many thanks @MickLesk - installation worked like a charm on my x86_64 13th Gen Intel(R) Core(TM) i9-13900H
Silvani-In-The-Net commentedon Aug 17, 2026
A recent update seems to have broken this, rq_worker.py and rq_worker_high_priority.py no longer exist within so that the service grabs them. Even after a fresh recreate.
Edit: They also seem to now have a native linux package that should make this cleaner to update and maintain.
MickLesk commentedon Aug 17, 2026
not really... its like windows .exe (GUI)
root@test:/opt# systemctl --user enable --now audiomuse-ai
Failed to connect to user scope bus via local transport: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR not defined (consider using --machine=@.host --user to connect to bus of other user)
root@test:/opt#
Silvani-In-The-Net commentedon Aug 17, 2026
I can see that now, my apologies
AminGholizad commentedon Aug 19, 2026
I get this error. It seems the python version is not correct in the setup.
Virt1080 commentedon Aug 23, 2026
Disclaimer; still learning!
Hey, I seem to have this running fine, connected to my Jellyfin server, all OK.
However there seems to be no workers shown in the UI: "No active workers detected."
Also noticed I went through the setup wizard and applied settings but they did not replicate in "/opt/audiomuse-ai_data/audiomuse.env" so i set the same values in the file. Didnt seem to make any difference either way though.
I cant seem to find logs either.
Prox V9.2.10
MickLesk commentedon Sep 8, 2026
should be done, can you re-evaluate it?
AminGholizad commentedon Sep 8, 2026
It works for me
Virt1080 commentedon Sep 8, 2026
I applied the startexec fixes for the worker services noted on discord shortly after my original comment, which got the current install up and running but what's the best practice to re-test the script without losing data?
I can simply run it to a new LXC to test then remove it later but would like to ensure my current LXC is properly set up.
github-actions commentedon Sep 21, 2026
A PR has been created for audiomuse-ai: community-scripts/ProxmoxVE#17415
MickLesk commentedon Sep 21, 2026
Merged with #17415 in ProxmoxVE
github-actions commentedon Sep 21, 2026
Files deleted with PR #2306