Aller au contenu

Configuration

La pile se configure avec des variables d’environnement dans .env, à côté de docker-compose.yml. Partez de .env.example. Les réglages de la station (fondus, rotation, fuseau horaire, classement de la bibliothèque, clé AcoustID…) ne sont pas ici : ils sont enregistrés dans la base de données et se changent depuis l’interface web ou l’API.

Variable Par défaut Rôle
HERON_VERSION latest Étiquette d’image des cinq services : latest, edge, ou une version comme 0.1.0. Voir Mises à jour
Variable Par défaut Rôle
HERON_DB_PASSWORD change-me Mot de passe MariaDB de l’utilisateur de Heron. Lettres, chiffres, - et _ : il est inclus dans une URL
HERON_DB_ROOT_PASSWORD change-me-too Mot de passe root de MariaDB
Variable Par défaut Rôle
HERON_MUSIC_DIR ./data/music La bibliothèque musicale
HERON_FALLBACK_DIR ./data/fallback Les pistes que le moteur joue quand sa file est vide
HERON_INCOMING_FOLDER ./data/incoming Déposez-y les nouveaux fichiers : ils passent dans la zone tampon
HERON_STAGING_FOLDER ./data/staging La zone tampon : les nouveaux fichiers en attente d’import. De préférence sur le système de fichiers de la bibliothèque
HERON_LIBRARIAN_USER 1000:1000 uid:gid sous lequel tournent heron-librarian et heron-api : le propriétaire des dossiers de musique, d’arrivée et de la zone tampon
Variable Par défaut Rôle
HERON_SCAN_INTERVAL 3600 Secondes entre deux parcours complets de la bibliothèque
HERON_LIBRARY_WATCH true Parcourir à chaque changement de fichier. false sur les partages réseau qui ne signalent pas les changements
HERON_NICE 10 Priorité (nice) de heron-analyzer et heron-librarian (0 à 19), pour qu’ils laissent processeur et disque au moteur
Variable Par défaut Rôle
HERON_HTTP_PORT 8000 Port de l’hôte pour l’interface web et l’API
HERON_ICECAST_PORT 8010 Port de l’hôte pour le serveur Icecast local optionnel (--profile icecast)
Variable Par défaut Rôle
RUST_LOG info Niveau de journalisation des services, par exemple heron_engine=debug,info
HERON_SENTRY_DSN vide : désactivé DSN Sentry pour les erreurs des services
HERON_WEB_SENTRY_DSN vide : désactivé DSN Sentry pour l’interface web. Les navigateurs le lisent : donnez-lui un projet à part
HERON_SENTRY_ENVIRONMENT production Environnement Sentry
Variable Par défaut Rôle
HERON_STATION_NAME heron L’étiquette station de chaque métrique
HERON_METRICS_REMOTE_WRITE_URL vide : désactivé Point d’envoi Prometheus remote write
HERON_METRICS_REMOTE_WRITE_USERNAME Utilisateur de l’authentification basique (Grafana Cloud : l’ID d’instance). Vide : le mot de passe est envoyé comme jeton bearer
HERON_METRICS_REMOTE_WRITE_PASSWORD Mot de passe ou jeton bearer
HERON_METRICS_REMOTE_WRITE_INTERVAL 15 Secondes entre deux envois

Voir Supervision.

Le HTTPS est confié à un proxy inverse devant heron-web (Caddy, nginx, Traefik…). Faites-lui transmettre X-Forwarded-Proto, pour que les cookies de session soient marqués Secure. Le proxy doit aussi relayer les connexions WebSocket sur /api/v1/live.

Les ports propres aux services (métriques et contrôles de santé) n’ont pas d’authentification : ne les publiez jamais sur Internet.