Skip to content

FA Getting Started

Arian Omrani edited this page Oct 11, 2026 · 6 revisions

شروع سریع

زبان: English · فارسی

نصب

بسته‌ی PyPI اسمش pulsecheckcli است، اما دستوری که نصب می‌کند pulsecheck نام دارد. اسم کوتاه‌تر pck هم همان کار را می‌کند.

uv tool install pulsecheckcli     # یا: pipx install pulsecheckcli
pulsecheck init                   # تنظیمات، .env، shoutrrr و cron job
pulsecheck env                    # توکن‌ها را در فایل .env بنویسید
pulsecheck validate && pulsecheck test-notify

کار هر دستور در دستورها و همه‌ی کلیدهای تنظیم در مرجع YAML آمده است.

نصب با یک خط (لینوکس)

curl -fsSL https://raw.githubusercontent.com/arian24b/pulsecheck/main/install.sh | bash

اگر uv نصب نباشد آن را نصب می‌کند، بعد uv tool install --upgrade pulsecheckcli را اجرا می‌کند و در آخر pulsecheck init را. اگر به PyPI دسترسی نباشد، به‌جای آن از مخزن گیت‌هاب نصب می‌کند. init اگر ترمینال در دسترس باشد پیش از دانلود shoutrrr و افزودن cron job می‌پرسد، وگرنه با --yes کار می‌کند. هر آرگومان اضافه به init می‌رسد: ... | bash -s -- --no-cron. اگر چیز دیگری می‌خواهید نصب شود، PULSECHECK_SOURCE را بگذارید، مثلاً PULSECHECK_SOURCE=git+https://github.com/arian24b/pulsecheck@main. برای ارتقا دوباره همین خط را اجرا کنید یا از pulsecheck update استفاده کنید.

نصب دستی

پیش‌نیازها

  • uv که پایتون مناسب را هم خودش نصب می‌کند (پایتون ۳٫۱۲ تا ۳٫۱۵ پشتیبانی می‌شود و ۳٫۱۵ ترجیح دارد)
  • Docker، یا فایل اجرایی shoutrrr در PATH (بخش اعلان‌ها)
  • دستور ping، فقط برای type: ping (در لینوکس بسته‌ی iputils-ping)

گرفتن کد

git clone https://github.com/arian24b/pulsecheck && cd pulsecheck
# (برای اجرا روی GitHub Actions با کمترین فایل، از قالب استفاده کنید: https://github.com/arian24b/pulsecheck-template)
uv sync
cp pulsecheck.example.yml pulsecheck.yml

بررسی تنظیمات و هشدار

export TG_TOKEN=... TG_CHAT=@mychannel API_TOKEN=...   # هر ${متغیری} که در فایل استفاده کرده‌اید
uv run pulsecheck validate        # فایل را می‌خواند و خطاها را نشان می‌دهد
uv run pulsecheck test-notify     # به همه‌ی کانال‌های هشدار پیام آزمایشی می‌فرستد

اجرا

uv run pulsecheck run             # سایت‌هایی که زمان بررسی‌شان رسیده را چک می‌کند
uv run pulsecheck run --force     # interval را نادیده می‌گیرد
uv run pulsecheck run --fail-on-down   # اگر سایتی down باشد با کد ۱ تمام می‌شود (در CI قرمز می‌شود)
uv run pulsecheck status          # وضعیت فعلی همه‌ی سایت‌ها (--json و --md)
uv run pulsecheck run --tag prod  # فقط سایت‌های دارای برچسب prod (برای status و report هم کار می‌کند)
uv run pulsecheck report          # درصد آپتایم و زمان پاسخ
uv run pulsecheck report --json
uv run pulsecheck -c other.yml run     # فایل تنظیم دیگر (گزینه‌ی -c باید قبل از دستور بیاید)

خروجی برای هر سایت یک خط است، مثلاً web: up 131ms.

مرحله‌ی بعد: زمان‌بندی.

Clone this wiki locally