---
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
