معرفی Uptime Kuma
Uptime Kuma یک ابزار پایش خودمیزبان است که Louis Lam و جامعه کاربرانش با مجوز MIT توسعه دادهاند. این ابزار در فاصلههای زمانی منظم وبسایتها، APIها، پورتهای TCP، هاستها (پینگ)، رکوردهای DNS یا کانتینرهای Docker شما را بررسی میکند و هر زمان چیزی پاسخ نداد، از طریق Telegram، Discord، Slack، ایمیل یا وبهوک به شما خبر میدهد. رابط کاربری آن روشن است و بدون مراجعه به مستندات هم بهراحتی کار با آن را یاد میگیرید.
این ابزار برای توسعهدهندگان، آژانسها و تیمهای کوچکی است که میخواهند پیش از مشتریان خود بفهمند یک سرویس از کار افتاده است، بدون اینکه برای هر مانیتور اشتراک SaaS بپردازند. میزبانی ابزار روی VPS خودتان، کنترل دادههای پایش را هم در اختیار شما میگذارد.
هنگام تحویل، روی سرور Docker، Uptime Kuma (ایمیج louislam/uptime-kuma:2) و یک ریورس پراکسی Caddy نصب شده است. برنامه فقط روی 127.0.0.1:3001 گوش میدهد و Caddy آن را با HTTPS روی پورت 443 آیپی عمومی سرور و با یک گواهی خودامضا منتشر میکند. فقط کافی است آدرس را باز کنید و حساب مدیر را بسازید.
با Uptime Kuma چه کارهایی میتوانید انجام دهید
انواع مختلف مانیتور
HTTP(S)، کلمه کلیدی در یک صفحه، TCP، پینگ، DNS، کانتینر Docker و موارد دیگر. فاصله بررسی و تعداد شکستها پیش از ارسال هشدار را خودتان تعیین میکنید.
هشدار در کانالهای همیشگی شما
Telegram، Discord، Slack، ایمیل SMTP، وبهوک و بسیاری از سرویسهای اعلان دیگر از داخل رابط کاربری در دسترساند، بدون نیاز به نصب افزونه.
صفحههای وضعیت عمومی
میتوانید صفحه وضعیت سرویسهای خود را برای مشتریان یا تیمتان منتشر کنید، و در صورت تمایل با دامنه اختصاصی خودتان.
پیگیری گواهیهای TLS
Uptime Kuma تاریخ انقضای گواهیهای وبسایتهای HTTPS پایششده را میخواند و میتواند پیش از انقضا به شما هشدار دهد.
Docker و Caddy از پیش نصبشده
دو کانتینر با راهاندازی مجدد خودکار (
restart: always) که در یک فایلdocker-compose.ymlتعریف شدهاند و میتوانید آن را ویرایش و نسخهبندی کنید.دادهها در یک ولوم اختصاصی
پیکربندی و تاریخچه مانیتورها در ولوم Docker با نام
kuma_dataذخیره میشود و این کار بکاپگیری و بهروزرسانی را سادهتر میکند.
شروع کار با Uptime Kuma
از سفارش تا راهاندازی نهایی، در چند دقیقه.
- 1
سفارش VPS همراه با Uptime Kuma
در فرم سفارش، یک VPS لینوکسی (پاریس یا فرانکفورت) با Debian 12، Debian 13 یا Ubuntu 20.04، 22.04، 24.04 انتخاب کنید. در تب «Applications» گزینه Uptime Kuma را تیک بزنید.
- 2
منتظر تحویل بمانید و رابط کاربری را باز کنید
پس از تحویل سرور، نصب چند دقیقه در پسزمینه اجرا میشود (دانلود Docker و ایمیجها). سپس آدرس زیر را باز کنید. مرورگر هشدار نشان میدهد چون گواهی خودامضاست: برای ادامه، استثنا را بپذیرید.
Bashhttps://SERVER_IP:443 # Vérifier l'état des conteneurs en SSH : ssh root@SERVER_IP cd /opt/uptime-kuma && docker compose ps - 3
ساخت حساب مدیر و نخستین مانیتور
در نخستین ورود، Uptime Kuma از شما میخواهد کاربر مدیر را بسازید. سپس یک مانیتور اضافه کنید (مثلاً HTTP(S) روی وبسایتتان) و یک کانال اعلان تنظیم کنید تا هشدارها را دریافت کنید.
- 4
امنسازی برای محیط تولید
یک رکورد DNS از نوع A برای YOUR_DOMAIN به SERVER_IP بسازید، سپس آدرس داخل Caddyfile را با دامنه خود جایگزین کنید: Caddy یک گواهی معتبر دریافت خواهد کرد. پورتهای 80 و 443 باید باز بمانند و در صورت امکان پورت 22 به آیپیهای خودتان محدود شود.
Bashcd /opt/uptime-kuma nano Caddyfile # YOUR_DOMAIN { # reverse_proxy 127.0.0.1:3001 # } docker compose restart caddy
کاربردهای Uptime Kuma
پایش وبسایتها و APIها
یک مانیتور HTTP برای هر وبسایت یا هر اندپوینت حیاتی، با هشدار Telegram یا ایمیل بهمحض اینکه کد پاسخ از محدوده مورد انتظار خارج شود.
صفحه وضعیت برای مشتریان
یک آژانس یا ناشر SaaS وضعیت سرویسهای خود را در یک صفحه اختصاصی منتشر میکند و دیگر لازم نیست به هر پرسش با یک پیام پاسخ دهد.
کنترل سرورها و پورتهای داخلی
پینگ روی ماشینهای شما، TCP روی یک پایگاه داده یا سرویس SSH، بررسی یک کانتینر Docker: یک نمای واحد از زیرساخت.
پیشگیری از انقضای گواهیها
تاریخ انقضای گواهیهای دامنههای خود را دنبال میکنید و پیش از اینکه یک تمدید ناموفق سایتی را از دسترس خارج کند، هشدار میگیرید.
پرسشهای متداول درباره Uptime Kuma
این پیکربندی Caddy را با tls internal تنظیم میکند که برای آیپی سرور یک گواهی خودامضا تولید میکند. رمزگذاری فعال است، اما مرورگر نمیتواند صادرکننده را تأیید کند. یک دامنه را به سرور وصل کنید و Caddyfile را ویرایش کنید تا گواهی معتبر بگیرید.
درباره Uptime Kuma بیشتر بدانید
محل فایلها
همهچیز در /opt/uptime-kuma است: اسکریپت نصب install-uptime-kuma.sh، فایل docker-compose.yml و Caddyfile. Caddy با network_mode: host اجرا میشود و Caddyfile را بهصورت فقطخواندنی میخواند.
پس از ویرایش Caddyfile، اسکریپت نصب را دوباره اجرا نکنید: این اسکریپت فایل را با آیپی عمومی بازنویسی میکند و پیکربندی دامنهتان از بین میرود. برای اعمال تغییر از docker compose restart caddy استفاده کنید.
تغییر از آیپی به دامنه
بهطور پیشفرض Caddyfile شامل https://IP_PUBLIQUE:443 همراه با tls internal است و به همین دلیل گواهی خودامضا دارید. وقتی این خط را با نام یک دامنه جایگزین کنید و tls internal را حذف کنید، Caddy خودش یک گواهی عمومی درخواست و تمدید میکند. DNS باید از قبل به سرور اشاره کند، وگرنه درخواست با شکست روبهرو میشود.
بکاپها
دادههای Uptime Kuma در ولوم Docker با نام kuma_data قرار دارند. مطمئنترین روش این است که کانتینر را برای مدت کپی متوقف کنید و سپس از آن آرشیو بگیرید.
Bashcd /opt/uptime-kuma docker compose stop uptime-kuma docker volume ls | grep kuma_data docker run --rm -v uptime-kuma_kuma_data:/data -v $(pwd):/backup alpine \ tar czf /backup/kuma-backup.tar.gz -C /data . docker compose start uptime-kuma
نام دقیق ولوم به پوشه پروژه بستگی دارد؛ آن را با دستور docker volume ls بررسی کنید. سپس آرشیو را به خارج از سرور کپی کنید. یک اسنپشات از VPS هم مکمل مفیدی است.
بهروزرسانیها
ایمیج از تگ 2 استفاده میکند که نسخههای 2.x را دنبال میکند. برای دریافت آخرین نسخه، ابتدا بکاپ بگیرید و سپس:
Bashcd /opt/uptime-kuma docker compose pull docker compose up -d
پایش را کجا قرار دهیم
مانیتوری که روی همان سروری میزبانی شده که پایش میکند، اگر کل آن سرور از کار بیفتد به شما خبر نمیدهد. برای سرویسهای مهم، Uptime Kuma را روی یک VPS جداگانه نصب کنید، مثلاً در لوکیشن دیگر (پاریس یا فرانکفورت). برای مطالعه بیشتر، آموزشهای ما را ببینید.

