Héberger Owncast sur un VPS géré : vos directs vidéo sur votre serveur

Héberger Owncast sur un VPS géré, c'est diffuser vos directs vidéo et animer leur chat depuis une machine à vous, que nos équipes tiennent à jour et supervisent jour et nuit. Owncast est un logiciel libre sous licence MIT. Ce guide suit sa documentation officielle : le processeur et la bande passante à prévoir, l'installation avec Docker Compose, la clé de diffusion, HTTPS, les qualités vidéo, le stockage objet, le chat, les sauvegardes et les mises à jour.

Simon Vasconcelos Lee Par Publié le 14 novembre 2026Lecture : 15 minutes

Tous les guides

L'essentiel

  1. La licence MIT permet d'utiliser, de modifier et de redistribuer Owncast librement, en entreprise comme ailleurs, en gardant sa notice de copyright.
  2. Le processeur fait le transcodage, et sa charge ne dépend pas du nombre de spectateurs ; la bande passante, elle, croît avec chacun d'eux : débit × spectateurs.
  3. Installez-le avec Docker Compose : l'image owncast/owncast, qui embarque ffmpeg, le port web 8080 derrière un mandataire inverse en HTTPS, et le port RTMP 1935 pour votre logiciel de diffusion.
  4. Changez dès la première connexion le mot de passe d'administration et la clé de diffusion, qui valent tous deux abc123 par défaut.
  5. Owncast sauvegarde sa base chaque heure ; copiez tout le dossier data hors du serveur pour une reprise complète, et mettez à jour avec docker compose pull.

Ce que fait Owncast

Owncast est un serveur de diffusion vidéo en direct et de chat, open source, auto-hébergé et mono-utilisateur : une instance porte la chaîne d'une personne ou d'une organisation. Son README le présente comme une façon de tenir ses propres directs, dans l'esprit des grandes plateformes, en gardant la maîtrise du contenu, de l'interface, de la modération et du public.

Ce que permet la licence MIT

Owncast est publié sous licence MIT. Elle accorde gratuitement le droit d'utiliser, de copier, de modifier, de fusionner, de publier, de distribuer, de sous-licencier et de vendre des copies du logiciel. Vous pouvez donc le faire tourner pour votre entreprise, votre communauté ou vos clients, sans licence à acheter.

La seule condition est de garder la notice de copyright et le texte de la licence dans toute copie ou partie substantielle du logiciel. Le texte fournit le logiciel « tel quel », sans garantie.

Processeur et bande passante : dimensionner le serveur

La documentation le dit d'emblée : les besoins dépendent de votre configuration. Elle pose une règle claire pour les estimer. Le processeur transcode la vidéo dans les qualités que vous proposez ; la bande passante la distribue à chaque spectateur.

La bande passante du serveur

La documentation donne deux formules. Le volume d'un direct, en gigaoctets : débit en kbit/s × durée en secondes × spectateurs ÷ 8 000 000. Le débit de pointe à tenir en sortie, en Mbit/s : débit en kbit/s × spectateurs ÷ 1 000. Avec plusieurs qualités, calculez chacune et additionnez. Ses estimations pour un direct de deux heures :

Débit du flux10 spectateurs25 spectateurs50 spectateurs
2 000 kbit/s18 Go, 20 Mbit/s45 Go, 50 Mbit/s90 Go, 100 Mbit/s
4 000 kbit/s36 Go, 40 Mbit/s90 Go, 100 Mbit/s180 Go, 200 Mbit/s
6 000 kbit/s54 Go, 60 Mbit/s135 Go, 150 Mbit/s270 Go, 300 Mbit/s

Sur un VPS Simafri, le trafic n'a pas de compteur mensuel : vos directs se dimensionnent sur leur débit de pointe. Quand l'audience grandit, le stockage objet, présenté plus bas, sert la vidéo à la place du serveur.

Le processeur

La documentation donne des repères mesurés, en précisant qu'ils varient selon le codec, le débit, la résolution et le préréglage d'encodage :

ConfigurationCharge du processeur
Une seule qualité en passthrough, sans réencodageMinimale
Une seule qualité transcodéeLégère
Deux qualités, haute et basseModérée
Trois qualités, ou une forte compressionÉlevée

La mémoire n'est pas chiffrée par la documentation, et le disque compte peu : les segments vidéo sont écrits puis effacés au fil du direct. Seul le dossier data grandit avec le temps. Sur un VPS, c'est le processeur qui encode : chaque qualité transcodée se dimensionne en vCPU. Sur un VPS géré, décrivez-nous vos directs, leur débit, leurs qualités et votre audience, et nous vous recommandons la taille qui convient.

Votre connexion de diffusion

Avant d'atteindre le serveur, le direct part de votre connexion. La documentation demande un débit montant d'au moins 1,5 fois le débit du flux : 7,5 Mbit/s pour un flux à 5 000 kbit/s. Elle recommande une connexion filaire plutôt que le Wi-Fi.

L'installation avec Docker Compose

La documentation propose l'image owncast/owncast de Docker Hub, qui contient ffmpeg, l'outil d'encodage dont Owncast a besoin. Sur un serveur où Docker est installé, créez un dossier et placez-y ce compose.yaml, tiré de la documentation :

compose.yaml
services:
  owncast:
    image: owncast/owncast:latest
    restart: unless-stopped
    ports:
      - "127.0.0.1:8080:8080"
      - "1935:1935"
    volumes:
      - ./data:/app/data
Terminal
docker compose up -d

Sans Docker : l'installateur officiel

L'autre voie de la documentation est un script qui télécharge la dernière version d'Owncast pour votre plateforme, et ffmpeg s'il n'est pas déjà présent. Il installe tout dans un dossier owncast, sous le dossier courant. La documentation déconseille de le lancer en root et recommande de lire un script distant avant de l'exécuter :

Terminal, avec un compte dédié
curl -s https://owncast.online/install.sh | bash

Pour qu'Owncast démarre avec le serveur et redémarre seul après un arrêt, la documentation fournit un service systemd, à adapter au dossier et au compte choisis :

/etc/systemd/system/owncast.service
[Unit]
Description=Owncast
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/owncast
ExecStart=/opt/owncast/owncast
User=owncast
Group=owncast
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
Terminal
sudo systemctl daemon-reload
sudo systemctl enable --now owncast

Mot de passe et clé de diffusion

L'administration se trouve sur /admin. Owncast démarre avec des identifiants connus de tous, que la documentation demande de changer dès la première connexion :

RéglageValeur par défautSon rôle
Identifiant d'administrationadminLa connexion à /admin
Mot de passe d'administrationabc123La connexion à /admin
Clé de diffusionabc123L'envoi du direct par votre logiciel de diffusion

Pour faire ce changement avant d'ouvrir l'interface au public, passez par un tunnel SSH : le port 8080 du serveur apparaît sur votre poste, à l'adresse http://localhost:8080/admin. Ajoutez -p et le port SSH affiché dans votre espace client.

Terminal, sur votre poste
ssh -L 8080:127.0.0.1:8080 utilisateur@live.example.com

Le mot de passe d'administration et la clé de diffusion valent tous deux abc123 au départ, mais ce sont deux réglages distincts : changez les deux.

HTTPS : le mandataire inverse

Owncast ne gère pas HTTPS lui-même. La documentation place devant lui un mandataire inverse, qui écoute sur les ports 80 et 443, obtient le certificat, chiffre le trafic et transmet en clair à Owncast sur le port 8080. Sans HTTPS, les navigateurs signalent la page comme non sécurisée, et une page en HTTPS ne peut pas intégrer votre vidéo ni votre chat.

Avec Caddy

La documentation suggère Caddy si vous n'avez pas d'autre préférence : il obtient seul un certificat Let's Encrypt et transmet WebSocket sans réglage. Voici son exemple de Caddyfile, où la ligne tls donne l'adresse e-mail du compte Let's Encrypt :

Caddyfile
live.example.com {
  encode gzip
  reverse_proxy 127.0.0.1:8080
  tls contact@example.com
}

Avec Nginx

Avec Nginx, la documentation insiste sur WebSocket : c'est l'oubli qui désactive le chat. Ajoutez ce bloc map dans la section http de /etc/nginx/nginx.conf :

nginx.conf, dans http
map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

Ce bloc de site reprend celui de la documentation, sur le port 80 pour laisser Certbot installer HTTPS :

Bloc Nginx
server {
    listen 80;
    listen [::]:80;
    server_name live.example.com;

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header Authorization $http_authorization;
        proxy_pass_header Authorization;
        proxy_pass http://127.0.0.1:8080;
    }
}
Terminal
sudo nginx -t
sudo certbot --nginx

Diffuser en RTMP depuis OBS

Owncast accepte tout logiciel qui diffuse en RTMP vers un serveur distant. La clé n'est acceptée que sur le chemin /live. Dans OBS :

  1. Ouvrez « Paramètres », puis « Stream », et choisissez « Personnalisé » comme service.
  2. Saisissez l'adresse rtmp://live.example.com:1935/live.
  3. Saisissez votre clé de diffusion, celle de l'onglet « Stream Keys » d'Owncast.
  4. Lancez le direct.

Un logiciel sans champ pour la clé accepte l'adresse complète, rtmp://live.example.com:1935/live/votre-cle.

Sur un VPS Simafri, l'adresse IPv6 du serveur peut ouvrir le port de votre choix : votre logiciel de diffusion atteint le port 1935 par cette adresse, sous un nom qui porte l'enregistrement AAAA. Sur un réseau Docker en IPv4, comme ici, Docker relie le port de l'adresse IPv6 du serveur au conteneur. Ouvrez ce port si ufw est actif, puis testez depuis votre poste :

Terminal
sudo ufw allow 1935/tcp
nc -6 -vz live.example.com 1935

Pour un autre besoin, dites-nous ce que vous visez, nous regardons l'adressage avec vous.

Les réglages de votre logiciel de diffusion

RésolutionImages par secondeDébit suggéré
1920 × 1080605 000 kbit/s
1920 × 1080304 500 kbit/s
1280 × 720604 000 kbit/s
1280 × 720303 000 kbit/s

Les qualités vidéo et la latence

Les qualités proposées aux spectateurs se règlent dans « Configuration », « Video ». Plusieurs qualités permettent au lecteur de choisir celle que sa connexion tient : la documentation recommande une seconde qualité, de 1 000 à 2 000 kbit/s, à côté d'une haute qualité de 4 000 à 6 000 kbit/s, une fois la première configuration testée.

Le passthrough transmet la vidéo reçue sans la réencoder : il économise presque tout le processeur de cette qualité, et ignore ses réglages de débit, de résolution et de cadence. La documentation le réserve aux utilisateurs avertis : les spectateurs reçoivent exactement ce qu'envoie votre logiciel, ce que certains lecteurs ne savent pas lire, et la latence augmente. Testez la lecture sur les appareils qui comptent pour vous avant de vous y fier.

La latence se règle par le tampon de latence, sur la même page. Chaque niveau échange un peu de délai contre de la stabilité, et un changement s'applique au direct suivant :

NiveauDurée d'un segmentSegments dans la listeLatence approximative
0, le plus bas1 seconde25environ 5 secondes
12 secondes15environ 8 à 9 secondes
2, par défaut3 secondes10environ 10 secondes
34 secondes8environ 15 secondes
4, le plus haut5 secondes5environ 18 secondes

La version 0.3.0 ajoute aussi, côté spectateur, l'option « Minimize latency » du lecteur, qui accélère légèrement la lecture pour se rapprocher du direct, et un réglage de lecture automatique, désactivé par défaut.

Le stockage objet pour servir plus de spectateurs

Owncast peut envoyer ses segments vidéo vers un stockage compatible S3, d'où les spectateurs les téléchargent. Le serveur continue de servir la liste de lecture principale, les API et le chat ; la vidéo, qui fait presque toute la bande passante, part du stockage. Votre serveur n'envoie alors qu'une copie de chaque qualité : dans l'exemple de la documentation, 6,5 Mbit/s pour deux qualités à 5 000 et 1 500 kbit/s, que vous ayez zéro ou mille spectateurs. Le processeur, lui, garde la même charge.

  1. Créez un compartiment chez votre fournisseur de stockage objet.
  2. Rendez-le lisible publiquement, et définissez une règle CORS si le fournisseur en demande une : une erreur CORS ou Access-Control-Allow-Origin dans la console du navigateur vient presque toujours de là.
  3. Dans « Configuration », « Server Setup », onglet « S3 Object Storage », activez le stockage et saisissez le nom du compartiment, la clé d'accès, la clé secrète, le point d'accès et la région. Tous ces champs sont obligatoires.

Ce stockage sert le direct, pas l'archive : Owncast efface au fil de l'eau les segments plus anciens que la liste de lecture, plus une vingtaine de segments de marge. Le compartiment ne garde que les dernières minutes du flux.

Pour des spectateurs répartis dans le monde, la documentation décrit aussi un réseau de diffusion de contenu (CDN) placé devant Owncast, avec un nom d'origine distinct et le réglage « Websocket host override », qui garde le chat relié au serveur d'origine.

Le chat et sa modération

Le chat se règle dans « Configuration », « Chat ». Par défaut, il n'y a aucun modérateur : la documentation conseille au moins de vous nommer vous-même, depuis la page « Users » de l'administration.

La documentation rappelle que le blocage d'adresse IP se contourne, avec un VPN par exemple : il freine les abus, et la modération reste l'affaire de chaque chaîne. D'où l'intérêt de modérateurs nommés pour vos directs les plus suivis.

Les sauvegardes

Owncast sauvegarde sa base de données lui-même, une fois par heure, dans data/backup/owncastdb.bak. L'option --backupdir change ce dossier. Voici ce que contient le dossier de données :

ÉlémentCe qu'il gardeDans la sauvegarde horaire
owncast.dbLa configuration, les utilisateurs, l'historique du chat et les jetons d'accèsOui
backup/La sauvegarde horaire de la baseElle-même
Émojis personnalisés, public/Les fichiers que vous avez ajoutésNon
PluginsLes plugins installés et leurs données, depuis la 0.3.0Non
Données GeoIPLa provenance géographique des spectateursNon

Pour une reprise complète, ou pour déplacer l'instance, la documentation demande de sauvegarder tout le dossier data : le copier sur une nouvelle installation emporte tout. Avec Docker, service arrêté :

Terminal, dans le dossier du compose.yaml
docker compose down
tar -czf owncast-$(date +%F).tar.gz data
docker compose up -d

Planifiez cette copie au rythme de vos directs, et envoyez-la hors du serveur. Posées sur son disque, ces archives entrent aussi dans ses sauvegardes de nuit.

Restaurer la base

La restauration ramène la base à l'heure de la sauvegarde : tout changement postérieur est perdu. Copiez d'abord la base actuelle en lieu sûr, puis :

  1. Arrêtez Owncast.
  2. Lancez Owncast avec --restoreDatabase et le chemin du fichier de sauvegarde : il restaure la base, puis s'arrête.
  3. Redémarrez Owncast normalement, puis vérifiez vos réglages dans l'administration.
Terminal, avec Docker
docker compose stop
docker compose run --rm owncast --restoreDatabase data/backup/owncastdb.bak
docker compose up -d

Les mises à jour

Avec Docker, la documentation donne deux commandes, depuis le dossier du compose.yaml. Le dossier de données reste en place :

Terminal
docker compose pull
docker compose up -d

Avec l'installateur, la note de la version 0.3.0 décrit la mise à jour : arrêtez le service, mettez de côté les fichiers de l'interface web que vous avez personnalisés, relancez l'installateur avec le compte qui fait tourner Owncast, puis redémarrez. Le script range lui-même une archive du dossier data dans owncast-install-backups avant de remplacer la version.

Terminal, avec le service systemd
sudo systemctl stop owncast
su -c "curl https://owncast.online/install.sh | bash" owncast
sudo systemctl start owncast

La version 0.3.0 du 3 septembre 2026 apporte les plugins, les flux mis en avant, la lecture automatique et le choix de l'interface d'écoute de RTMP. Sa note demande de lire les changements avant de mettre à jour, car ils touchent votre instance : suivez ces notes à chaque version, et faites une copie du dossier data juste avant.

Qui fait quoi sur un VPS géré

L'auto-hébergement demande de tenir le serveur en plus de l'application. Sur un VPS géré, nos équipes prennent le serveur en main et suivent votre instance de manière proactive ; Owncast reste votre logiciel, avec ses réglages et ses données.

SujetNos équipesVous
Le serveurMises à jour du système et de la sécurité, interventions sur le serveur comprisesLe moment qui convient à votre activité
La supervisionServeur suivi 24 h/24 et 7 j/7, avec intervention sans attendre votre appelLa lecture des journaux de votre instance
OwncastSuivi proactif : erreurs, lenteurs, charge du processeur et espace disque repérés, correction recommandéeSon installation, ses mises à jour et ses réglages, que vous appliquez, vous ou votre assistant IA
Les directs et le chatLe serveur qui les porte, surveillé et sauvegardéLes clés de diffusion, les qualités vidéo, les modérateurs et les règles du chat
Les sauvegardesChaque nuit, chiffrées et gardées hors de la machine ; restauration compriseLes copies propres à Owncast, et la demande de restauration, quand vous en avez besoin
La migrationVotre serveur actuel migré, offertLe moment de la bascule

Si vous préférez que nos équipes interviennent dans l'application elle-même, cette prestation se facture à l'heure ou au forfait, avec un chiffrage communiqué avant l'intervention.

Owncast, sur un serveur tenu pour vous

Avec un VPS géré Simafri, nos équipes tiennent à jour le serveur de votre instance Owncast, le surveillent jour et nuit et interviennent sans attendre votre appel ; elles suivent aussi votre instance de manière proactive et vous recommandent les corrections utiles, que vous appliquez, vous ou votre assistant IA. Les sauvegardes sont chiffrées chaque nuit et gardées hors de la machine, leur restauration est comprise, et la migration de votre serveur actuel est offerte.

Découvrir les VPS gérés

Questions fréquentes

Owncast est-il gratuit pour une entreprise ?

Oui. Owncast est sous licence MIT : vous pouvez l'utiliser, le modifier et le redistribuer en entreprise sans licence à acheter, en gardant sa notice de copyright. Reste le coût du serveur qui le fait tourner.

De quel processeur Owncast a-t-il besoin ?

Tout dépend des qualités proposées. La documentation compte en règle approximative un cœur par qualité transcodée à 30 images par seconde, et presque rien pour une qualité en passthrough. Le nombre de spectateurs ne change pas la charge du processeur.

Quelle bande passante faut-il pour Owncast ?

Le débit de pointe vaut le débit du flux multiplié par le nombre de spectateurs : 25 spectateurs à 5 000 kbit/s demandent 125 Mbit/s en sortie. Un stockage objet compatible S3 peut servir la vidéo à la place du serveur, qui n'envoie alors qu'une copie de chaque qualité.

Comment installer Owncast avec Docker Compose ?

Créez un compose.yaml avec l'image owncast/owncast, le port 8080 publié sur 127.0.0.1, le port 1935 pour RTMP et un dossier data monté sur /app/data, puis lancez docker compose up -d. Placez ensuite un mandataire inverse en HTTPS devant le port 8080.

Quels sont les identifiants par défaut d'Owncast ?

L'administration, sur /admin, s'ouvre avec l'identifiant admin et le mot de passe abc123, et la clé de diffusion vaut aussi abc123. Ce sont deux réglages distincts : changez les deux dès la première connexion, dans Configuration, Server Setup.

Comment diffuser vers Owncast depuis OBS ?

Dans OBS, choisissez un service personnalisé, saisissez rtmp://votre-serveur:1935/live et votre clé de diffusion. Envoyez de la vidéo H.264 et de l'audio AAC, avec une image clé toutes les 2 secondes.

Comment sauvegarder Owncast ?

Owncast sauvegarde sa base chaque heure dans data/backup/owncastdb.bak. Cette sauvegarde ne couvre que la base : pour une reprise complète, copiez tout le dossier data hors du serveur. La restauration se fait avec l'option --restoreDatabase.

Un VPS géré couvre-t-il Owncast ?

Un VPS géré couvre le serveur : système, sécurité, supervision et sauvegardes. Nos équipes suivent aussi votre instance de manière proactive et vous recommandent les corrections utiles, que vous appliquez. Une intervention dans l'application se facture à l'heure ou au forfait.

Sources et documentation officielle

Contactez-nous