Skip to content

v0.5.6 - Docker Port Configuration, UI Polish & Audio Analysis

Choose a tag to compare

@izzoa izzoa released this 13 Mar 05:39
· 40 commits to master since this release

New Features

Configurable Docker Ports

  • PLEXMIX_UI_PORT — set the frontend port (default: 3000)
  • PLEXMIX_BACKEND_PORT — set the backend API port (default: 8000)
  • PLEXMIX_API_URL — override the websocket URL when Docker ports differ from host ports (e.g., http://myhost:8154)
  • PLEXMIX_ALLOWED_HOSTS — allow custom domains behind reverse proxies (e.g., plexmix.example.com)
  • New CLI options: --backend-port and --api-url for plexmix ui

Smart UI for Docker Images

  • Local AI/embedding provider options are greyed out in Settings when sentence-transformers is not installed (slim Docker image), with a clear explanation
  • Audio filters in the Generator page are conditionally shown only when audio analysis data exists, with a callout guiding users to run analysis first

Audio Analysis in Docker

  • Essentia is now included in Docker images as a best-effort install
  • Available on linux/amd64 — shows as unavailable on linux/arm64 (no wheels exist)

Bug Fixes

  • Docker `:latest` tag now correctly points to the slim image variant (not local) — CI split into sequential jobs to prevent race condition
  • Generator page crash — Radix `Select.Item` rejects empty string values; replaced with `"Any"` sentinel
  • DatabaseSettings validation error — Pydantic v2 rejects `str = Field(default=None)`; changed to `Optional[str]`
  • Blank paths in Settings Advanced tab — Database Path and FAISS Index Path now resolve to defaults when config hasn't been saved
  • Websocket connection failures — Docker port mapping (e.g., `3152:3000`, `8154:8000`) now works via `PLEXMIX_API_URL`

Docker Port Mapping Example

```bash
docker run -d \
-p 3152:3000 -p 8154:8000 \
-e PLEXMIX_API_URL=http://localhost:8154 \
-v plexmix-data:/data \
ghcr.io/izzoa/plexmix:latest
```

Testing

All 315 tests passing ✅