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
- İşletim sistemini, CPU mimarisini, platform varyantlarını (Rosetta 2/WSL) ve init sistemini (systemd/OpenRC/SysV/konteyner) algılar
- GitHub Sürümleri adresinden doğru ikili dosyayı indirir (
--buildile kaynak koddan derler) ~/binveya%USERPROFILE%\bindizinine kurulum yapar (--install-dirile özelleştirilebilir)- Kurulum dizinini
PATH’e ekler (Bash için shell profilleri, Windows için Kayıt Defteri) - 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
- Sonraki adımları yazdırır
Gereksinimler
| Platform | Bağımlılıklar |
|---|---|
| macOS / Linux | curl + tar |
macOS / Linux (--build) | curl + git + go + bun + make |
| Windows | PowerShell 5.1+ (Windows 10/11 ile birlikte gelir) |
Hızlı Kurulum
curl -fsSL https://bedrud.org/install.sh | bashKabuğunuzu yeniden yükleyin, ardından doğrulayın:
source ~/.bashrc # veya ~/.zshrc
bedrud --versionirm https://bedrud.org/install.ps1 | iex
bedrud --versionBayraklar ve Seçenekler
Bash Kurulumu
Usage: curl -fsSL https://bedrud.org/install.sh | bash -s -- [options]
| Bayrak | Varsayılan | Açıklama |
|---|---|---|
--install-dir <dir> | ~/bin | İkili dosyanın yerleştirileceği dizin |
--version <ver> | latest | Bir sürüme sabitle (ör. v1.2.0) |
--build | kapalı | İndirmek yerine kaynak koddan derle |
--branch <name> | master | Klonlanacak Git dalı (--build gerekir) |
--no-setup | kapalı | Sadece ikili dosyayı indir, etkileşimli sunucu kurulumunu atla |
--skip-shell | kapalı | Kabuk RC dosyalarını veya PATH’ı değiştirme |
-h, --help | — | Kullanı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-setupPowerShell 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| Parametre | Varsayılan | Açıklama |
|---|---|---|
-InstallDir <path> | $HOME\bin | bedrud.exe dosyasının yerleştirileceği dizin |
-Version <ver> | latest | Belirli bir sürümü kur |
-SkipPath | $false | Kurulum dizinini kullanıcı PATH’ına ekleme |
-Build | $false | İndirmek yerine kaynak koddan derle |
-Branch <name> | master | Klonlanacak Git dalı (-Build gerekir) |
-NoSetup | $false | Sadece 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 -SkipPathOrtam Değişkenleri
| Değişken | Varsayılan | Platformlar | Açıklama |
|---|---|---|---|
BEDRUD_INSTALL | ~/bin | Yalnızca Bash | Kurulum dizinini geçersiz kıl (--install-dir ile aynı) |
BEDRUD_REPO | themadorg/bedrud | İkisi de | GitHub 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 | iexPlatform Desteği
| Hedef | İşletim Sistemi | Mimari | Notlar |
|---|---|---|---|
darwin_amd64 | macOS | Intel (x86_64) | Standart |
darwin_arm64 | macOS | Apple Silicon (M1/M2/M3/M4) | Rosetta 2 otomatik algılanır |
linux_amd64 | Linux | x86_64 | Statik ikili dosya — tüm dağıtımlar |
linux_arm64 | Linux | ARM64 | Statik ikili dosya — tüm dağıtımlar |
freebsd_amd64 | FreeBSD | x86_64 | Standart |
windows_amd64 | Windows | x86_64 | Standart |
windows_arm64 | Windows | ARM64 | Standart |
Ö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_amd64 → darwin_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 System | Algılama | Servis Dosyaları | Yönetim |
|---|---|---|---|
| systemd | /run/systemd/system mevcut | /etc/systemd/system/*.service | systemctl |
| OpenRC | /sbin/openrc mevcut | /etc/init.d/* (OpenRC formatı) | rc-service, rc-update |
| SysV init | service komutu mevcut | /etc/init.d/* (LSB formatı) | service, update-rc.d |
| Konteyner | /.dockerenv, /proc/1/comm, /proc/1/cgroup | Yok — manuel başlatma | Doğ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ışı
- Windows kontrolü — Bash’te MINGW/MSYS/CYGWIN algılandı mı? PowerShell’e yönlendir.
- WSL kontrolü — PowerShell’de WSL algılandı mı? Bash’e yönlendir.
- Bağımlılık kontrolü — Bash:
curl+tar. PowerShell: (varsayılan yok). Derleme:git+go+bun+make. - Platform algılama —
uname(Bash) veyaRuntimeInformation(PowerShell) aracılığıyla işletim sistemi + mimari. - İ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.
- Doğrulama —
bedrud --versionkomutunu çalıştır. - PATH kontrolü — PATH’te zaten var mı? Atla. Aksi halde → RC dosyasını (Bash) veya Kayıt Defterini (PowerShell) düzenle.
- Etkileşimli Kurulum — Alan Adı, TLS, Postgres ve Yönetici kullanıcısı oluşturma için Soru-Cevap.
- 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.
| Kabuk | RC 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/bedrudKendi Barındırdığınız Yansı
BEDRUD_REPO=mycompany/bedrud-mirror curl -fsSL https://bedrud.org/install.sh | bashDoğ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.fishsystemd, OpenRC, SysV init sunucu kurulumları için:
sudo bedrud uninstallWindows:
Remove-Item "$env:USERPROFILE\bin\bedrud.exe"
# System Properties → Environment Variables üzerinden PATH'ten kaldırınSorun Giderme
command not found: bedrud
source ~/.bashrc # kabuğu yeniden yükle
echo $PATH | tr ':' '\n' | grep "$HOME/bin" # PATH'ı kontrol etEksikse:
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcFailed to download bedrud
- İnternet bağlantısını kontrol edin
- Hedefin Sürümler sayfasında mevcut olduğunu doğrulayın
- Belirli bir sürümü deneyin:
--version v1.0.0 - 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 bashWindows: “running scripts is disabled”
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
irm https://bedrud.org/install.ps1 | iexBir 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.