رفتن به محتوا

نسخهٔ قابل‌حمل

راه‌اندازی

HolyArrs را مثل یک برنامهٔ معمولی روی Linux یا Windows، بدون Docker اجرا کنید. Docker همچنان راه اصلی اجراست.

  • Python 3، Git و Docker روی رایانهٔ ساخت.
  • یک کش ماژول Go پرشده از یک ساخت عادی پروژه، و وابستگی‌های فرانت‌اند نصب‌شده از app/frontend/package-lock.json.
  • برنامهٔ وب ساخته‌شده commit شده باشد. ساخت فقط از سورس commit‌شده استفاده می‌کند؛ ویرایش‌های commit‌نشده کنار گذاشته می‌شوند.

بسازید و اجرا کنید

پیوند به بسازید و اجرا کنید
  1. از داخل checkout، آرشیوها را بسازید:

    Terminal window
    python deploy/release/package.py --ref HEAD --version 1.0.0 --output /srv/holyarrs-archives/1.0.0 --web-node-modules app/frontend/node_modules --module-cache /home/you/go/pkg/mod

    از یک پوشهٔ خروجی جدید بیرون از checkout استفاده کنید. باید برای هر هدف یک آرشیو و یک فایل SHA256SUMS ببینید.

  2. آرشیو را با SHA256SUMS بررسی کنید.

  3. آن را در یک پوشهٔ جدید استخراج کنید. برنامه و پیکربندی را در پوشه‌های جدا نگه دارید.

  4. با مسیر پیکربندی خودتان شروعش کنید:

    Terminal window
    ./holyarrs -config /srv/holyarrs/config -addr :6262

    در Windows PowerShell:

    Terminal window
    .\holyarrs.exe -config 'C:\HolyArrs\config' -addr ':6262'
  5. http://your-server:6262 را باز کنید. باید ویزارد اولین اجرا را ببینید. همان لحظه حساب مالک را بسازید؛ اولین بازدیدکننده مالک می‌شود.

چه کاربری اجرایش می‌کند

پیوند به چه کاربری اجرایش می‌کند

HolyArrs را زیر حساب خودش اجرا کنید، با دسترسی نوشتن فقط به پیکربندی و رسانهٔ شما.

  • به‌عنوان root بیرون از کانتینر، بدون PUID و PGID، با «started as root outside a container» متوقف می‌شود.
  • با تنظیم PUID و PGID، پوشهٔ پیکربندی را به آن کاربر می‌سپارد و با آن کاربر ادامه می‌دهد.
  • در Windows، پوشهٔ پیکربندی را با یک دسترسی NTFS برای آن حساب محافظت کنید.

راه‌اندازی مجدد و محدودیت‌ها

پیوند به راه‌اندازی مجدد و محدودیت‌ها

آرشیو هیچ سرویسی نصب نمی‌کند. راه‌اندازی مجدد خودکار و محدودیت‌های سخت حافظهٔ RAM را در مدیر سرویس خودتان (systemd، NSSM، Task Scheduler) تنظیم کنید. راه‌اندازی مجدد از داخل برنامه و بازیابی بکاپ هر دو خارج می‌شوند و انتظار دارند دوباره شروع شوند.

به‌روزرسانی و بازگشت

پیوند به به‌روزرسانی و بازگشت
  1. آرشیو جدید را پیش از متوقف کردن برنامه بررسی کنید.
  2. HolyArrs را متوقف کنید و کل پوشهٔ پیکربندی را کپی کنید، با کلید اصلی. یا یک بکاپ داخل برنامه بگیرید و کلیدش را جدا نگه دارید.
  3. برنامهٔ جدید را در یک پوشهٔ دیگر استخراج کنید. برنامهٔ قدیمی و کپی پیکربندی قدیمی را نگه دارید.
  4. برنامهٔ جدید را روی پیکربندی‌تان شروع کنید. باید بتوانید وارد شوید و /health باید running نشان دهد.

بکاپ‌ها را ببینید.

نشانه علت راه‌حل
«started as root outside a container» به‌عنوان root شروع شد آن را با کاربر خودش اجرا کنید، یا PUID و PGID را تنظیم کنید.
برنامه پس از بازیابی خارج می‌شود بازیابی داده را آماده می‌کند و با کد 75 خارج می‌شود دوباره شروعش کنید تا اعمال شود. مدیر سرویس را طوری تنظیم کنید که دوباره راهش بیندازد.
تماس‌های HTTPS در Linux شکست می‌خورند گواهی‌های CA سیستم نیست آن‌ها را نصب کنید.
ساخت می‌گوید خروجی وجود دارد پوشه‌های خروجی موجود رد می‌شوند یک پوشهٔ جدید انتخاب کنید.
گزینه‌های ساخت
گزینه چه کار می‌کند پیش‌فرض
--targets زیرمجموعه‌ای از هدف‌ها برای ساخت، با کاما جدا شده linux-amd64,linux-arm64,linux-armv7,windows-amd64
--low-resource هر کانتینر سازنده 1 CPU، 2 GiB و 256 پردازه می‌گیرد؛ Go هر بار یک بسته می‌سازد. بسته‌بندی هنوز روی میزبان و بیرون از این محدودیت‌ها اجرا می‌شود. خاموش

ساخت در ایمیج سازندهٔ Go با نسخهٔ ثابت پروژه، با شبکهٔ خاموش اجرا می‌شود، پس چیزی دانلود نمی‌کند. کش ماژول فقط‌خواندنی سوار می‌شود. اگر هر هدفی شکست بخورد، هیچ پوشهٔ خروجی‌ای باقی نمی‌ماند. commit به شمارهٔ نسخه اضافه می‌شود و داخل برنامه ساخته می‌شود؛ برنامه و بکاپ‌هایش آن را گزارش می‌دهند.

داخل یک آرشیو چیست

برنامه، مجوز، اعلان‌های شخص ثالث، راهنماها، یک مانیفست سورس و هویت بسته. یک آرشیو سورس جدا سورس پروژه و وابستگی‌های Go را دارد؛ آن را کنار باینری‌ها نگه دارید.

SHA256SUMS ثابت می‌کند فایل‌ها مطابق‌اند. امضا نیست. همان commit، نسخه و ورودی‌ها همان آرشیوها را می‌دهند، پس برای بررسی می‌توانید دوباره بسازید.

نکته‌های زمان اجرا
موضوع جزئیات
مسیر پیکربندی پیش‌فرض /config. همیشه -config را بدهید، روی دیسک محلی.
هدف حافظهٔ RAM بدون GOMEMLIMIT برابر 384 MiB. آن را روی حدود 80 درصد حافظه‌ای که می‌دهید بگذارید. یک هدف است، نه محدودیت سخت.
حالت کم‌حافظه در Linux، در حدود 2.5 GiB یا کمتر خودش روشن می‌شود؛ هدف به یک‌چهارم حافظه، بین 192 و 384 MiB، پایین می‌آید. HOLYARRS_LOW_MEMORY=1 یا 0 تصمیم می‌گیرد.
Node برای اجرا لازم نیست.
Hardlink (پیوند سخت) دانلودها و پوشه‌های کتابخانه را روی یک سیستم فایل نگه دارید.

HolyArrs رایگان است. اگر در وقتتان صرفه‌جویی کرد، در GitHub به آن ستاره بدهید، حمایت مالی کنید یا برای من یک قهوه بخرید.