نصب با یک دستور برای همه پلتفرمها. بدون نیاز به sudo — در دایرکتوری خانه شما نصب میشود.
برای تنظیم سرور پس از نصب، به شروع سریع ببینید. برای مدیران بسته، Docker و سایر روشها، به نصب سرور مراجعه کنید.
چه کاری انجام میدهد
۱. سیستمعامل، معماری پردازنده، گونههای پلتفرم (Rosetta 2/WSL) و سیستم init (systemd/OpenRC/SysV/کانتینر) را تشخیص میدهد
۲. باینری صحیح را از انتشارات GitHub دانلود میکند (یا با --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 | bashshell را دوباره بارگذاری کنید، سپس تأیید کنید:
source ~/.bashrc # یا ~/.zshrc
bedrud --versionirm https://bedrud.org/install.ps1 | iex
bedrud --versionپرچمها و گزینهها
نصبکننده Bash
Usage: curl -fsSL https://bedrud.org/install.sh | bash -s -- [options]
| پرچم | پیشفرض | توضیحات |
|---|---|---|
--install-dir <dir> | ~/bin | محل قرارگیری باینری |
--version <ver> | latest | ثابت نگه داشتن در یک نسخه (مثلاً v1.2.0) |
--build | خاموش | ساخت از کد منبع به جای دانلود انتشار |
--branch <name> | master | شاخه Git برای کلون (نیاز به --build) |
--no-setup | خاموش | فقط دانلود باینری، رد کردن نصب تعاملی سرور |
--skip-shell | خاموش | تغییر فایلهای RC shell یا 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
# ساخت از یک fork
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 / اتوماسیون — رد کردن تنظیمات shell و نصب تعاملی
curl -fsSL https://bedrud.org/install.sh | bash -s -- --skip-shell --no-setupنصبکننده PowerShell
Usage: 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 (برای forks یا mirrorها) |
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 مقدار ۱ برمیگرداند.
اثر: 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 استفاده کنید.
پشتیبانی از سیستم init
نصبکننده سیستم init را خودکار تشخیص میدهد و فایلهای سرویس مناسب برای راهاندازی سرور ایجاد میکند:
| سیستم init | تشخیص | فایلهای سرویس | مدیریت |
|---|---|---|---|
| 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 — MINGW/MSYS/CYGWIN در Bash تشخیص داده شد؟ هدایت به PowerShell.
۲. بررسی WSL — WSL در PowerShell تشخیص داده شد؟ هدایت به 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 و Shell
وقتی --skip-shell تنظیم نشده باشد، نصبکننده دایرکتوری نصب را به PATH شما اضافه میکند.
| Shell | فایل 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 لازم نیست.
بارگذاری مجدد shell پس از نصب:
source ~/.bashrc # bash
source ~/.zshrc # zsh
source ~/.config/fish/config.fish # fishنصب آفلاین / Air-Gapped
دانلود و انتقال
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/bedrudMirror خودمیزبانی شده
BEDRUD_REPO=mycompany/bedrud-mirror curl -fsSL https://bedrud.org/install.sh | bashباینری مستقیم
از انتشارات دانلود کنید، استخراج کنید، به یک دایرکتوری در 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 از طریق System Properties → Environment Variablesعیبیابی
command not found: bedrud
source ~/.bashrc # بارگذاری مجدد shell
echo $PATH | tr ':' '\n' | grep "$HOME/bin" # بررسی PATHاگر وجود ندارد:
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcFailed to download bedrud
۱. اتصال اینترنت را بررسی کنید
۲. تأیید کنید که هدف در انتشارات وجود دارد
۳. یک نسخه خاص را امتحان کنید: --version v1.0.0
۴. ممکن است پلتفرم شما باینری از پیش ساخته شده نداشته باشد
macOS: اجرای x64 تحت Rosetta (کند)
اجبار به ARM بومی:
arch -arm64 curl -fsSL https://bedrud.org/install.sh | arch -arm64 bashویندوز: “running scripts is disabled”
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
irm https://bedrud.org/install.ps1 | iexویندوز: شناسایی WSL
اگر در محیط WSL (مثلاً اوبونتو روی ویندوز) هستید، نصبکننده PowerShell این را تشخیص داده و از شما میخواهد نصبکننده Bash را اجرا کنید. این کار تضمین میکند که بدرود به درستی برای محیط لینوکس داخل WSL نصب شود.
ویندوز: دستگاههای ARM64 (Surface Pro و غیره)
نصبکننده به طور خودکار windows_arm64 را شناسایی کرده و فایل باینری نیتیو را دانلود میکند. اگر نیاز دارید معماری خاصی را اجبار کنید، فایل zip مربوطه را از نسخهها دانلود کنید.
ویندوز: Docker Desktop برای Postgres
اگر در طول تنظیمات انتخاب کردید که Postgres در داکر اجرا شود، مطمئن شوید که Docker Desktop نصب و در حال اجرا است. نصبکننده سعی میکند کانتینر را به طور خودکار راهاندازی کند.