--- title: Vocard created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, music, music-streaming, vocard, python, fastapi, vue, subsonic, ml] confidence: medium contested: false sources: - https://selfh.st/apps/?tag=Music - https://github.com/vocard-project/vocard --- # đŸŽ€ Vocard > Serveur de streaming musical moderne Ă©crit en Python (FastAPI) et Vue.js, avec interface soignĂ©e, recherche IA, dossiers intelligents et compatibilitĂ© Subsonic. ## 📋 Informations GĂ©nĂ©rales | MĂ©tadonnĂ©e | Valeur | | :--- | :--- | | **Site web** | https://vocard-project.github.io/ | | **GitHub** | https://github.com/vocard-project/vocard | | **License** | AGPL-3.0 | | **Langage** | Python (FastAPI) / Vue.js | | **Étoiles** | ⭐ 132 | | **DerniĂšre MAJ** | 2026-05 (derniĂšre release) | | **CatĂ©gorie** | [[cat-music]] | ## 📝 Description Vocard est un serveur de streaming musical rĂ©cent (lancĂ© en 2023) qui se positionne comme une alternative moderne Ă  [[app-navidrome]] et [[app-koel]]. Construit sur **FastAPI** (backend Python asynchrone) et **Vue 3** (frontend SPA), il mise sur une **UI trĂšs soignĂ©e** (mode sombre Ă©lĂ©gant, transitions fluides, vue « coverflow » façon Apple Music) et sur un **ensemble de features originales** que l'on ne trouve pas ailleurs : - **Recherche intelligente** : rĂ©sultats qui combinent titre, artiste, album, paroles, et mĂȘme similaritĂ© audio (via l'embedding Chromaprint/AcoustID). - **Dossiers intelligents** (« Smart folders ») : rĂšgles automatiques type « albums ajoutĂ©s ce mois-ci », « genres Metal progressif », « morceaux < 3 min » — similaire Ă  iTunes. - **Visualisation audio** : spectre temps rĂ©el, vu-mĂštre, options d'Ă©galiseur. - **Lyrics synchronisĂ©s** : rĂ©cupĂ©ration automatique (sources Musixmatch / LyricFind via plugin), avec timeline karaokĂ©. - **Multi-utilisateurs** : comptes isolĂ©s, playlists partagĂ©es, historique d'Ă©coute personnel. - **CompatibilitĂ© Subsonic** : partielle, couvre les endpoints principaux (playlists, search, streaming, scrobble). - **Recherche vocale** : Ă  venir selon la roadmap. Le projet est en pleine croissance, avec une communautĂ© Discord active, des releases frĂ©quentes, et un focus sur l'expĂ©rience utilisateur. IdĂ©al pour qui veut une UI moderne type « Apple Music / Spotify » mais 100 % auto-hĂ©bergĂ©e. ## 🚀 Installation ### Option 1 : Docker Compose (recommandĂ©) ```yaml # docker-compose.yml version: "3.8" services: vocard: image: ghcr.io/vocard-project/vocard:latest container_name: vocard restart: unless-stopped ports: - "3010:3000" environment: SECRET_KEY: ChangeM3_VOCARD_SECRET DEFAULT_USER: admin DEFAULT_PASSWORD: ChangeM3_VOCARD_ADMIN DB_TYPE: sqlite MUSIC_PATH: /music volumes: - ./data:/data - ./music:/music:ro depends_on: - db db: image: postgres:16-alpine container_name: vocard-db restart: unless-stopped environment: POSTGRES_USER: vocard POSTGRES_PASSWORD: ChangeM3_VOCARD_PG POSTGRES_DB: vocard volumes: - ./pgdata:/var/lib/postgresql/data ``` Premier lancement : visiter `http://localhost:3010/`, login `admin` / `ChangeM3_VOCARD_ADMIN`, puis `Settings → Library` pour pointer vers `/music`. ### Option 2 : Installation manuelle PrĂ©requis : Python 3.11+, Node 20+, PostgreSQL 14+ (ou SQLite par dĂ©faut). Cloner le repo, `cd backend && pip install -r requirements.txt`, `cd frontend && npm ci && npm run build`, configurer `backend/.env`, lancer `python main.py` cĂŽtĂ© backend et servir le `dist/` cĂŽtĂ© frontend. ## ⚙ Configuration - **SECRET_KEY** : 64+ caractĂšres alĂ©atoires, critique pour la sĂ©curitĂ© des sessions JWT. - **Base de donnĂ©es** : SQLite par dĂ©faut (simple, mais moins performant sur grosses biblios), PostgreSQL recommandĂ©. - **BibliothĂšque** : `MUSIC_PATH` pointe vers le dossier musiques, scan incrĂ©mental toutes les 6h par dĂ©faut. - **Recherche** : Chromaprint/AcoustID pour la similaritĂ© audio, nĂ©cessite clĂ© API AcoustID. - **Auth** : locale, header `X-Forwarded-User` pour SSO reverse-proxy. - **Lyrics** : Musixmatch (gratuit) ou LyricFind (payant). - **Subsonic** : activable dans Settings, gĂ©nĂšre une API key par utilisateur. - **MĂ©tadonnĂ©es** : extraction via mutagen, pochettes, normalisation ReplayGain. ## 🔄 Alternatives ### Open Source - [[app-koel]] — PHP/Vue, UI trĂšs soignĂ©e aussi, plus mature. - [[app-navidrome]] — Go, ultra lĂ©ger, UI plus basique. - [[app-ampache]] — PHP historique, plus riche fonctionnellement. - [[app-funkwhale]] — FĂ©dĂ©rĂ© (ActivityPub), orientĂ© podcasts. - [[app-polaris]] — TypeScript/Svelte, discovery-focused, voir fiche dĂ©diĂ©e. - [[app-gonic]] — Go, minimaliste Subsonic. - [[app-music-assistant]] — AgrĂ©gateur multi-source (complĂ©mentaire). ### PropriĂ©taires (ce que cette app remplace) - Spotify — Streaming freemium. - Apple Music — Streaming avec UI coverflow. - YouTube Music — Streaming avec vidĂ©o. - Tidal — Streaming HiFi/FLAC. - Plexamp — Player Plex. ## 🔒 SĂ©curitĂ© - **SECRET_KEY** : variable critique, doit ĂȘtre unique et longue, rotation invalide tous les JWT en cours. - **HTTPS obligatoire** via Traefik/Caddy : le frontend est une SPA qui parle au backend JSON. - **PostgreSQL password** : stocker dans un fichier `.env` non versionnĂ©, ne pas mettre `ChangeM3_*` en production. - **Trusted proxies** : configurer `TRUSTED_HOSTS` et `TRUSTED_PROXIES` cĂŽtĂ© FastAPI si reverse proxy. - **Volumes** : `./data` contient la base SQLite/Postgres + cache pochettes, Ă  backuper. `./music` en `:ro` (lecture seule). - **CORS** : restreindre `CORS_ORIGINS` Ă  votre domaine (`https://vocard.example.com`) en production. - **Mises Ă  jour** : suivre les releases GitHub, projet jeune donc rythme rapide. - **Rate limiting** : FastAPI a des add-ons (`slowapi`), Ă  activer contre le brute-force login. ## 📚 Ressources - Site officiel : https://vocard-project.github.io/ - Documentation : https://github.com/vocard-project/vocard/wiki - Repository : https://github.com/vocard-project/vocard - DĂ©mo : https://vocard-project.github.io/demo (lorsque disponible) - Discord : https://discord.gg/vocard ## 🔗 Pages LiĂ©es - [[cat-music]] — CatĂ©gorie parente - [[app-koel]] — Concurrent PHP/Vue, plus mature - [[app-navidrome]] — Concurrent Go, plus lĂ©ger - [[app-polaris]] — Autre alternative moderne (TS/Svelte) - [[app-funkwhale]] — FĂ©dĂ©rĂ© - [[app-music-assistant]] — AgrĂ©gateur complĂ©mentaire - [[app-traefik]] — Reverse proxy HTTPS - [[recettes-docker-compose]] — Templates Docker - [[securisation-home-lab]] — Bonnes pratiques