Ein-Klick-Installation für alle Plattformen. Kein sudo — wird in Ihrem Home-Verzeichnis installiert.
Für die Server-Einrichtung nach der Installation siehe Schnellstart. Für Paketmanager, Docker und andere Methoden siehe Serverinstallation.
Funktionsweise
- Erkennt Betriebssystem, CPU-Architektur, Plattformvarianten (Rosetta 2/WSL) und Init-System (systemd/OpenRC/SysV/Container)
- Lädt die richtige Binärdatei von GitHub Releases herunter (oder erstellt aus dem Quellcode mit
--build) - Installiert nach
~/binoder%USERPROFILE%\bin(anpassbar über--install-dir) - Fügt das Installationsverzeichnis zum
PATHhinzu (Shell-Profile für Bash, Registry für Windows) - Windows & Linux: Bietet einen interaktiven Dialog zur Konfiguration von TLS, Postgres und Erstellung des ersten Admin-Benutzers
- Zeigt die nächsten Schritte an
Voraussetzungen
| Plattform | Abhängigkeiten |
|---|---|
| macOS / Linux | curl + tar |
macOS / Linux (--build) | curl + git + go + bun + make |
| Windows | PowerShell 5.1+ (in Windows 10/11 enthalten) |
Windows (--build) | git + go + bun + make |
Schnellinstallation
curl -fsSL https://bedrud.org/install.sh | bashShell neu laden, dann überprüfen:
source ~/.bashrc # oder ~/.zshrc
bedrud --versionirm https://bedrud.org/install.ps1 | iex
bedrud --versionFlags & Optionen
Bash-Installer
Usage: curl -fsSL https://bedrud.org/install.sh | bash -s -- [options]
| Flag | Standard | Beschreibung |
|---|---|---|
--install-dir <dir> | ~/bin | Ablageort der Binärdatei |
--version <ver> | latest | Eine Release-Version festlegen (z. B. v1.2.0) |
--build | off | Aus Quellcode erstellen statt Release herunterzuladen |
--branch <name> | master | Zu klonender Git-Branch (erfordert --build) |
--skip-shell | off | Shell-RC-Dateien und PATH nicht ändern |
--no-setup | off | Nur Binärdatei herunterladen, interaktives Server-Setup überspringen |
-h, --help | — | Verwendung anzeigen und beenden |
Beispiele:
# Standard
curl -fsSL https://bedrud.org/install.sh | bash
# Version festlegen
curl -fsSL https://bedrud.org/install.sh | bash -s -- --version v1.2.0
# Aus Quellcode erstellen (benutzerdefinierter Branch)
curl -fsSL https://bedrud.org/install.sh | bash -s -- --build --branch my-feature
# Aus einem Fork erstellen
BEDRUD_REPO=myuser/bedrud curl -fsSL https://bedrud.org/install.sh | bash -s -- --build
# Systemweite Installation
curl -fsSL https://bedrud.org/install.sh | sudo bash -s -- --install-dir /usr/local/bin
# CI / Automatisierung — Shell-Konfiguration und interaktives Setup überspringen
curl -fsSL https://bedrud.org/install.sh | bash -s -- --skip-shell --no-setupPowerShell-Installer
Usage: irm https://bedrud.org/install.ps1 | iex
Zum Übergeben von Parametern zunächst in einer Datei speichern:
irm https://bedrud.org/install.ps1 -OutFile install.ps1
.\install.ps1 -Version v1.2.0 -InstallDir C:\Tools| Parameter | Standard | Beschreibung |
|---|---|---|
-InstallDir <path> | $HOME\bin | Ablageort von bedrud.exe |
-Version <ver> | latest | Eine bestimmte Release-Version installieren |
-SkipPath | $false | Installationsverzeichnis nicht zum Benutzer-PATH hinzufügen |
-Build | $false | Aus Quellcode erstellen statt herunterzuladen |
-Branch <name> | master | Zu klonender Git-Branch (erfordert -Build) |
-NoSetup | $false | Nur herunterladen, interaktives Server-Setup überspringen |
Beispiele:
# Standard
irm https://bedrud.org/install.ps1 | iex
# Aus Quellcode erstellen
.\install.ps1 -Build -Branch main
# CI / Automatisierung — interaktives Setup überspringen
.\install.ps1 -NoSetup -SkipPathUmgebungsvariablen
| Variable | Standard | Plattformen | Beschreibung |
|---|---|---|---|
BEDRUD_INSTALL | ~/bin | Nur Bash | Installationsverzeichnis überschreiben (gleich wie --install-dir) |
BEDRUD_REPO | themadorg/bedrud | Beide | GitHub-Repo überschreiben (für Forks oder Mirrors) |
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 | iexPlattformunterstützung
| Ziel | Betriebssystem | Architektur | Hinweise |
|---|---|---|---|
darwin_amd64 | macOS | Intel (x86_64) | Standard |
darwin_arm64 | macOS | Apple Silicon (M1/M2/M3/M4) | Rosetta 2 automatisch erkannt |
linux_amd64 | Linux | x86_64 | Statische Binärdatei — alle Distributionen |
linux_arm64 | Linux | ARM64 | Statische Binärdatei — alle Distributionen |
freebsd_amd64 | FreeBSD | x86_64 | Standard |
windows_amd64 | Windows | x86_64 | Standard |
windows_arm64 | Windows | ARM64 | Standard |
Erkennung von Sonderfällen
Rosetta 2 (macOS Intel auf Apple Silicon)
Erkennung: sysctl -n sysctl.proc_translated gibt 1 zurück.
Auswirkung: Wechselt darwin_amd64 → darwin_arm64 für native ARM-Leistung.
Container-Umgebungen (Docker, Kubernetes, etc.)
Erkennung: Prüft /.dockerenv, /run/.containerenv, /proc/1/comm (für docker-init, tini, containerd, runc) und /proc/1/cgroup (für docker, kubepods, containerd).
Auswirkung: Service-Datei-Installation wird übersprungen. Der Installer zeigt manuelle Startbefehle an:
# Vordergrund
/usr/local/bin/bedrud run --config /etc/bedrud/config.yaml
# Hintergrund
nohup /usr/local/bin/bedrud run --config /etc/bedrud/config.yaml \
> /var/log/bedrud/bedrud.log 2>&1 &Für korrektes Servicemanagement in Docker, verwenden Sie --init oder tini als PID 1.
Init-System-Unterstützung
Der Installer erkennt das Init-System automatisch und erstellt die entsprechenden Service-Dateien für die Servereinrichtung:
| Init-System | Erkennung | Service-Dateien | Verwaltung |
|---|---|---|---|
| systemd | /run/systemd/system vorhanden | /etc/systemd/system/*.service | systemctl |
| OpenRC | /sbin/openrc vorhanden | /etc/init.d/* (OpenRC-Format) | rc-service, rc-update |
| SysV init | service-Befehl verfügbar | /etc/init.d/* (LSB-Format) | service, update-rc.d |
| Container | /.dockerenv, /proc/1/comm, /proc/1/cgroup | Keine — manueller Start | Direkte Binärdatei oder nohup |
Unterstützt auf: Den meisten Linux-Distributionen (systemd, OpenRC, SysV init), WSL1 und Linux-Containern. Containerumgebungen werden automatisch erkannt — die Service-Datei-Installation wird übersprungen und manuelle Startanweisungen werden angezeigt.
Installationsablauf
- Windows-Prüfung — MINGW/MSYS/CYGWIN in Bash erkannt? Zu PowerShell umleiten.
- WSL-Prüfung — WSL in PowerShell erkannt? Zu Bash umleiten.
- Abhängigkeitsprüfung — Bash:
curl+tar. PowerShell: (standardmäßig keine). Build:git+go+bun+make. - Plattform-Erkennung — OS + Architektur über
uname(Bash) oderRuntimeInformation(PowerShell). - Binärdatei installieren — entweder:
- Download-Modus (Standard): zip/tar.xz herunterladen und entpacken.
- Build-Modus (
--build):git clone,bun install,go mod download,make build.
- Überprüfen —
bedrud --versionausführen. - PATH-Prüfung — bereits im PATH? Überspringen. Sonst → RC-Datei (Bash) oder Registry (PowerShell) ändern.
- Interaktives Setup — Dialog für Domain, TLS, Postgres und Admin-Benutzererstellung.
- Fertig — Erfolgsmeldung + Zugriffs-URL ausgeben.
Download-URL-Format: github.com/{repo}/releases/{ver}/bedrud_{TARGET}.tar.xz
Build-Modus klont von: github.com/{repo} und führt make build aus (Ausgabe: server/dist/bedrud).
PATH & Shell-Konfiguration
Wenn --skip-shell nicht gesetzt ist, fügt das Installationsprogramm das Installationsverzeichnis Ihrem PATH hinzu.
| Shell | RC-Datei |
|---|---|
| fish | ~/.config/fish/config.fish |
| zsh | $ZDOTDIR/.zshrc (Standard ~/.zshrc) |
| bash (macOS) | ~/.bash_profile, dann ~/.bashrc |
| bash (Linux) | ~/.bashrc, dann ~/.bash_profile |
Was hinzugefügt wird:
# bedrud
export PATH="$HOME/bin:$PATH" # bedrudDer # bedrud-Kommentar-Marker verhindert doppelte Einträge — sicher zum erneuten Ausführen.
Windows: Verwendet [Environment]::SetEnvironmentVariable("PATH", ..., "User") auf Registrierungsebene. Keine RC-Datei erforderlich.
Shell nach der Installation neu laden:
source ~/.bashrc # bash
source ~/.zshrc # zsh
source ~/.config/fish/config.fish # fishOffline- / Air-Gap-Installationen
Herunterladen und Übertragen
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/
# Auf dem Zielsystem:
tar -xf /tmp/bedrud.tar.xz -C /tmp/bedrud-extracted
mv /tmp/bedrud-extracted/bedrud ~/bin/
chmod +x ~/bin/bedrudSelbstgehosteter Mirror
BEDRUD_REPO=mycompany/bedrud-mirror curl -fsSL https://bedrud.org/install.sh | bashDirekte Binärdatei
Von Releases herunterladen, entpacken und in ein Verzeichnis in Ihrem PATH verschieben.
Deinstallation
rm ~/bin/bedrud
# PATH-Zeile aus der Shell-RC entfernen (nach "# bedrud" suchen):
# ~/.bashrc, ~/.bash_profile, ~/.zshrc, ~/.config/fish/config.fishFür Serverinstallationen (systemd, OpenRC oder SysV init):
sudo bedrud uninstallWindows:
Remove-Item "$env:USERPROFILE\bin\bedrud.exe"
# Über Systemeigenschaften → Umgebungsvariablen aus dem PATH entfernenFehlerbehebung
command not found: bedrud
source ~/.bashrc # Shell neu laden
echo $PATH | tr ':' '\n' | grep "$HOME/bin" # PATH prüfenFalls fehlend:
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcFailed to download bedrud
- Internetverbindung prüfen
- Überprüfen, ob das Ziel unter Releases existiert
- Eine bestimmte Version versuchen:
--version v1.0.0 - Ihre Plattform verfügt möglicherweise noch nicht über eine vorkompilierte Binärdatei
macOS: x64 wird unter Rosetta ausgeführt (langsam)
Natives ARM erzwingen:
arch -arm64 curl -fsSL https://bedrud.org/install.sh | arch -arm64 bashWindows: “Ausführung von Skripts ist deaktiviert”
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
irm https://bedrud.org/install.ps1 | iexWindows: WSL erkannt
Wenn Sie in einem WSL-Terminal arbeiten (z. B. Ubuntu unter Windows), erkennt der PowerShell-Installer dies und bittet Sie, stattdessen den Bash-Installer auszuführen. Dadurch wird sichergestellt, dass Bedrud korrekt für die Linux-Umgebung in WSL installiert wird.
Windows: ARM64-Geräte (Surface Pro usw.)
Der Installer erkennt automatisch windows_arm64 und lädt die native Binärdatei herunter. Wenn Sie eine Architektur erzwingen müssen, laden Sie das spezifische Zip-Archiv von Releases herunter.
Windows: Docker Desktop für Postgres
Wenn Sie sich während der Einrichtung dafür entscheiden, Postgres in Docker auszuführen, stellen Sie sicher, dass Docker Desktop installiert ist und ausgeführt wird. Der Installer wird versuchen, den Container automatisch zu starten.