Installation en une commande sur toutes les plateformes. Pas besoin de sudo — s’installe dans votre répertoire personnel.
Pour la configuration du serveur après l’installation, voir Démarrage rapide. Pour les gestionnaires de packages, Docker et autres méthodes, voir Installation du serveur.
Ce qu’il fait
- Détecte l’OS, l’architecture CPU, les variantes de plateforme (Rosetta 2/WSL) et le système d’initialisation (systemd/OpenRC/SysV/conteneur)
- Télécharge le bon binaire depuis GitHub Releases (ou compile depuis les sources avec
--build) - Installe dans
~/binou%USERPROFILE%\bin(personnalisable via--install-dir) - Ajoute le répertoire d’installation au
PATH(profils shell pour Bash, Registre pour Windows) - Windows et Linux : Propose un dialogue interactif pour configurer TLS, Postgres et créer le premier utilisateur Admin
- Affiche les prochaines étapes
Prérequis
| Plateforme | Dépendances |
|---|---|
| macOS / Linux | curl + tar |
macOS / Linux (--build) | curl + git + go + bun + make |
| Windows | PowerShell 5.1+ (inclus avec Windows 10/11) |
Installation rapide
curl -fsSL https://bedrud.org/install.sh | bashRechargez votre shell, puis vérifiez :
source ~/.bashrc # ou ~/.zshrc
bedrud --versionirm https://bedrud.org/install.ps1 | iex
bedrud --versionFlags et options
Installateur Bash
Usage: curl -fsSL https://bedrud.org/install.sh | bash -s -- [options]
| Flag | Par défaut | Description |
|---|---|---|
--install-dir <dir> | ~/bin | Où placer le binaire |
--version <ver> | latest | Épingler à une version (ex. v1.2.0) |
--build | inactif | Compiler depuis les sources au lieu de télécharger |
--branch <name> | master | Branche Git à cloner (requiert --build) |
--no-setup | inactif | Télécharger uniquement, ignorer la configuration interactive du serveur |
--skip-shell | inactif | Ne pas modifier les fichiers RC du shell ni le PATH |
-h, --help | — | Afficher l’aide et quitter |
Exemples :
# Par défaut
curl -fsSL https://bedrud.org/install.sh | bash
# Version spécifique
curl -fsSL https://bedrud.org/install.sh | bash -s -- --version v1.2.0
# Compiler depuis les sources (branche personnalisée)
curl -fsSL https://bedrud.org/install.sh | bash -s -- --build --branch my-feature
# Compiler depuis un fork
BEDRUD_REPO=myuser/bedrud curl -fsSL https://bedrud.org/install.sh | bash -s -- --build
# Installation système
curl -fsSL https://bedrud.org/install.sh | sudo bash -s -- --install-dir /usr/local/bin
# CI / automatisation — ignorer la config du shell et la configuration interactive
curl -fsSL https://bedrud.org/install.sh | bash -s -- --skip-shell --no-setupInstallateur PowerShell
Usage: irm https://bedrud.org/install.ps1 | iex
Pour passer des paramètres, enregistrez d’abord le fichier :
irm https://bedrud.org/install.ps1 -OutFile install.ps1
.\install.ps1 -Version v1.2.0 -InstallDir C:\Tools| Paramètre | Par défaut | Description |
|---|---|---|
-InstallDir <path> | $HOME\bin | Où placer bedrud.exe |
-Version <ver> | latest | Installer une version spécifique |
-SkipPath | $false | Ne pas ajouter le répertoire au PATH utilisateur |
-Build | $false | Compiler depuis les sources au lieu de télécharger |
-Branch <name> | master | Branche Git à cloner (requiert -Build) |
-NoSetup | $false | Télécharger uniquement, ignorer la configuration interactive du serveur |
Exemples :
# Par défaut
irm https://bedrud.org/install.ps1 | iex
# Compiler depuis les sources
.\install.ps1 -Build -Branch main
# CI / automatisation — ignorer la configuration interactive
.\install.ps1 -NoSetup -SkipPathVariables d’environnement
| Variable | Par défaut | Plateformes | Description |
|---|---|---|---|
BEDRUD_INSTALL | ~/bin | Bash uniquement | Remplacer le répertoire d’installation (identique à --install-dir) |
BEDRUD_REPO | themadorg/bedrud | Les deux | Remplacer le dépôt GitHub (pour les forks ou miroirs) |
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 | iexPlateformes supportées
| Cible | OS | Architecture | Notes |
|---|---|---|---|
darwin_amd64 | macOS | Intel (x86_64) | Standard |
darwin_arm64 | macOS | Apple Silicon (M1/M2/M3/M4) | Rosetta 2 détecté automatiquement |
linux_amd64 | Linux | x86_64 | Binaire statique — toutes les distributions |
linux_arm64 | Linux | ARM64 | Binaire statique — toutes les distributions |
freebsd_amd64 | FreeBSD | x86_64 | Standard |
windows_amd64 | Windows | x86_64 | Standard |
windows_arm64 | Windows | ARM64 | Standard |
Détection des cas particuliers
Rosetta 2 (macOS Intel sur Apple Silicon)
Détection : sysctl -n sysctl.proc_translated renvoie 1.
Effet : Bascule darwin_amd64 → darwin_arm64 pour les performances ARM natives.
Environnements conteneur (Docker, Kubernetes, etc.)
Détection : Vérifie /.dockerenv, /run/.containerenv, /proc/1/comm (pour docker-init, tini, containerd, runc) et /proc/1/cgroup (pour docker, kubepods, containerd).
Effet : L’installation des fichiers de service est ignorée. L’installateur affiche les commandes de démarrage manuel :
# Premier plan
/usr/local/bin/bedrud run --config /etc/bedrud/config.yaml
# Arrière-plan
nohup /usr/local/bin/bedrud run --config /etc/bedrud/config.yaml \
> /var/log/bedrud/bedrud.log 2>&1 &Pour une gestion correcte des services dans Docker, utilisez --init ou tini comme PID 1.
Prise en charge des systèmes d’initialisation
L’installateur détecte automatiquement votre système d’initialisation et crée les fichiers de service appropriés pour la configuration du serveur :
| Système d’initialisation | Détection | Fichiers de service | Gestion |
|---|---|---|---|
| systemd | /run/systemd/system existe | /etc/systemd/system/*.service | systemctl |
| OpenRC | /sbin/openrc existe | /etc/init.d/* (format OpenRC) | rc-service, rc-update |
| SysV init | commande service disponible | /etc/init.d/* (format LSB) | service, update-rc.d |
| Conteneur | /.dockerenv, /proc/1/comm, /proc/1/cgroup | Aucun — démarrage manuel | Binaire direct ou nohup |
Pris en charge sur : La plupart des distributions Linux (systemd, OpenRC, SysV init), WSL1 et les conteneurs Linux. Les environnements conteneur sont auto-détectés — l’installation des fichiers de service est ignorée avec affichage des instructions de démarrage manuel.
Processus d’installation
- Vérification Windows — MINGW/MSYS/CYGWIN détecté dans Bash ? Rediriger vers PowerShell.
- Vérification WSL — WSL détecté dans PowerShell ? Rediriger vers Bash.
- Vérification des dépendances — Bash :
curl+tar. PowerShell : (aucune par défaut). Compilation :git+go+bun+make. - Détection de plateforme — OS + architecture via
uname(Bash) ouRuntimeInformation(PowerShell). - Installation du binaire — soit :
- Mode téléchargement (par défaut) : télécharger et extraire zip/tar.xz.
- Mode compilation (
--build) :git clone,bun install,go mod download,make build.
- Vérification — exécuter
bedrud --version. - Vérification du PATH — déjà dans le PATH ? Ignorer. Sinon → modifier le fichier RC (Bash) ou le Registre (PowerShell).
- Configuration interactive — Q&A pour Domaine, TLS, Postgres et création de l’utilisateur Admin.
- Terminé — afficher le succès + URL d’accès.
Format de l’URL de téléchargement : github.com/{repo}/releases/{ver}/bedrud_{TARGET}.tar.xz
Mode compilation clone depuis : github.com/{repo} et exécute make build (sortie : server/dist/bedrud).
PATH et configuration du shell
Quand --skip-shell n’est pas défini, l’installateur ajoute le répertoire d’installation à votre PATH.
| Shell | Fichier RC |
|---|---|
| fish | ~/.config/fish/config.fish |
| zsh | $ZDOTDIR/.zshrc (par défaut ~/.zshrc) |
| bash (macOS) | ~/.bash_profile, puis ~/.bashrc |
| bash (Linux) | ~/.bashrc, puis ~/.bash_profile |
Ce qui est ajouté :
# bedrud
export PATH="$HOME/bin:$PATH" # bedrudLe marqueur de commentaire # bedrud empêche les entrées en double — il est sans risque de relancer.
Windows : Utilise [Environment]::SetEnvironmentVariable("PATH", ..., "User") au niveau du registre. Pas besoin de fichier RC.
Rechargez le shell après l’installation :
source ~/.bashrc # bash
source ~/.zshrc # zsh
source ~/.config/fish/config.fish # fishInstallations hors ligne / isolées
Téléchargement et transfert
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/
# Sur la cible :
tar -xf /tmp/bedrud.tar.xz -C /tmp/bedrud-extracted
mv /tmp/bedrud-extracted/bedrud ~/bin/
chmod +x ~/bin/bedrudMiroir auto-hébergé
BEDRUD_REPO=mycompany/bedrud-mirror curl -fsSL https://bedrud.org/install.sh | bashBinaire direct
Téléchargez depuis Releases, extrayez, déplacez dans un répertoire de votre PATH.
Désinstallation
rm ~/bin/bedrud
# Supprimer la ligne PATH du fichier RC du shell (chercher "# bedrud") :
# ~/.bashrc, ~/.bash_profile, ~/.zshrc, ~/.config/fish/config.fishPour les installations serveur (systemd, OpenRC ou SysV init) :
sudo bedrud uninstallWindows :
Remove-Item "$env:USERPROFILE\bin\bedrud.exe"
# Supprimer du PATH via Propriétés système → Variables d'environnementDépannage
command not found: bedrud
source ~/.bashrc # recharger le shell
echo $PATH | tr ':' '\n' | grep "$HOME/bin" # vérifier le PATHSi absent :
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcFailed to download bedrud
- Vérifiez la connexion Internet
- Vérifiez que la cible existe sur Releases
- Essayez une version spécifique :
--version v1.0.0 - Votre plateforme n’a peut-être pas encore de binaire précompilé
macOS : exécution x64 sous Rosetta (lent)
Forcer l’ARM natif :
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 | iexWindows : WSL détecté
Si vous exécutez l’installateur dans un terminal WSL (par exemple, Ubuntu sur Windows), l’installateur PowerShell le détectera et vous demandera d’exécuter l’installateur Bash à la place. Cela garantit que Bedrud est installé correctement pour l’environnement Linux à l’intérieur de WSL.
Windows : appareils ARM64 (Surface Pro, etc.)
L’installateur auto-détecte windows_arm64 et télécharge le binaire natif. Si vous avez besoin de forcer une architecture, téléchargez le zip spécifique depuis les Releases.
Windows : Docker Desktop pour Postgres
Si vous choisissez d’exécuter Postgres dans Docker pendant la configuration, assurez-vous que Docker Desktop est installé et en cours d’exécution. L’installateur tentera de démarrer le conteneur automatiquement.