Added
- Private music player. New
/player SPA (single-page app) backed by a
dedicated player blueprint. Streams MP3s from the existing downloads folder
using HTTP range requests, supports playlists (create, rename, delete, reorder
tracks), and includes a full-featured in-browser audio player with seek bar,
volume, and shuffle/repeat modes.
- File size in public download UI. After a conversion completes the download
button now shows the file size inline (e.g. ↓ Song Title.mp3 · 6.2 MB).
file_size is propagated through the in-memory job store and the
/status/<job_id> JSON response so app.js can display it without an extra
round-trip.
is_favorite column. New boolean column on the downloads table
(migrated inline via ALTER TABLE … ADD COLUMN … DEFAULT 0) used by the
player to mark favourite tracks.
→ Player link in admin topbar. Quick navigation from the admin DB view
to the player, styled identically to the existing Analytics link.
Changed
auth_utils module extracted. local_only decorator, _client_ip, and
_is_local_request moved from admin_routes.py into a new
app/auth_utils.py so both the admin and player blueprints can share them
without circular imports.
Docker
docker pull ghcr.io/davic80/yt2mp3:2.0.0
|
|
| Image |
ghcr.io/davic80/yt2mp3:2.0.0 |
| Tags |
2.0.0, latest |
| Platforms |
linux/amd64, linux/arm64 |
| Digest |
sha256:ed9986f49357f61088297a0980454b136fa500612cc5a570e818ad5cde110102 |
Deploy on Raspberry Pi
docker compose pull && docker compose up -d
# Or pin this specific version
IMAGE_TAG=2.0.0 docker compose up -d