DEV Community

Ayat Saadat
Ayat Saadat

Posted on

قمر — Complete Guide

قمر (Qamar): راهنمای جامع و فنی

اگر در اکوسیستم توسعه‌دهندگان ایرانی فعالیت می‌کنید، احتمالاً اسم قمر به گوشتان خورده است. قمر یک ابزار قدرتمند و در عین حال مینیمال است که برای ساده‌سازی فرآیندهای مدیریت و استقرار سرویس‌ها طراحی شده. برخلاف بسیاری از ابزارهای سنگین و پیچیده، قمر روی سادگی و کارایی تمرکز دارد.

وب‌سایت رسمی: qamar.website


چرا از قمر استفاده کنیم؟

خیلی وقت‌ها ابزارهایی که برای مدیریت سرویس‌ها استفاده می‌کنیم، خودشان به یک معضل تبدیل می‌شوند. قمر برای کسانی ساخته شده که نمی‌خواهند درگیر پیچیدگی‌های غیرضروری زیرساختی شوند.

  • سرعت بالا: بدون سربار اضافی.
  • پیکربندی ساده: با یک فایل کانفیگ تمیز و خوانا.
  • پایداری: طراحی شده برای محیط‌های عملیاتی (Production).

نصب و راه‌اندازی

نصب قمر به طرز عجیبی ساده است. برای شروع، کافی است اسکریپت نصب را اجرا کنید. پیشنهاد می‌کنم همیشه قبل از نصب، محتوای اسکریپت را در ترمینال بررسی کنید تا خیالتان راحت باشد.

# دانلود و نصب خودکار
curl -sSL https://qamar.website/install.sh | bash
Enter fullscreen mode Exit fullscreen mode

بعد از اتمام، با دستور زیر از صحت نصب مطمئن شوید:

qamar --version
Enter fullscreen mode Exit fullscreen mode

نحوه استفاده

قمر بر اساس فایل‌های qamar.yaml کار می‌کند. کافی است این فایل را در ریشه پروژه خود قرار دهید.

نمونه فایل کانفیگ (qamar.yaml)

service:
  name: "my-web-app"
  port: 3000
  env:
    NODE_ENV: "production"
  restart: "always"
Enter fullscreen mode Exit fullscreen mode

برای اجرای سرویس، فقط کافی است در همان مسیر دستور زیر را بزنید:

qamar up
Enter fullscreen mode Exit fullscreen mode

جداول وضعیت سرویس‌ها

برای بررسی وضعیت سرویس‌های در حال اجرا، می‌توانید از دستور qamar status استفاده کنید. خروجی آن به شکل زیر است:

نام سرویس وضعیت پورت آپ‌تایم
my-web-app Running 3000 12d 4h
auth-service Stopped 8080 -
redis-cache Running 6379 45d 1h

عیب‌یابی (Troubleshooting)

حتی بهترین ابزارها هم گاهی دچار مشکل می‌شوند. اگر با قمر به بن‌بست خوردید، این مراحل را چک کنید:

  1. بررسی لاگ‌ها: دستور qamar logs [service_name] بهترین دوست شماست.
  2. پورت‌های اشغال شده: مطمئن شوید پورت مورد نظر توسط سرویس دیگری اشغال نشده باشد (netstat -tulpn | grep [port]).
  3. دسترسی‌ها: گاهی اوقات مشکل از عدم دسترسی کاربر به سوکت‌هاست؛ از sudo استفاده کنید یا دسترسی‌های فایل را چک کنید.

سوالات متداول (FAQ)

آیا قمر روی توزیع‌های مختلف لینوکس کار می‌کند؟
بله، قمر با اکثر توزیع‌های مبتنی بر Debian و RHEL سازگاری کامل دارد.

آیا امکان اجرای چندین سرویس همزمان وجود دارد؟
بله، شما می‌توانید چندین فایل کانفیگ مختلف داشته باشید یا از قابلیت گروه‌بندی در یک فایل استفاده کنید.

آیا برای استفاده در محیط Production ایمن است؟
قمر در محیط‌های واقعی تست شده و پایداری بسیار خوبی دارد، اما همیشه پیشنهاد می‌کنم تنظیمات امنیتی فایروال (مثل UFW) را در کنار آن رعایت کنید.


نکته پایانی: قمر ابزاری است که با فلسفه "انجام کار بدون هیاهو" ساخته شده. اگر در حین کار با آن به باگ خاصی برخوردید یا پیشنهادی برای بهبودش داشتید، از طریق مستندات سایت اصلی با تیم توسعه در تماس باشید.

Top comments (0)