bedrud komut satırı arayüzü için tam referans.
Özet
# Alt komut stili
bedrud <komut> [bayraklar]
# Bayrak stili
bedrud --livekit --config <yol>
bedrud --run --config <yol>Komutlar
run / server
API, gömülü web önyüzü ve (yapılandırılmışsa) gömülü LiveKit ile Bedrud toplantı sunucusunu başlatır.
bedrud run [--config <yol>]
bedrud server [--config <yol>]| Bayrak | Varsayılan | Açıklama |
|---|---|---|
--config | $CONFIG_PATH ortam değişkeni → "config.yaml" | Bedrud YAML yapılandırma dosyasının yolu |
Davranış:
- Yapılandırmayı belirtilen yoldan veya varsayılanlardan yükler
- Dahili mod için yapılandırılmışsa gömülü LiveKit’i başlatır
- SQLite/PostgreSQL veritabanını başlatır ve göçleri çalıştırır
- Tüm API yollarıyla Fiber HTTP sunucusu oluşturur
- Gömülü React önyüzünü sunar
- ACME (Let’s Encrypt), kendi imzalı TLS, manuel TLS veya düz HTTP destekler
- SIGTERM/SIGINT sinyalinde düzgün kapanma
Uygulama: server/internal/server/server.go
--livekit
Yalnızca gömülü LiveKit medya sunucusunu başlatır. İkili dosyayı Go embed’dan geçici bir dizine çıkarır.
bedrud --livekit --config <yol>| Bayrak | Varsayılan | Açıklama |
|---|---|---|
--config | (gerekli) | LiveKit YAML yapılandırma dosyasının yolu |
Kullanan: bedrud install tarafından oluşturulan init livekit servisi
Uygulama: server/internal/livekit/server.go
--run
Aynı --config bayrak davranışıyla bedrud run için takma ad. init bedrud servisi tarafından kullanılır.
bedrud --run --config <yol>install
Bedrud’u bir Debian/Linux sistemine kurar. init servisleri (systemd, OpenRC veya SysV init — otomatik algılanır), yapılandırma dosyaları, dizinler ve TLS sertifikaları oluşturur.
bedrud install [bayraklar]| Bayrak | Varsayılan | Açıklama |
|---|---|---|
--tls | false | HTTPS’yi etkinleştir (--self-signed ile aynı) |
--self-signed | false | Kendi imzalı TLS sertifikası oluştur |
--no-tls | false | TLS’yi tamamen devre dışı bırak (düz HTTP). --tls ve --self-signed’i geçersiz kılar |
--ip | otomatik algılandı | Otomatik algılanan sunucu IP adresini geçersiz kıl |
--domain | "" | Let’s Encrypt veya kendi imzalı sertifika için alan adı |
--email | "" | Let’s Encrypt kaydı için e-posta |
--port | "443" (TLS) / "8090" (HTTP) | Dinleme bağlantı noktasını geçersiz kıl |
--cert | "" | Mevcut PEM sertifika dosyasının yolu |
--key | "" | Mevcut PEM özel anahtar dosyasının yolu |
--lk-port | "7880" | LiveKit API/WebSocket bağlantı noktasını geçersiz kıl |
--lk-tcp-port | "7881" | LiveKit RTC TCP bağlantı noktasını geçersiz kıl |
--lk-udp-port | "7882" | LiveKit RTC UDP bağlantı noktasını geçersiz kıl |
--fresh | false | Kurulumdan önce mevcut kurulumu kaldır |
--behind-proxy | false | Sunucu CDN/ters vekil arkasında (Cloudflare, nginx) |
--external-livekit | "" | Tamamen harici LiveKit sunucusunun URL’si (farklı makine) |
--livekit-domain | "" | Yerel LiveKit sunucusu için ayrı alan adı (CDN’yi atlar) |
Yaptığı işler:
--freshise önceki kurulumu durdurur ve kaldırır- IP, alan adı, e-posta, TLS modu için sorar (etkileşimli olmayan ve bayraklar sağlanmamışsa)
- Dizinleri oluşturur:
/etc/bedrud,/var/lib/bedrud,/var/lib/bedrud/certs,/var/log/bedrud - İkili dosyayı
/usr/local/bin/bedrudkonumuna kopyalar /etc/bedrud/config.yamlkonumunda Bedrud sunucu yapılandırması oluşturur/etc/bedrud/livekit.yamlkonumunda LiveKit medya sunucusu yapılandırması oluşturur/etc/bedrud/cert.pem+/etc/bedrud/key.pemkonumunda kendi imzalı sertifikalar oluşturur (TLS etkinse ve özel sertifikalar yoksa)- LiveKit init servisi oluşturur (harici LiveKit kullanılmıyorsa)
- Bedrud init servisi oluşturur
- Algılanan init sistemi üzerinden servisleri etkinleştirir ve başlatır
- Erişim URL’lerini yazdırır
TLS seçenekleri:
--domain+--email→ ACME (Let’s Encrypt)--self-signedveya--tls→ kendi imzalı sertifika--cert+--key→ özel sertifikalar--no-tls→ yalnızca düz HTTP
LiveKit topolojisi:
- Varsayılan (gömülü): LiveKit yerel olarak çalışır, Bedrud üzerinden
/livekitadresine vekil yapılır --livekit-domain: LiveKit yerel olarak çalışır ama istemciler kendi alan adı üzerinden doğrudan bağlanır--external-livekit: Yerel LiveKit yok; uzak sunucuya bağlanır
Uygulama: server/internal/install/linux.go
İlgili belgeler: Kurulum Kılavuzu • Dağıtım Kılavuzu • Arka Uç Dağıtım Mantığı
uninstall
Bedrud’u sistemden kaldırır.
bedrud uninstallKaldırdıkları:
- tüm init sistemlerinde servisleri durdurur ve devre dışı bırakır:
bedrud,livekit - systemd, OpenRC ve SysV init servis dosyalarını kaldırır
- İkili dosyaları kaldırır:
/usr/local/bin/bedrud,/tmp/bedrud,/tmp/bedrud-livekit-server - Dizinleri kaldırır:
/etc/bedrud,/var/lib/bedrud,/var/log/bedrud - Sistem kullanıcısını siler: bedrud
Uygulama: server/internal/install/ (linux.go, init.go, sysv.go, openrc.go)
İlgili belgeler: Kurulum Kılavuzu - Kaldırma
user
Bedrud veritabanındaki kullanıcıları yönetir.
bedrud user [--config <yol>] <alt-komut> [bayraklar]| Genel Bayrak | Varsayılan | Açıklama |
|---|---|---|
--config | /etc/bedrud/config.yaml | Bedrud yapılandırma dosyasının yolu (veritabanını bulmak için) |
create
Yerel kimlik doğrulama ile yeni bir kullanıcı oluşturur (bcrypt ile hashlenmiş parola).
bedrud user [--config <yol>] create --email <e-posta> --password <parola> --name <ad> [--admin]Gerekli bayraklar:
--email: Kullanıcı e-posta adresi--password: Kullanıcı parolası, depolanmadan önce bcrypt ile hashlenir--name: Kullanıcı görünen adı
İsteğe bağlı bayraklar:
--admin: Kullanıcıyı süper yönetici olarak oluştur
Erişim seviyesi: Varsayılan olarak user. Tek komutta süper yönetici oluşturmak için --admin kullanın.
delete
Bir kullanıcıyı e-posta adresine göre siler.
bedrud user [--config <yol>] delete --email <e-posta>promote
Bir kullanıcının rolünü erişim dizisini değiştirerek ayarlar. Varsayılan: superadmin.
bedrud user [--config <yol>] promote --email <e-posta> [--role <rol>]| Bayrak | Varsayılan | Açıklama |
|---|---|---|
--role | superadmin | Hedef rol: superadmin, admin, moderator, user, guest |
Örnekler:
# Superadmin yetkisi ver (varsayılan)
bedrud user promote --email admin@example.com
# Admin yetkisi ver
bedrud user promote --email admin@example.com --role admin
# Moderator yetkisi ver
bedrud user promote --email mod@example.com --role moderatorHer rol belirli bir erişim dizisine eşlenir:
superadmin→['superadmin', 'user']admin→['admin', 'user']moderator→['moderator', 'user']user→['user']guest→['guest']
demote
Bir kullanıcıdan belirli bir rolü kaldırır. Varsayılan: superadmin.
bedrud user [--config <yol>] demote --email <e-posta> [--role <rol>]| Bayrak | Varsayılan | Açıklama |
|---|---|---|
--role | superadmin | Kaldırılacak rol: superadmin, admin, moderator |
Kaldırma işleminden sonra kullanıcının hiçbir rolü kalmazsa, otomatik olarak user erişimi eklenir.
Uygulama: server/internal/usercli/usercli.go
cert
TLS sertifikalarını yönetin. Yalnızca kendi imzalı sertifikalar kullanılırken geçerlidir (bedrud install --self-signed tarafından oluşturulur).
bedrud cert [--config <path>] <subcommand>| Genel Bayrak | Varsayılan | Açıklama |
|---|---|---|
--config | /etc/bedrud/config.yaml | Bedrud yapılandırma dosyasının yolu |
--algo | "" | Anahtar algoritması: ed25519, ecdsa256, rsa2048, rsa4096 (varsayılan: mevcut sertifikadan algıla) |
renew
Kendi imzalı TLS sertifikasını elle yenileyin. Mevcut sertifikanın anahtar algoritmasını algılar ve aynı türle yeniden oluşturur (varsayılan: Ed25519). Yeni sertifika 1825 gün (~5 yıl) geçerlidir.
bedrud cert renew [--config <path>]Sunucu ayrıca, sürenin dolmasına 30 günden az kaldığında, yerleşik zamanlayıcısı aracılığıyla sertifikayı günlük olarak otomatik yeniler. Bu komut, manuel veya olağan dışı yenileme içindir.
SAN’ler: Sunucu yapılandırmasından türetilir — domain (ayarlanmışsa), artı localhost, 127.0.0.1 ve ::1.
Uygulama: server/internal/utils/tls.go (RenewSelfSignedCert)
info
TLS sertifika meta verilerini stdout’a yazdırın.
bedrud cert info [--config <path>]Çıktı alanları: subject, issuer, notBefore, notAfter, daysRemaining, status (valid/expiring/error), SAN’ler.
Uygulama: server/internal/utils/tls.go (ValidateTLSCertPair)
help
Tüm komutlar ve bayraklarla kullanım mesajını gösterir.
bedrud helpHiçbir argüman sağlanmadığında da tetiklenir. printUsage() çıktısını görüntüler.
Örnekler
Temel geliştirme sunucusu başlatma
# Geçerli dizindeki varsayılan config.yaml ile çalıştır
bedrud run
# Özel yapılandırma ile çalıştır
bedrud run --config /path/to/config.yaml
# Ortam değişkeni ile (geri dönüş)
export CONFIG_PATH=/etc/bedrud/config.yaml
bedrud runEtkileşimli kurulum (girişler için sorar)
bedrud installLet’s Encrypt ile etkileşimli olmayan kurulum
bedrud install --domain example.com --email admin@example.comÖzel bağlantı noktalarıyla kendi imzalı TLS
bedrud install --self-signed --port 8443 --lk-port 7880 --lk-tcp-port 7881 --lk-udp-port 7882CDN arkasında ayrı LiveKit alan adı ile
bedrud install --domain bedrud.example.com --email admin@example.com --livekit-domain lk.example.com --behind-proxyTemiz yeniden kurulum
bedrud install --fresh --domain example.com --email admin@example.comKullanıcı yönetimi
# İlk yönetici kullanıcısını oluştur (tek komut)
bedrud user [--config <yol>] create --email admin@example.com --password secret123 --name "Admin User" --admin
# Veya normal kullanıcı oluşturup yükselt
bedrud user [--config <yol>] create --email admin@example.com --password secret123 --name "Admin User"
bedrud user [--config <yol>] promote --email admin@example.com
# Normal kullanıcı oluştur
bedrud user [--config <yol>] create --email user@example.com --password pass456 --name "Regular User"
# Bir kullanıcıyı kaldır
bedrud user [--config <yol>] delete --email user@example.com
# Yönetici erişimini kaldır
bedrud user [--config <yol>] demote --email admin@example.comİlgili Belgeler
- Kurulum Kılavuzu - Ayrıntılı
bedrud installkılavuzu, TLS topolojileri, kurulum sonrası adımlar - Yapılandırma Referansı - Sunucu ve LiveKit yapılandırma dosyası yapısı
- Arka Uç Dağıtım Mantığı -
installveuninstalldahili olarak nasıl çalışır - Dağıtım Kılavuzu - init sistemi servisleri dahil tam dağıtım seçenekleri