Skip to content

feat: glyph audiomuse-ai - #547

Open
stackptr wants to merge 5 commits into
mainfrom
glyph/audiomuse
Open

stackptr wants to merge 5 commits into
mainfrom
glyph/audiomuse

Conversation

@stackptr

@stackptr stackptr commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add AudioMuse-AI via oci-containers (flask + worker), using the existing native postgres instance for its DB
  • Fix a NUMBA_CACHE_DIR issue that silently skipped tracks inside the worker container
  • Wire the audiomuseai navidrome plugin/agent now that the backend is running

Stacked on #530 (navidrome plugins: apple-music, nd-lyrics).

Test plan

  • Deploy to glyph and visit http://glyph:8000 to complete the AudioMuse-AI setup wizard
  • Confirm navidrome picks up the audiomuseai agent for recommendations

@stackptr stackptr mentioned this pull request Sep 2, 2026
5 tasks
Base automatically changed from glyph/navidrome-plugins to main September 2, 2026 22:35
Three containers (postgres, flask, worker) on a shared podman network.
Persistent data under /var/lib/audiomuse/. The flask API is exposed on
port 8000 for the navidrome plugin and setup wizard.

After deploying, visit http://glyph:8000 to complete the setup wizard
and connect AudioMuse-AI to navidrome.

Entire-Checkpoint: 2548eb6544f7
(cherry picked from commit 74c8af1)
Replace the audiomuse postgres container with the existing native
services.postgresql instance. Add the audiomuse DB/user to db.nix and
include it in postgresqlBackup. Both app containers switch to
--network=host so they reach postgres on 127.0.0.1 directly, removing
the need for a custom podman network.

Entire-Checkpoint: d794d06ab601
Without this, numba emits 'cannot cache function: no locator available'
inside the Podman container and silently skips all tracks. Pointing the
cache at a subdir of the already-mounted temp volume gives numba a
writable, persistent location.

Entire-Checkpoint: d3b3e5bbdd47
Enable the audiomuseai navidrome plugin and agent now that the
AudioMuse-AI backend is running.

Entire-Checkpoint: 429c92e2b778
AudioMuse-AI's flask container binds host port 8000 directly via
--network=host (its internal port is hardcoded, not configurable).
open-terminal was already publishing 8000:8000, so it silently won
the port and answered with its own 404 for any AudioMuse-AI request
instead of connection being refused. Move open-terminal to 8001,
which is trivially remappable, to free 8000 for AudioMuse-AI.

Entire-Checkpoint: 9d33df0e6848
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant