Установка одной командой для всех платформ. Без sudo — устанавливается в домашнюю директорию.
Для настройки сервера после установки см. Быстрый старт. Для пакетных менеджеров, Docker и других способов см. Установка сервера.
Что делает установщик
- Определяет ОС, архитектуру процессора, варианты платформы (Rosetta 2/WSL) и систему инициализации (systemd/OpenRC/SysV/контейнер)
- Загружает нужный бинарный файл из GitHub Releases (или собирает из исходников с
--build) - Устанавливает в
~/binили%USERPROFILE%\bin(настраивается через--install-dir) - Добавляет директорию установки в
PATH(профили shell для Bash, реестр для Windows) - Windows и Linux: Предлагает интерактивный диалог для настройки TLS, Postgres и создания первого администратора
- Выводит следующие шаги
Требования
| Платформа | Зависимости |
|---|---|
| macOS / Linux | curl + tar |
macOS / Linux (--build) | curl + git + go + bun + make |
| Windows | PowerShell 5.1+ (встроен в Windows 10/11) |
Быстрая установка
curl -fsSL https://bedrud.org/install.sh | bashПерезагрузите оболочку, затем проверьте:
source ~/.bashrc # или ~/.zshrc
bedrud --versionirm https://bedrud.org/install.ps1 | iex
bedrud --versionФлаги и параметры
Установщик Bash
Использование: curl -fsSL https://bedrud.org/install.sh | bash -s -- [параметры]
| Флаг | По умолчанию | Описание |
|---|---|---|
--install-dir <dir> | ~/bin | Куда поместить бинарный файл |
--version <ver> | latest | Зафиксировать версию (напр. v1.2.0) |
--build | выкл. | Собрать из исходников вместо загрузки релиза |
--branch <name> | master | Ветка Git для клонирования (требует --build) |
--no-setup | выкл. | Только загрузить бинарный файл, пропустить интерактивную настройку сервера |
--skip-shell | выкл. | Не изменять RC-файлы оболочки и PATH |
-h, --help | — | Вывести справку и выйти |
Примеры:
# По умолчанию
curl -fsSL https://bedrud.org/install.sh | bash
# Фиксация версии
curl -fsSL https://bedrud.org/install.sh | bash -s -- --version v1.2.0
# Сборка из исходников (пользовательская ветка)
curl -fsSL https://bedrud.org/install.sh | bash -s -- --build --branch my-feature
# Сборка из форка
BEDRUD_REPO=myuser/bedrud curl -fsSL https://bedrud.org/install.sh | bash -s -- --build
# Установка для всей системы
curl -fsSL https://bedrud.org/install.sh | sudo bash -s -- --install-dir /usr/local/bin
# CI / автоматизация — без настройки оболочки и интерактивной настройки
curl -fsSL https://bedrud.org/install.sh | bash -s -- --skip-shell --no-setupУстановщик PowerShell
Использование: irm https://bedrud.org/install.ps1 | iex
Для передачи параметров сохраните файл сначала:
irm https://bedrud.org/install.ps1 -OutFile install.ps1
.\install.ps1 -Version v1.2.0 -InstallDir C:\Tools| Параметр | По умолчанию | Описание |
|---|---|---|
-InstallDir <path> | $HOME\bin | Куда поместить bedrud.exe |
-Version <ver> | latest | Установить конкретную версию |
-SkipPath | $false | Не добавлять директорию установки в PATH пользователя |
-Build | $false | Собрать из исходников вместо загрузки |
-Branch <name> | master | Ветка Git для клонирования (требует -Build) |
-NoSetup | $false | Только загрузить, пропустить интерактивную настройку сервера |
Примеры:
# По умолчанию
irm https://bedrud.org/install.ps1 | iex
# Сборка из исходников
.\install.ps1 -Build -Branch main
# CI / автоматизация — пропустить интерактивную настройку
.\install.ps1 -NoSetup -SkipPathПеременные окружения
| Переменная | По умолчанию | Платформы | Описание |
|---|---|---|---|
BEDRUD_INSTALL | ~/bin | Только Bash | Переопределить директорию установки (аналог --install-dir) |
BEDRUD_REPO | themadorg/bedrud | Обе | Переопределить GitHub-репозиторий (для форков или зеркал) |
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Поддерживаемые платформы
| Целевая платформа | ОС | Архитектура | Примечания |
|---|---|---|---|
darwin_amd64 | macOS | Intel (x86_64) | Стандартная |
darwin_arm64 | macOS | Apple Silicon (M1/M2/M3/M4) | Rosetta 2 определяется автоматически |
linux_amd64 | Linux | x86_64 | Статический бинарный файл — все дистрибутивы |
linux_arm64 | Linux | ARM64 | Статический бинарный файл — все дистрибутивы |
freebsd_amd64 | FreeBSD | x86_64 | Стандартная |
windows_amd64 | Windows | x86_64 | Стандартная |
windows_arm64 | Windows | ARM64 | Стандартная |
Определение особых случаев
Rosetta 2 (macOS Intel на Apple Silicon)
Определение: sysctl -n sysctl.proc_translated возвращает 1.
Действие: Переключает darwin_amd64 → darwin_arm64 для нативной производительности ARM.
Контейнерные среды (Docker, Kubernetes и др.)
Определение: Проверяет /.dockerenv, /run/.containerenv, /proc/1/comm (для docker-init, tini, containerd, runc) и /proc/1/cgroup (для docker, kubepods, containerd).
Действие: Установка сервис-файлов пропускается. Установщик выводит команды для ручного запуска:
# Передний план
/usr/local/bin/bedrud run --config /etc/bedrud/config.yaml
# Фоновый режим
nohup /usr/local/bin/bedrud run --config /etc/bedrud/config.yaml \
> /var/log/bedrud/bedrud.log 2>&1 &Для корректного управления сервисами в Docker используйте --init или tini в качестве PID 1.
Поддержка систем инициализации
Установщик автоматически определяет систему инициализации и создаёт соответствующие сервис-файлы для настройки сервера:
| Система | Определение | Сервис-файлы | Управление |
|---|---|---|---|
| systemd | существует /run/systemd/system | /etc/systemd/system/*.service | systemctl |
| OpenRC | существует /sbin/openrc | /etc/init.d/* (формат OpenRC) | rc-service, rc-update |
| SysV init | доступна команда service | /etc/init.d/* (формат LSB) | service, update-rc.d |
| Контейнер | /.dockerenv, /proc/1/comm, /proc/1/cgroup | Нет — ручной запуск | Прямой запуск бинарного файла или nohup |
Поддерживается: Большинство дистрибутивов Linux (systemd, OpenRC, SysV init), WSL1 и Linux-контейнеры. Контейнерные среды определяются автоматически — установка сервис-файлов пропускается с выводом инструкций для ручного запуска.
Порядок установки
- Проверка Windows — в Bash обнаружен MINGW/MSYS/CYGWIN? Перенаправить в PowerShell.
- Проверка WSL — в PowerShell обнаружен WSL? Перенаправить в Bash.
- Проверка зависимостей — Bash:
curl+tar. PowerShell: (по умолчанию нет). Сборка:git+go+bun+make. - Определение платформы — ОС + архитектура через
uname(Bash) илиRuntimeInformation(PowerShell). - Установка бинарного файла — один из:
- Режим загрузки (по умолчанию): загрузка и распаковка zip/tar.xz.
- Режим сборки (
--build):git clone,bun install,go mod download,make build.
- Проверка — запуск
bedrud --version. - Проверка PATH — уже в PATH? Пропустить. Иначе → изменить RC-файл (Bash) или реестр (PowerShell).
- Интерактивная настройка — опрос по Домену, TLS, Postgres и созданию администратора.
- Готово — вывод сообщения об успехе + URL доступа.
Формат URL загрузки: github.com/{repo}/releases/{ver}/bedrud_{TARGET}.tar.xz
Режим сборки клонирует из: github.com/{repo} и выполняет make build (вывод: server/dist/bedrud).
PATH и конфигурация оболочки
Когда --skip-shell не установлен, установщик добавляет директорию установки в ваш PATH.
| Оболочка | RC-файл |
|---|---|
| fish | ~/.config/fish/config.fish |
| zsh | $ZDOTDIR/.zshrc (по умолчанию ~/.zshrc) |
| bash (macOS) | ~/.bash_profile, затем ~/.bashrc |
| bash (Linux) | ~/.bashrc, затем ~/.bash_profile |
Что добавляется:
# bedrud
export PATH="$HOME/bin:$PATH" # bedrudМаркер комментария # bedrud предотвращает дублирование записей — безопасно запускать повторно.
Windows: Использует [Environment]::SetEnvironmentVariable("PATH", ..., "User") на уровне реестра. RC-файл не требуется.
Перезагрузите оболочку после установки:
source ~/.bashrc # bash
source ~/.zshrc # zsh
source ~/.config/fish/config.fish # fishАвтономная установка / Изолированные сети
Загрузка и перенос
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/
# На целевом сервере:
tar -xf /tmp/bedrud.tar.xz -C /tmp/bedrud-extracted
mv /tmp/bedrud-extracted/bedrud ~/bin/
chmod +x ~/bin/bedrudСобственное зеркало
BEDRUD_REPO=mycompany/bedrud-mirror curl -fsSL https://bedrud.org/install.sh | bashПрямая загрузка бинарного файла
Загрузите из Releases, распакуйте, переместите в директорию в вашем PATH.
Удаление
rm ~/bin/bedrud
# Удалите строку PATH из RC-файла оболочки (найдите "# bedrud"):
# ~/.bashrc, ~/.bash_profile, ~/.zshrc, ~/.config/fish/config.fishДля установки сервера через systemd, OpenRC, SysV init:
sudo bedrud uninstallWindows:
Remove-Item "$env:USERPROFILE\bin\bedrud.exe"
# Удалите из PATH через Свойства системы → Переменные средыУстранение неполадок
command not found: bedrud
source ~/.bashrc # перезагрузить оболочку
echo $PATH | tr ':' '\n' | grep "$HOME/bin" # проверить PATHЕсли отсутствует:
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcFailed to download bedrud
- Проверьте подключение к интернету
- Убедитесь, что целевая платформа есть в Releases
- Попробуйте конкретную версию:
--version v1.0.0 - Для вашей платформы может ещё не быть готового бинарного файла
macOS: выполняется x64 под Rosetta (медленно)
Принудительный запуск в нативном ARM:
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
Если вы работаете в терминале WSL (например, Ubuntu на Windows), установщик PowerShell обнаружит это и попросит запустить Bash-установщик. Это обеспечит корректную установку Bedrud в среде Linux внутри WSL.
Windows: устройства ARM64 (Surface Pro и др.)
Установщик автоматически обнаруживает windows_arm64 и загружает нативный бинарный файл. Если необходимо принудительно выбрать архитектуру, загрузите конкретный zip-архив со страницы Releases.
Windows: Docker Desktop для Postgres
Если вы решили запустить Postgres в Docker во время настройки, убедитесь, что Docker Desktop установлен и запущен. Установщик попытается запустить контейнер автоматически.