Référence complète pour l’interface en ligne de commande bedrud.
Synopsis
# Style sous-commande
bedrud <command> [flags]
# Style drapeau
bedrud --livekit --config <path>
bedrud --run --config <path>Commandes
run / server
Démarre le serveur de réunion Bedrud avec API, frontend web intégré et LiveKit intégré (si configuré).
bedrud run [--config <path>]
bedrud server [--config <path>]| Drapeau | Par défaut | Description |
|---|---|---|
--config | $CONFIG_PATH env var → "config.yaml" | Chemin vers le fichier de configuration YAML Bedrud |
Comportement :
- Charge la configuration depuis le chemin spécifié ou utilise les valeurs par défaut
- Démarre LiveKit intégré si configuré en mode interne
- Initialise la base de données SQLite/PostgreSQL et exécute les migrations
- Crée le serveur HTTP Fiber avec toutes les routes API
- Sert le frontend React intégré
- Prend en charge ACME (Let’s Encrypt), TLS auto-signé, TLS manuel ou HTTP simple
- Arrêt gracieux sur SIGTERM/SIGINT
Implémentation : server/internal/server/server.go
--livekit
Démarre uniquement le serveur média LiveKit intégré. Extrait le binaire depuis Go embed vers un répertoire temporaire.
bedrud --livekit --config <path>| Drapeau | Par défaut | Description |
|---|---|---|
--config | (requis) | Chemin vers le fichier de configuration YAML LiveKit |
Utilisé par : systemd livekit.service créé par bedrud install
Implémentation : server/internal/livekit/server.go
--run
Alias pour bedrud run avec le même comportement du drapeau --config. Utilisé par systemd bedrud.service.
bedrud --run --config <path>install
Installe Bedrud sur un système Debian/Linux. Crée les services systemd, fichiers de configuration, répertoires et certificats TLS.
bedrud install [flags]| Drapeau | Par défaut | Description |
|---|---|---|
--tls | false | Activer HTTPS (identique à --self-signed) |
--self-signed | false | Générer un certificat TLS auto-signé |
--no-tls | false | Désactiver TLS entièrement (HTTP simple). Remplace --tls et --self-signed |
--ip | détecté automatiquement | Remplacer l’adresse IP du serveur détectée automatiquement |
--domain | "" | Nom de domaine pour Let’s Encrypt ou certificat auto-signé |
--email | "" | E-mail pour l’enregistrement Let’s Encrypt |
--port | "443" (TLS) / "8090" (HTTP) | Remplacer le port d’écoute |
--cert | "" | Chemin vers un fichier de certificat PEM existant |
--key | "" | Chemin vers un fichier de clé privée PEM existant |
--lk-port | "7880" | Remplacer le port API/WebSocket LiveKit |
--lk-tcp-port | "7881" | Remplacer le port TCP RTC LiveKit |
--lk-udp-port | "7882" | Remplacer le port UDP RTC LiveKit |
--fresh | false | Supprimer l’installation existante avant d’installer |
--behind-proxy | false | Serveur derrière CDN/reverse-proxy (Cloudflare, nginx) |
--external-livekit | "" | URL d’un serveur LiveKit entièrement externe (machine différente) |
--livekit-domain | "" | Domaine séparé pour le serveur LiveKit local (contourne le CDN) |
Ce qu’il fait :
- Arrête et supprime l’installation précédente si
--fresh - Invite pour l’IP, domaine, e-mail, mode TLS (si non interactif et drapeaux non fournis)
- Crée les répertoires :
/etc/bedrud,/var/lib/bedrud,/var/lib/bedrud/certs,/var/log/bedrud - Copie le binaire vers
/usr/local/bin/bedrud - Génère la configuration du serveur Bedrud dans
/etc/bedrud/config.yaml - Génère la configuration du serveur média LiveKit dans
/etc/bedrud/livekit.yaml - Génère des certificats auto-signés dans
/etc/bedrud/cert.pem+/etc/bedrud/key.pem(si TLS activé et pas de certificats personnalisés) - Crée systemd
livekit.service(sauf si utilisation de LiveKit externe) - Crée systemd
bedrud.service - Exécute
systemctl daemon-reload, active et démarre les deux services - Affiche les URL d’accès
Options TLS :
--domain+--email→ ACME (Let’s Encrypt)--self-signedou--tls→ certificat auto-signé--cert+--key→ certificats personnalisés--no-tls→ HTTP simple uniquement
Topologie LiveKit :
- Par défaut (intégré) : LiveKit s’exécute localement, proxifié via Bedrud sur
/livekit --livekit-domain: LiveKit s’exécute localement mais les clients se connectent directement via son propre domaine--external-livekit: Pas de LiveKit local ; connexion à un serveur distant
Implémentation : server/internal/install/debian.go
Documentation connexe : Guide d’installation • Guide de déploiement • Logique de déploiement backend
uninstall
Supprime Bedrud du système.
bedrud uninstallSupprime :
- Arrête et désactive les services systemd :
bedrud,livekit - Supprime les fichiers d’unité systemd de
/etc/systemd/system/ - Supprime les binaires :
/usr/local/bin/bedrud,/tmp/bedrud,/tmp/bedrud-livekit-server - Supprime les répertoires :
/etc/bedrud,/var/lib/bedrud,/var/log/bedrud
Implémentation : server/internal/install/debian.go
Documentation connexe : Guide d’installation - Désinstallation
user
Gère les utilisateurs dans la base de données Bedrud.
bedrud user <subcommand> [--config <path>] <flags>| Drapeau global | Par défaut | Description |
|---|---|---|
--config | /etc/bedrud/config.yaml | Chemin vers le fichier de configuration Bedrud (pour localiser la base de données) |
create
Crée un nouvel utilisateur avec authentification locale (mot de passe haché avec bcrypt).
bedrud user create --email <email> --password <password> --name <name>Drapeaux requis :
--email: Adresse e-mail de l’utilisateur--password: Mot de passe de l’utilisateur, haché avec bcrypt avant stockage--name: Nom d’affichage de l’utilisateur
Niveau d’accès : user (pas superadmin). Utilisez promote pour accorder des droits d’administrateur.
delete
Supprime un utilisateur par adresse e-mail.
bedrud user delete --email <email>promote
Accorde l’accès superadmin à un utilisateur.
bedrud user promote --email <email>demote
Retire l’accès superadmin d’un utilisateur (revient au niveau user).
bedrud user demote --email <email>Implémentation : server/internal/usercli/usercli.go
help
Affiche le message d’utilisation avec toutes les commandes et drapeaux.
bedrud helpDéclenché également lorsqu’aucun argument n’est fourni. Affiche la sortie de printUsage().
Exemples
Démarrage de serveur de développement de base
# Exécuter avec config.yaml par défaut dans le répertoire courant
bedrud run
# Exécuter avec une configuration personnalisée
bedrud run --config /path/to/config.yaml
# Via variable d'environnement (fallback)
export CONFIG_PATH=/etc/bedrud/config.yaml
bedrud runInstallation interactive (invite pour les entrées)
bedrud installInstallation non interactive avec Let’s Encrypt
bedrud install --domain example.com --email admin@example.comTLS auto-signé avec ports personnalisés
bedrud install --self-signed --port 8443 --lk-port 7880 --lk-tcp-port 7881 --lk-udp-port 7882Derrière CDN avec domaine LiveKit séparé
bedrud install --domain bedrud.example.com --email admin@example.com --livekit-domain lk.example.com --behind-proxyRéinstallation fraîche
bedrud install --fresh --domain example.com --email admin@example.comGestion des utilisateurs
# Créer le premier utilisateur administrateur
bedrud user create --email admin@example.com --password secret123 --name "Admin User"
# Accorder l'accès superadmin
bedrud user promote --email admin@example.com
# Créer un utilisateur régulier
bedrud user create --email user@example.com --password pass456 --name "Regular User"
# Supprimer un utilisateur
bedrud user delete --email user@example.com
# Retirer l'accès administrateur
bedrud user demote --email admin@example.comDocumentation connexe
- Guide d’installation - Guide détaillé de
bedrud install, topologies TLS, étapes post-installation - Référence de configuration - Structure des fichiers de configuration serveur et LiveKit
- Logique de déploiement backend - Fonctionnement interne de
installetuninstall - Guide de déploiement - Options complètes de déploiement incluant les services systemd