--- title: AzuraCast created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, music, radio, webradio, streaming, azuracast, php, icecast, shoutcast] confidence: high contested: false sources: - https://selfh.st/apps/?tag=Music - https://github.com/AzuraCast/AzuraCast - https://www.azuracast.com/ --- # 📻 AzuraCast > Suite complète de gestion de webradio : hébergement, automatisation, encodage multi-format, planning, live DJ et analytics. Couvre Icecast, Shoutcast et Liquidsoap sous une seule interface web. ## 📋 Informations Générales | Métadonnée | Valeur | | :--- | :--- | | **Site web** | https://www.azuracast.com/ | | **GitHub** | https://github.com/AzuraCast/AzuraCast | | **License** | AGPL-3.0 | | **Langage** | PHP (Laravel) / Liquidsoap / AngularJS | | **Étoiles** | ⭐ 721 (3 800+ sur GitHub) | | **Dernière MAJ** | 2026-06-06 | | **Catégorie** | [[cat-music]] | ## 📝 Description AzuraCast est la solution de référence pour monter une **webradio professionnelle** self-hosted. Né de la fusion de plusieurs projets (Airtime notamment), il combine en une seule plateforme : un **système d'automation** (playlists rotatives, scheduling, jingles), un **serveur de streaming** Icecast 2 ou Shoutcast, un module de **Live DJ** (connexion DJ via navigateur ou client compatible Icecast), un **encodeur** multi-format (MP3, OGG, AAC, Opus) avec **transcodage à la volée**, et un **tableau de bord analytics** complet (écouteurs uniques, géographie, pic d'audience). L'architecture repose sur **Liquidsoap** (le moteur de streaming, en OCaml) couplé à **Icecast 2**, le tout piloté par une interface PHP/Laravel. Une station peut avoir plusieurs « mount points » (128 kbps MP3 pour le public, 320 kbps pour les archives, AAC+ pour mobile, etc.) et diffuser en parallèle sur une dizaines de serveurs relais. La fonction **Podcasts** génère automatiquement un flux RSS pour chaque émission, et **WebDJ** permet aux animateurs de se connecter depuis un simple navigateur sans installer de logiciel. Cas d'usage : radio associative, station communautaire, projet étudiant, radio d'entreprise, webradio thématique. La **communauté Discord** est très active, le développement est régulier, et la documentation de qualité permet un démarrage en moins d'une heure. ## 🚀 Installation ### Option 1 : Docker (recommandé) ```yaml # docker-compose.yml version: "3.8" services: azuracast: image: ghcr.io/azuracast/azuracast:latest container_name: azuracast restart: unless-stopped ports: - "80:80" # Web UI - "8000:8000" # WebDJ (secure) - "8001:8001" # WebDJ (non-secure) - "9000:9000" # Liquidsoap telnet environment: COMPOSE_PROJECT_NAME: azuracast AZURACAST_VERSION: latest volumes: - ./data:/var/azuracast/db - ./stations:/var/azuracast/stations - ./backups:/var/azuracast/backups healthcheck: test: ["CMD", "curl", "-fsS", "http://localhost/api/status"] interval: 60s timeout: 10s retries: 5 ``` Premier lancement : visiter `http://localhost/`, créer le compte super-admin, puis créer une première station depuis l'interface. ### Option 2 : Installation manuelle (bare metal) Prérequis : Ubuntu 22.04 LTS (officiellement supporté), 1 Go de RAM minimum, accès root. Script officiel : `sudo -E bash -c "$(curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/main/docker/install.sh)"` qui installe Docker + l'image AzuraCast en mode `systemd`. ## ⚙️ Configuration - **Stations** : créer une ou plusieurs stations indépendantes (chacune avec ses DJs, ses playlists, ses ports). - **Playlists** : rotatives (mélange random + weighted) ou séquentielles ; scheduling par jour/heure/crontab. - **Médias** : upload via UI (drag & drop, jusqu'à ~2 Go par fichier), ou déposer directement dans le dossier mappé de la station. - **Stream mount points** : qualité basse (128 kbps), moyenne (192 kbps), haute (320 kbps), AAC+ pour mobile, chacun avec son URL publique. - **Live DJ** : `WebDJ` (navigateur) ou client traditionnel (Mixxx, BUTT, RadioBoss) via Icecast source protocol. - **Publicité** : gestion des jingles, liners, IDs, triggering par intervalle ou heure fixe. - **Analytics** : historique complet, géolocalisation des auditeurs (GeoIP), top titres, top auditeurs. - **Backup/Restore** : `Settings → System → Backups` génère une archive JSON complète, restaurable d'un clic. ## 🔄 Alternatives ### Open Source - [[app-icecast]] — Le serveur de streaming basique (utilisé par AzuraCast en interne). - [[app-funkwhale]] — Plutôt orienté podcast et musique à la demande. - [[app-koel]] — Streaming musical à la demande (pas radio). - [[app-navidrome]] — Streaming musical à la demande. - **LibreTime** — Fork communautaire d'Airtime, automation pure. - **RadioCMS** — Autre solution PHP plus légère. - **Rivendell** — Pour radio broadcast FM professionnelle. - **OpenBroadcaster** — Pour la diffusion vidéo en plus de l'audio. ### Propriétaires (ce que cette app remplace) - Radio.co — SaaS webradio (≈ 15-50 $/mois). - Airtime Pro — SaaS automation radio. - Live365 — Streaming radio avec royalties payées. - RadioJar — Agrégateur radio. - SAM Broadcaster Cloud — Suite Windows payante. ## 🔒 Sécurité - **HTTPS obligatoire** : via Traefik ou Caddy avec Let's Encrypt (les streams et l'UI doivent être chiffrés). - **Comptes DJ** : créer des comptes dédiés avec permissions limitées (`WebDJ` seul ou `Playlist Editor` seul), ne jamais donner le rôle super-admin. - **Source passwords Icecast** : mot de passe fort pour le mount principal, distincts pour chaque DJ. - **GeoIP blocking** : si la radio a une licence territoriale (juridique FR/CSAR), configurer CrowdSec. - **Mises à jour** : suivre le canal `Stable` (LTS) ou `Rolling` (features plus tôt, mais plus de risque). - **Backups** : automatiques (`./backups`) + externes, tester régulièrement la restauration sur un environnement jetable. - **Exposition des ports** : ne pas exposer `9000` (Liquidsoap telnet) sur Internet, garder en `127.0.0.1:9000` ou via VPN. - **Sécurité physique** : si serveur bare metal, BIOS verrouillé, GRUB password, chiffrement disque. ## 📚 Ressources - Site officiel : https://www.azuracast.com/ - Documentation : https://www.azuracast.com/docs/ - Repository : https://github.com/AzuraCast/AzuraCast - Communauté Discord : https://discord.gg/azuracast - Wiki : https://github.com/AzuraCast/AzuraCast/wiki - Forum : https://github.com/AzuraCast/AzuraCast/discussions - Démo : https://demo.azuracast.com/ (compte de test public) ## 🔗 Pages Liées - [[cat-music]] — Catégorie parente - [[app-icecast]] — Serveur streaming sous-jacent - [[app-koel]] — Streaming musical à la demande - [[app-navidrome]] — Streaming musical à la demande - [[app-funkwhale]] — Plateforme audio fédérée - [[app-traefik]] — Reverse proxy HTTPS - [[app-crowdsec]] — WAF/ban IP - [[recettes-docker-compose]] — Templates Docker - [[securisation-home-lab]] — Bonnes pratiques