Docs

خودمیزبانی

به بیان ساده، استفاده از روش خودمیزبانی (Self-hosting) گزینه‌ای ایده‌آل و توصیه‌شده است؛ چرا که در این روش، توکن اختصاصی، پایگاه داده و کلیدهای امنیتی به‌طور کامل در اختیار و کنترل شما باقی می‌مانند. برای راه‌اندازی، شما می‌توانید یکی از دو مسیر موجود را انتخاب کنید: ساخت و کامپایل فایل اجرایی (Binary) یا دانلود نسخه‌های آماده و ارائه‌شده (Release).

پیش‌نیازها

پس از در اختیار داشتن فایل اجرایی portal، در هر دو روش به موارد زیر نیاز خواهید داشت:

  • در دسترس بودن deltachat-rpc-server در متغیر محیطی PATH سیستم (نسخهٔ آن باید با کلاینت RPC پروژه همخوانی داشته باشد؛ این مخزن از APIهای نسخهٔ v2.56.x استفاده می‌کند).
  • دریافت توکن ربات از «BotFather» و تعریف آن در فایل .env.
  • یک ارائه‌دهندهٔ خدمات چت‌میل یا دلتاچت (Delta Chat) جهت اجرای دستورهای make init یا portal init.

در ادامه، کافی است فایل config.example.yml را به config.yml و فایل .env.example را به .env کپی کنید. مسیر پیش‌فرض ذخیره‌سازی داده‌ها ./data است. توجه داشته باشید که هرگز نباید فایل‌های .env، config.yml یا پوشهٔ data/ را در سیستم کنترل نسخه (گیت) کامیت کنید.

روش اول — ساخت و کامپایل فایل اجرایی

در صورتی که ابزار زبان برنامه‌نویسی Go (نسخهٔ 1.22 به بالا) را روی سیستم خود نصب دارید و تمایل دارید برنامه را مستقیماً از سورس‌کد گیت کامپایل کنید، از این روش استفاده کنید. نقطهٔ ورود رسمی و پشتیبانی‌شده برای این کار، دستورهای «Makefile» است.

git clone https://github.com/omidz4t/portal.git
cd portal
make config
# edit .env: TELEGRAM_BOT_TOKEN=…
# optional persona: PERSONA_ACCOUNT_QR=dcaccount:…
# edit config.yml: mode: personal | persona | both

make build
./portal --version

# first account, then run
make init QR=dcaccount:nine.testrun.org
make serve
# same as: ./portal --config config.yml serve

همچنین برای ساخت یک فایل اجرایی ایستای جامع (حاوی برچسب نسخه و بدون نمادهای اضافی دیباگ) که در مسیر dist/portal قرار می‌گیرد، می‌توانید دستورهای زیر را به کار ببرید:

make build-release
./dist/portal --version
./dist/portal --config config.yml serve

روش دوم — دانلود نسخهٔ آماده (Release)

چنانچه تمایلی به نصب ابزارهای توسعه و کامپایلر Go ندارید، این روش برای شما مناسب‌تر است. با ثبت هر برچسب (Tag) جدید با الگوی v*، فرایند «GitHub Actions» بسته‌های آرشیو را به‌صورت portal_<tag>_<os>_<arch>.tar.gz (و برای سیستم‌عامل ویندوز با فرمت .zip) به همراه فایل بررسی صحت checksums.txt منتشر می‌کند.

۱. ابتدا صفحهٔ آخرین نسخهٔ انتشاریافته یا فهرست نسخه‌های انتشاریافته را باز کنید.
۲. بستهٔ مناسب با سیستم‌عامل و معماری پردازندهٔ خود را دانلود کنید (برای نمونه: linux_amd64، linux_arm64، darwin_arm64 یا windows_amd64).
۳. مقدار هش SHA-256 را با اطلاعات درج‌شده در checksums.txt تطبیق داده و اعتبارسنجی کنید.
۴. فایل را از حالت فشرده خارج کرده، مجوز اجرای فایل را فعال کنید و آن را در کنار فایل‌های config.yml و .env قرار دهید.

سیستم‌عامل و معماری

curl -fsSL -o portal.tgz "https://github.com/omidz4t/portal/releases/download/v0.4.1/portal_0.4.1_linux_amd64.tar.gz"
tar -xzf portal.tgz
mv portal_0.4.1_linux_amd64 portal
chmod +x portal
./portal --version
./portal --config config.yml init dcaccount:nine.testrun.org
./portal --config config.yml serve

سیستم‌عامل را از گزینه‌های بالا انتخاب کنید. نام پرونده با بستهٔ منتشرشده در گیت‌هاب یکی است. همچنان باید deltachat-rpc-server در PATH باشد؛ این بسته فقط برنامهٔ ربات پورتال است.

ویرایش وب‌سایت پروژه (نه اجرای ربات)

آنچه تا اینجا توضیح داده شد، شیوهٔ راه‌اندازی و اجرای ربات پورتال بود. چنانچه قصد دارید صرفاً صفحات این وب‌سایت آموزشی را ویرایش و مشاهده کنید (و نه اجرای خود ربات)، دستور make run-landing را اجرا کرده و آدرس http://127.0.0.1:5173 را در مرورگر باز کنید.

مطالعهٔ بیشتر در این زمینه: راهنمای نصب · پیکربندی · امنیت · اعتماد و اعتبارسنجی.