kami
a7fce17d5b
fix ssrf guard in image proxy ( #111 )
...
- add domain allowlist for known image hosts (coverartarchive.org,
lastfm.freetls.fastly.net, i.scdn.co, images.genius.com, etc.)
- validate redirect targets against allowlist before following
- parse URL properly instead of prefix check (prevents file:// bypass)
- log blocked requests for visibility
2026-07-15 11:24:17 +04:00
kami
f4af906e22
fix n+1 queries in comfortGenerator and deepDiveGenerator ( #110 )
...
both generators ran N sequential queries per artist/album.
rewritten with ROW_NUMBER() OVER (PARTITION BY ...) to get per-group
limits in a single round-trip, preserving existing semantics:
- comfortGenerator: up to 2 tracks per artist (was 20 queries → 1)
- deepDiveGenerator: up to 5 tracks per album (was 20 queries → 1)
2026-07-15 11:23:54 +04:00
kami
3bc9f2d303
muzick: nginx proxy Bearer auth, restart policies, env subst
2026-07-14 15:51:10 +04:00
kami
5bb2f00213
fix muzick backend: pin @fastify/cors@^9.0.1, fix redis hostname, rebuild stale image
2026-07-14 15:31:44 +04:00
kami
5ed8d9e723
add API auth ( #150 #151 ): MUZICK_API_KEY + MUZICK_ADMIN_KEY via Bearer token
2026-07-14 15:03:06 +04:00
kami
ef7fe9e712
merge muzick redis into shared infra stack, rotate secrets
2026-07-14 14:42:53 +04:00
kami
78c46b2dcb
fix #108 systemd service (docker compose), fix #109 pin postgres:16-alpine
2026-07-14 01:37:22 +04:00
kami
42474c65fd
fix AGENTS.md stack ref, add CORS plugin, add .env.example, remove dead index.ts
2026-07-14 01:36:25 +04:00
kami
737bf19fd1
initial state: muzick music player + recommendation engine
2026-07-14 01:35:52 +04:00