Cuprins

Cocofy

Propria mea aplicație de streaming muzical.

Capitolul 4Mergedcocofy into mainself-hosted · cloudCodul pe GitHub (se deschide într-un tab nou)

Context

Fără conturi, fără reclame, fără abonamente. Doar muzica mea, pe hardware-ul meu.

Cauți o melodie sau un artist, dai click pe un rezultat și redarea pornește imediat ce descărcarea e gata. Fiecare melodie rămâne apoi pe server, așa că biblioteca crește singură pe măsură ce ascult.

Ce am făcut

  • Un backend FastAPI care caută în catalogul muzical YouTube, descarcă cu yt-dlp și face streaming la rezultat.
  • MP3-uri la cea mai bună calitate disponibilă, cu toate metadatele și coperta inclusă.
  • Un frontend într-un singur fișier, în HTML, CSS și JavaScript simplu. Merge bine pe telefon prin Tailscale și are scurtături de tastatură pe desktop.
  • Compatibil cu Navidrome: melodiile ajung în folderul pe care îl urmărește Navidrome, așa că apar și în orice aplicație Subsonic pentru ascultare offline.

Deploy

Fiecare push pe main construiește o nouă imagine Docker cu GitHub Actions și o urcă în GHCR. Watchtower o preia în mai puțin de 30 de secunde și repornește containerul. Nu trebuie niciodată să intru pe server ca să fac deploy.

Ce urmează

Lista e lungă: cozi cu shuffle și repeat, playlisturi, favorite, versuri, import de playlisturi YouTube, egalizator, sleep timer, o vizualizare „now playing” pe tot ecranul și suport PWA offline.

Întoarce paginaCapitolul 5: Shift