Instalación en un solo comando para todas las plataformas. No requiere sudo — instala en tu directorio personal.
Para la configuración del servidor después de la instalación, consulta Inicio Rápido. Para gestores de paquetes, Docker y otros métodos, consulta Instalación del Servidor.
Lo que Hace
- Detecta el sistema operativo, arquitectura de CPU, variantes de plataforma (Rosetta 2/WSL) y sistema de inicialización (systemd/OpenRC/SysV/contenedor)
- Descarga el binario correcto desde GitHub Releases (o compila desde el código fuente con
--build) - Instala en
~/bino%USERPROFILE%\bin(personalizable con--install-dir) - Añade el directorio de instalación al
PATH(perfiles de shell para Bash, Registro para Windows) - Windows y Linux: Ofrece un diálogo interactivo para configurar TLS, Postgres y crear el usuario Administrador inicial
- Muestra los siguientes pasos
Requisitos
| Plataforma | Dependencias |
|---|---|
| macOS / Linux | curl + tar |
macOS / Linux (--build) | curl + git + go + bun + make |
| Windows | PowerShell 5.1+ (incluido con Windows 10/11) |
Instalación Rápida
curl -fsSL https://bedrud.org/install.sh | bashRecarga el shell, luego verifica:
source ~/.bashrc # o ~/.zshrc
bedrud --versionirm https://bedrud.org/install.ps1 | iex
bedrud --versionFlags y Opciones
Instalador Bash
Usage: curl -fsSL https://bedrud.org/install.sh | bash -s -- [options]
| Flag | Predeterminado | Descripción |
|---|---|---|
--install-dir <dir> | ~/bin | Dónde colocar el binario |
--version <ver> | latest | Fijar a una versión (ej. v1.2.0) |
--build | desactivado | Compilar desde el código fuente en lugar de descargar |
--branch <name> | master | Rama de Git a clonar (requiere --build) |
--no-setup | desactivado | Solo descargar binario, omitir la configuración interactiva del servidor |
--skip-shell | desactivado | No modificar archivos RC del shell ni PATH |
-h, --help | — | Mostrar uso y salir |
Ejemplos:
# Predeterminado
curl -fsSL https://bedrud.org/install.sh | bash
# Fijar versión
curl -fsSL https://bedrud.org/install.sh | bash -s -- --version v1.2.0
# Compilar desde el código fuente (rama personalizada)
curl -fsSL https://bedrud.org/install.sh | bash -s -- --build --branch my-feature
# Compilar desde un fork
BEDRUD_REPO=myuser/bedrud curl -fsSL https://bedrud.org/install.sh | bash -s -- --build
# Instalación en todo el sistema
curl -fsSL https://bedrud.org/install.sh | sudo bash -s -- --install-dir /usr/local/bin
# CI / automatización — omitir config del shell y configuración interactiva
curl -fsSL https://bedrud.org/install.sh | bash -s -- --skip-shell --no-setupInstalador PowerShell
Usage: irm https://bedrud.org/install.ps1 | iex
Para pasar parámetros, guarda primero en un archivo:
irm https://bedrud.org/install.ps1 -OutFile install.ps1
.\install.ps1 -Version v1.2.0 -InstallDir C:\Tools| Parámetro | Predeterminado | Descripción |
|---|---|---|
-InstallDir <path> | $HOME\bin | Dónde colocar bedrud.exe |
-Version <ver> | latest | Instalar una versión específica |
-SkipPath | $false | No añadir el directorio de instalación al PATH del usuario |
-Build | $false | Compilar desde el código fuente en lugar de descargar |
-Branch <name> | master | Rama de Git a clonar (requiere -Build) |
-NoSetup | $false | Solo descargar, omitir la configuración interactiva del servidor |
Ejemplos:
# Predeterminado
irm https://bedrud.org/install.ps1 | iex
# Compilar desde el código fuente
.\install.ps1 -Build -Branch main
# CI / automatización — omitir la configuración interactiva
.\install.ps1 -NoSetup -SkipPathVariables de Entorno
| Variable | Predeterminado | Plataformas | Descripción |
|---|---|---|---|
BEDRUD_INSTALL | ~/bin | Solo Bash | Sobrescribir directorio de instalación (igual que --install-dir) |
BEDRUD_REPO | themadorg/bedrud | Ambas | Sobrescribir repositorio de GitHub (para forks o 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 | iexSoporte de Plataformas
| Destino | SO | Arquitectura | Notas |
|---|---|---|---|
darwin_amd64 | macOS | Intel (x86_64) | Estándar |
darwin_arm64 | macOS | Apple Silicon (M1/M2/M3/M4) | Rosetta 2 detectado automáticamente |
linux_amd64 | Linux | x86_64 | Binario estático — todas las distribuciones |
linux_arm64 | Linux | ARM64 | Binario estático — todas las distribuciones |
freebsd_amd64 | FreeBSD | x86_64 | Estándar |
windows_amd64 | Windows | x86_64 | Estándar |
windows_arm64 | Windows | ARM64 | Estándar |
Detección de Casos Especiales
Rosetta 2 (macOS Intel en Apple Silicon)
Detección: sysctl -n sysctl.proc_translated devuelve 1.
Efecto: Cambia darwin_amd64 → darwin_arm64 para rendimiento nativo en ARM.
Entornos de contenedores (Docker, Kubernetes, etc.)
Detección: Comprueba /.dockerenv, /run/.containerenv, /proc/1/comm (para docker-init, tini, containerd, runc) y /proc/1/cgroup (para docker, kubepods, containerd).
Efecto: La instalación de archivos de servicio se omite. El instalador muestra comandos de inicio manual:
# Primer plano
/usr/local/bin/bedrud run --config /etc/bedrud/config.yaml
# Segundo plano
nohup /usr/local/bin/bedrud run --config /etc/bedrud/config.yaml \
> /var/log/bedrud/bedrud.log 2>&1 &Para una gestión adecuada de servicios en Docker, use --init o tini como PID 1.
Soporte de sistemas de inicialización
El instalador detecta automáticamente el sistema de inicialización y crea los archivos de servicio apropiados para la configuración del servidor:
| Sistema de inicialización | Detección | Archivos de servicio | Gestión |
|---|---|---|---|
| systemd | existe /run/systemd/system | /etc/systemd/system/*.service | systemctl |
| OpenRC | existe /sbin/openrc | /etc/init.d/* (formato OpenRC) | rc-service, rc-update |
| SysV init | comando service disponible | /etc/init.d/* (formato LSB) | service, update-rc.d |
| Contenedor | /.dockerenv, /proc/1/comm, /proc/1/cgroup | Ninguno — inicio manual | Binario directo o nohup |
Compatible con: La mayoría de las distribuciones de Linux (systemd, OpenRC, SysV init), WSL1 y contenedores de Linux. Los entornos de contenedores se detectan automáticamente — la instalación de archivos de servicio se omite con instrucciones de inicio manual.
Flujo de Instalación
- Comprobación de Windows — ¿MINGW/MSYS/CYGWIN detectado en Bash? Redirigir a PowerShell.
- Comprobación de WSL — ¿WSL detectado en PowerShell? Redirigir a Bash.
- Comprobación de dependencias — Bash:
curl+tar. PowerShell: (ninguna por defecto). Compilación:git+go+bun+make. - Detección de plataforma — SO + arquitectura mediante
uname(Bash) oRuntimeInformation(PowerShell). - Instalar binario — ya sea:
- Modo descarga (predeterminado): descargar y extraer zip/tar.xz.
- Modo compilación (
--build):git clone,bun install,go mod download,make build.
- Verificación — ejecutar
bedrud --version. - Comprobación de PATH — ¿Ya en PATH? Omitir. En caso contrario → modificar archivo RC (Bash) o Registro (PowerShell).
- Configuración Interactiva — Cuestionario para Dominio, TLS, Postgres y creación del usuario Administrador.
- Listo — mostrar éxito + URL de acceso.
Formato de URL de descarga: github.com/{repo}/releases/{ver}/bedrud_{TARGET}.tar.xz
Modo compilación clona desde: github.com/{repo} y ejecuta make build (salida: server/dist/bedrud).
PATH y Configuración del Shell
Cuando no se establece --skip-shell, el instalador añade el directorio de instalación a tu PATH.
| Shell | Archivo RC |
|---|---|
| fish | ~/.config/fish/config.fish |
| zsh | $ZDOTDIR/.zshrc (predeterminado ~/.zshrc) |
| bash (macOS) | ~/.bash_profile, luego ~/.bashrc |
| bash (Linux) | ~/.bashrc, luego ~/.bash_profile |
Lo que se añade:
# bedrud
export PATH="$HOME/bin:$PATH" # bedrudEl marcador de comentario # bedrud evita entradas duplicadas — es seguro volver a ejecutar.
Windows: Usa [Environment]::SetEnvironmentVariable("PATH", ..., "User") a nivel del registro. No se necesita archivo RC.
Recargar el shell después de la instalación:
source ~/.bashrc # bash
source ~/.zshrc # zsh
source ~/.config/fish/config.fish # fishInstalaciones Sin Conexión / Aisladas
Descargar y Transferir
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/
# En el destino:
tar -xf /tmp/bedrud.tar.xz -C /tmp/bedrud-extracted
mv /tmp/bedrud-extracted/bedrud ~/bin/
chmod +x ~/bin/bedrudMirror Autohospedado
BEDRUD_REPO=mycompany/bedrud-mirror curl -fsSL https://bedrud.org/install.sh | bashBinario Directo
Descarga desde Releases, extrae, mueve a un directorio en tu PATH.
Desinstalación
rm ~/bin/bedrud
# Eliminar la línea del PATH del archivo RC del shell (buscar "# bedrud"):
# ~/.bashrc, ~/.bash_profile, ~/.zshrc, ~/.config/fish/config.fishPara instalaciones de servidor con systemd, OpenRC o SysV init:
sudo bedrud uninstallWindows:
Remove-Item "$env:USERPROFILE\bin\bedrud.exe"
# Eliminar del PATH mediante Propiedades del Sistema → Variables de EntornoSolución de Problemas
command not found: bedrud
source ~/.bashrc # recargar el shell
echo $PATH | tr ':' '\n' | grep "$HOME/bin" # verificar PATHSi falta:
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcFailed to download bedrud
- Verifica la conexión a internet
- Comprueba que el destino existe en Releases
- Prueba una versión específica:
--version v1.0.0 - Es posible que tu plataforma aún no tenga un binario precompilado
macOS: Ejecutando x64 bajo Rosetta (lento)
Forzar ARM nativo:
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 detectado
Si estás ejecutando en un terminal WSL (por ejemplo, Ubuntu en Windows), el instalador de PowerShell lo detectará y te pedirá que ejecutes el instalador de Bash en su lugar. Esto asegura que Bedrud se instale correctamente para el entorno Linux dentro de WSL.
Windows: dispositivos ARM64 (Surface Pro, etc.)
El instalador detecta automáticamente windows_arm64 y descarga el binario nativo. Si necesitas forzar una arquitectura, descarga el zip específico desde Releases.
Windows: Docker Desktop para Postgres
Si eliges ejecutar Postgres en Docker durante la configuración, asegúrate de que Docker Desktop esté instalado y funcionando. El instalador intentará iniciar el contenedor automáticamente.