Bedrud Belgeler

Tüm platformlarda tek komutla kurulum. sudo gerekmez — ev dizininize kurulum yapar.

Kurulum sonrası sunucu kurulumu için bkz. Hızlı Başlangıç. Paket yöneticileri, Docker ve diğer yöntemler için bkz. Sunucu Kurulumu.


Ne Yapar

  1. İşletim sistemini, CPU mimarisini, platform varyantlarını (Rosetta 2/WSL) ve init sistemini (systemd/OpenRC/SysV/konteyner) algılar
  2. GitHub Sürümleri adresinden doğru ikili dosyayı indirir (--build ile kaynak koddan derler)
  3. ~/bin veya %USERPROFILE%\bin dizinine kurulum yapar (--install-dir ile özelleştirilebilir)
  4. Kurulum dizinini PATH’e ekler (Bash için shell profilleri, Windows için Kayıt Defteri)
  5. Windows ve Linux: TLS, Postgres yapılandırma ve ilk Yönetici kullanıcısını oluşturma için etkileşimli bir diyalog sunar
  6. Sonraki adımları yazdırır

Gereksinimler

PlatformBağımlılıklar
macOS / Linuxcurl + tar
macOS / Linux (--build)curl + git + go + bun + make
WindowsPowerShell 5.1+ (Windows 10/11 ile birlikte gelir)

Hızlı Kurulum

curl -fsSL https://bedrud.org/install.sh | bash

Kabuğunuzu yeniden yükleyin, ardından doğrulayın:

source ~/.bashrc  # veya ~/.zshrc
bedrud --version
irm https://bedrud.org/install.ps1 | iex
bedrud --version

Bayraklar ve Seçenekler

Bash Kurulumu

Usage: curl -fsSL https://bedrud.org/install.sh | bash -s -- [options]
BayrakVarsayılanAçıklama
--install-dir <dir>~/binİkili dosyanın yerleştirileceği dizin
--version <ver>latestBir sürüme sabitle (ör. v1.2.0)
--buildkapalıİndirmek yerine kaynak koddan derle
--branch <name>masterKlonlanacak Git dalı (--build gerekir)
--no-setupkapalıSadece ikili dosyayı indir, etkileşimli sunucu kurulumunu atla
--skip-shellkapalıKabuk RC dosyalarını veya PATH’ı değiştirme
-h, --helpKullanım bilgisini yazdır ve çık

Örnekler:

# Varsayılan
curl -fsSL https://bedrud.org/install.sh | bash
 
# Sürüm sabitleme
curl -fsSL https://bedrud.org/install.sh | bash -s -- --version v1.2.0
 
# Kaynak koddan derle (özel dal)
curl -fsSL https://bedrud.org/install.sh | bash -s -- --build --branch my-feature
 
# Fork'tan derle
BEDRUD_REPO=myuser/bedrud curl -fsSL https://bedrud.org/install.sh | bash -s -- --build
 
# Sistem geneli kurulum
curl -fsSL https://bedrud.org/install.sh | sudo bash -s -- --install-dir /usr/local/bin
 
# CI / otomasyon — kabuk yapılandırması ve etkileşimli kurulumu atla
curl -fsSL https://bedrud.org/install.sh | bash -s -- --skip-shell --no-setup

PowerShell Kurulumu

Usage: irm https://bedrud.org/install.ps1 | iex

Parametre göndermek için önce dosyayı kaydedin:

irm https://bedrud.org/install.ps1 -OutFile install.ps1
.\install.ps1 -Version v1.2.0 -InstallDir C:\Tools
ParametreVarsayılanAçıklama
-InstallDir <path>$HOME\binbedrud.exe dosyasının yerleştirileceği dizin
-Version <ver>latestBelirli bir sürümü kur
-SkipPath$falseKurulum dizinini kullanıcı PATH’ına ekleme
-Build$falseİndirmek yerine kaynak koddan derle
-Branch <name>masterKlonlanacak Git dalı (-Build gerekir)
-NoSetup$falseSadece indir, etkileşimli sunucu kurulumunu atla

Örnekler:

# Varsayılan
irm https://bedrud.org/install.ps1 | iex
 
# Kaynak koddan derle
.\install.ps1 -Build -Branch main
 
# CI / otomasyon — etkileşimli kurulumu atla
.\install.ps1 -NoSetup -SkipPath

Ortam Değişkenleri

DeğişkenVarsayılanPlatformlarAçıklama
BEDRUD_INSTALL~/binYalnızca BashKurulum dizinini geçersiz kıl (--install-dir ile aynı)
BEDRUD_REPOthemadorg/bedrudİkisi deGitHub deposunu geçersiz kıl (çatallar veya yansılar için)
BEDRUD_INSTALL=/opt/bedrud curl -fsSL https://bedrud.org/install.sh | bash
BEDRUD_REPO=myorg/bedrud-fork curl -fsSL https://bedrud.org/install.sh | bash
$env:BEDRUD_REPO = "myorg/bedrud-fork"
irm https://bedrud.org/install.ps1 | iex

Platform Desteği

Hedefİşletim SistemiMimariNotlar
darwin_amd64macOSIntel (x86_64)Standart
darwin_arm64macOSApple Silicon (M1/M2/M3/M4)Rosetta 2 otomatik algılanır
linux_amd64Linuxx86_64Statik ikili dosya — tüm dağıtımlar
linux_arm64LinuxARM64Statik ikili dosya — tüm dağıtımlar
freebsd_amd64FreeBSDx86_64Standart
windows_amd64Windowsx86_64Standart
windows_arm64WindowsARM64Standart

Özel Durum Algılama

Rosetta 2 (Apple Silicon üzerinde macOS Intel)

Algılama: sysctl -n sysctl.proc_translated değeri 1 döndürür. Etki: Yerel ARM performansı için darwin_amd64darwin_arm64 olarak değiştirir.

Konteyner Ortamları (Docker, Kubernetes, vb.)

Algılama: /.dockerenv, /run/.containerenv, /proc/1/comm (docker-init, tini, containerd, runc için) ve /proc/1/cgroup (docker, kubepods, containerd için) dosyalarını kontrol eder. Etki: Servis dosyası kurulumu atlanır. Yükleyici manuel başlatma komutlarını yazdırır:

# Öncelik
/usr/local/bin/bedrud run --config /etc/bedrud/config.yaml
 
# Arka plan
nohup /usr/local/bin/bedrud run --config /etc/bedrud/config.yaml \
  > /var/log/bedrud/bedrud.log 2>&1 &

Docker’da düzgün servis yönetimi için --init veya tini’yi PID 1 olarak kullanın.


İnit Sistemi Desteği

Yükleyici, init sistemini otomatik olarak algılar ve sunucu kurulumu için uygun servis dosyalarını oluşturur:

Init SystemAlgılamaServis DosyalarıYönetim
systemd/run/systemd/system mevcut/etc/systemd/system/*.servicesystemctl
OpenRC/sbin/openrc mevcut/etc/init.d/* (OpenRC formatı)rc-service, rc-update
SysV initservice komutu mevcut/etc/init.d/* (LSB formatı)service, update-rc.d
Konteyner/.dockerenv, /proc/1/comm, /proc/1/cgroupYok — manuel başlatmaDoğrudan ikili dosya veya nohup

Desteklenen: Çoğu Linux dağıtımı (systemd, OpenRC, SysV init), WSL1 ve Linux konteynerleri. Konteyner ortamları otomatik algılanır — servis dosyası kurulumu atlanır ve manuel başlatma talimatları yazdırılır.


Kurulum Akışı

  1. Windows kontrolü — Bash’te MINGW/MSYS/CYGWIN algılandı mı? PowerShell’e yönlendir.
  2. WSL kontrolü — PowerShell’de WSL algılandı mı? Bash’e yönlendir.
  3. Bağımlılık kontrolü — Bash: curl + tar. PowerShell: (varsayılan yok). Derleme: git + go + bun + make.
  4. Platform algılamauname (Bash) veya RuntimeInformation (PowerShell) aracılığıyla işletim sistemi + mimari.
  5. İkili dosya kurulumu — iki seçenek:
    • İndirme modu (varsayılan): zip/tar.xz indir ve çıkar.
    • Derleme modu (--build): git clone, bun install, go mod download, make build.
  6. Doğrulamabedrud --version komutunu çalıştır.
  7. PATH kontrolü — PATH’te zaten var mı? Atla. Aksi halde → RC dosyasını (Bash) veya Kayıt Defterini (PowerShell) düzenle.
  8. Etkileşimli Kurulum — Alan Adı, TLS, Postgres ve Yönetici kullanıcısı oluşturma için Soru-Cevap.
  9. Tamamlandı — başarı mesajı + erişim URL’si.

İndirme URL formatı: github.com/{repo}/releases/{ver}/bedrud_{TARGET}.tar.xz

Derleme modu github.com/{repo} adresinden klonlar ve make build çalıştırır (çıktı: server/dist/bedrud).


PATH ve Kabuk Yapılandırması

--skip-shell ayarlanmadığında, kurulum programı kurulum dizinini PATH’inize ekler.

KabukRC Dosyası
fish~/.config/fish/config.fish
zsh$ZDOTDIR/.zshrc (varsayılan ~/.zshrc)
bash (macOS)~/.bash_profile, ardından ~/.bashrc
bash (Linux)~/.bashrc, ardından ~/.bash_profile

Eklenen içerik:

# bedrud
export PATH="$HOME/bin:$PATH"  # bedrud

# bedrud yorum işareti yinelenen girişleri engeller — yeniden çalıştırmak güvenlidir.

Windows: Kayıt defteri düzeyinde [Environment]::SetEnvironmentVariable("PATH", ..., "User") kullanır. RC dosyası gerekmez.

Kurulum sonrası kabuğu yeniden yükleyin:

source ~/.bashrc    # bash
source ~/.zshrc     # zsh
source ~/.config/fish/config.fish  # fish

Çevrimdışı / Hava Boşluklu Kurulumlar

İndirme ve Aktarma

curl -fsSL -o bedrud.tar.xz \
  https://github.com/themadorg/bedrud/releases/latest/download/bedrud_linux_amd64.tar.xz
scp bedrud.tar.xz airgapped-server:/tmp/
# Hedef makinede:
tar -xf /tmp/bedrud.tar.xz -C /tmp/bedrud-extracted
mv /tmp/bedrud-extracted/bedrud ~/bin/
chmod +x ~/bin/bedrud

Kendi Barındırdığınız Yansı

BEDRUD_REPO=mycompany/bedrud-mirror curl -fsSL https://bedrud.org/install.sh | bash

Doğrudan İkili Dosya

Sürümler sayfasından indirin, çıkarın, PATH’inizde bir dizine taşıyın.


Kaldırma

rm ~/bin/bedrud
# Kabuk RC dosyasından PATH satırını kaldırın ("# bedrud" ifadesini arayın):
#   ~/.bashrc, ~/.bash_profile, ~/.zshrc, ~/.config/fish/config.fish

systemd, OpenRC, SysV init sunucu kurulumları için:

sudo bedrud uninstall

Windows:

Remove-Item "$env:USERPROFILE\bin\bedrud.exe"
# System Properties → Environment Variables üzerinden PATH'ten kaldırın

Sorun Giderme

command not found: bedrud

source ~/.bashrc    # kabuğu yeniden yükle
echo $PATH | tr ':' '\n' | grep "$HOME/bin"  # PATH'ı kontrol et

Eksikse:

echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Failed to download bedrud

  1. İnternet bağlantısını kontrol edin
  2. Hedefin Sürümler sayfasında mevcut olduğunu doğrulayın
  3. Belirli bir sürümü deneyin: --version v1.0.0
  4. Platformunuzda henüz önceden derlenmiş bir ikili dosya olmayabilir

macOS: Rosetta altında x64 çalıştırma (yavaş)

Yerel ARM’ı zorla:

arch -arm64 curl -fsSL https://bedrud.org/install.sh | arch -arm64 bash

Windows: “running scripts is disabled”

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
irm https://bedrud.org/install.ps1 | iex

Bir WSL terminalinde (örneğin, Windows üzerinde Ubuntu) çalıştırıyorsanız, PowerShell yükleyicisi bunu algılayacak ve sizden Bash yükleyicisini çalıştırmanızı isteyecektir. Bu, Bedrud’un WSL içindeki Linux ortamı için doğru şekilde kurulmasını sağlar.

Windows: ARM64 cihazlar (Surface Pro, vb.)

Yükleyici windows_arm64 mimarisini otomatik olarak algılar ve yerel ikili dosyayı indirir. Bir mimariyi zorlamanız gerekirse, Sürümler sayfasından belirli zip dosyasını indirin.

Windows: Postgres için Docker Desktop

Kurulum sırasında Postgres’i Docker’da çalıştırmayı seçerseniz, Docker Desktop’ın kurulu ve çalışır durumda olduğundan emin olun. Yükleyici, konteyneri otomatik olarak başlatmaya çalışacaktır.