پرش به مطلب اصلی

استقرار با یک کلیک

🖼
تصویر: استقرار با یک کلیک از مارکت‌پلیسplaceholder — تصویر را اینجا جایگزین کنید

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


چگونه کار می‌کند

۱. در داشبورد به بخش قالب‌های آماده بروید ۲. قالب مورد نظر را انتخاب کنید (مثلاً WordPress) ۳. فرم را پر کنید: پروژه، نام نمونه، پلن اپ و پلن پایگاه داده ۴. ابرکلیک به‌صورت خودکار:

  • پایگاه داده مورد نیاز را ایجاد می‌کند
  • اطلاعات اتصال را به متغیرهای محیطی اپ تزریق می‌کند
  • اپلیکیشن را بیلد و مستقر می‌کند ۵. اپ شما در کمتر از ۳ دقیقه روی آدرس https://<name>.apps.abrclick.ir در دسترس خواهد بود
اطلاع

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


قالب‌های موجود

نام قالبنام فارسیپایگاه دادهزمان استقرار
WordPressوردپرسMySQL~۳ دقیقه
GhostگوستMySQL~۳ دقیقه
n8nn8nPostgreSQL~۴ دقیقه
GiteaگیتاPostgreSQL~۳ دقیقه
MetabaseمتابیسPostgreSQL~۴ دقیقه
Uptime Kumaآپتایم کومابدون DB~۲ دقیقه
UmamiاومامیPostgreSQL~۳ دقیقه

مراحل استقرار (وضعیت‌ها)

هر استقرار از طریق قالب مراحل زیر را طی می‌کند:

وضعیتتوضیح
pendingدرخواست ثبت شده، در صف انتظار
provisioning_dbپایگاه داده در حال ایجاد است
deploying_appاپلیکیشن در حال بیلد و استقرار است
runningاپ آماده و در دسترس است

API

دریافت لیست قالب‌ها

GET /v1/templates
Authorization: Bearer <token>

نمونه پاسخ:

{
"templates": [
{
"slug": "wordpress",
"name": "WordPress",
"description": "سیستم مدیریت محتوای وردپرس",
"db_required": "mysql",
"estimated_deploy_time_seconds": 180
},
{
"slug": "ghost",
"name": "Ghost",
"description": "پلتفرم وبلاگ‌نویسی حرفه‌ای",
"db_required": "mysql",
"estimated_deploy_time_seconds": 180
},
{
"slug": "n8n",
"name": "n8n",
"description": "ابزار اتوماسیون و ادغام سرویس‌ها",
"db_required": "postgresql",
"estimated_deploy_time_seconds": 240
}
]
}

استقرار یک قالب

POST /v1/templates/:slug/deploy
Authorization: Bearer <token>
Content-Type: application/json

بدنه درخواست:

{
"project_id": "proj_abc123",
"name": "my-wordpress",
"region": "ir-thr-1",
"app_plan": "rain",
"db_plan": "rain"
}
فیلدنوعاجباریتوضیح
project_idstringبلهشناسه پروژه
namestringبلهنام نمونه (slug)
regionstringخیرناحیه استقرار (پیش‌فرض: ir-thr-1)
app_planstringخیرپلن اپ (پیش‌فرض: cloud)
db_planstringخیرپلن پایگاه داده (پیش‌فرض: cloud)

نمونه پاسخ:

{
"deployment_id": "tpl_dep_xyz789",
"status": "pending",
"app_url": "https://my-wordpress.apps.abrclick.ir",
"created_at": "2026-06-29T10:00:00Z"
}

پیگیری وضعیت استقرار

GET /v1/templates/deployments/:id
Authorization: Bearer <token>

نمونه پاسخ (در حال اجرا):

{
"deployment_id": "tpl_dep_xyz789",
"status": "deploying_app",
"app_id": "app_111aaa",
"db_id": "db_222bbb",
"app_url": "https://my-wordpress.apps.abrclick.ir",
"created_at": "2026-06-29T10:00:00Z",
"updated_at": "2026-06-29T10:01:30Z"
}

نمونه پاسخ (آماده):

{
"deployment_id": "tpl_dep_xyz789",
"status": "running",
"app_id": "app_111aaa",
"db_id": "db_222bbb",
"app_url": "https://my-wordpress.apps.abrclick.ir",
"created_at": "2026-06-29T10:00:00Z",
"updated_at": "2026-06-29T10:02:55Z"
}

استقرار از طریق CLI

# مشاهده قالب‌های موجود
abrclick templates list

# استقرار یک قالب
abrclick templates deploy wordpress \
--project my-project \
--name my-wordpress \
--app-plan rain \
--db-plan rain

# پیگیری وضعیت
abrclick templates status tpl_dep_xyz789
نکته

می‌توانید با استفاده از فلگ --watch وضعیت استقرار را به‌صورت زنده دنبال کنید:

abrclick templates deploy ghost --project my-project --name my-blog --watch

استقرار از طریق SDK

import { AbrclickClient } from '@abrclick/sdk';

const client = new AbrclickClient({
token: process.env.ABRCLICK_TOKEN!,
});

// لیست قالب‌ها
const templates = await client.getTemplates();
console.log(templates);

// استقرار قالب
const deployment = await client.deployTemplate('wordpress', {
project_id: 'proj_abc123',
app_name: 'my-wordpress',
app_cpu: '500m',
app_memory: '1Gi',
db_cpu: '500m',
db_memory: '1Gi',
});

console.log(`استقرار شروع شد: ${deployment.deployment_id}`);

// پیگیری وضعیت
const status = await client.getTemplateDeployment(deployment.deployment_id);
console.log(status.status); // 'pending' | 'provisioning_db' | 'deploying_app' | 'running'

مثال کامل: استقرار WordPress

از طریق داشبورد

۱. وارد داشبورد ابرکلیک شوید ۲. پروژه مورد نظر را انتخاب کنید ۳. از منوی کناری روی قالب‌های آماده کلیک کنید ۴. کارت WordPress را انتخاب کنید ۵. فرم را پر کنید:

  • نام نمونه: my-wordpress
  • پلن اپ: Rain (۱,۳۶۴,۰۰۰ تومان/ماه)
  • پلن پایگاه داده: Rain ۶. روی استقرار کلیک کنید

پس از تقریباً ۳ دقیقه، وردپرس شما روی آدرس زیر آماده است: https://my-wordpress.apps.abrclick.ir

از طریق API

# گام ۱: استقرار قالب
curl -X POST https://api.abrclick.ir/v1/templates/wordpress/deploy \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"project_id": "proj_abc123",
"name": "my-wordpress",
"app_plan": "rain",
"db_plan": "rain"
}'

# گام ۲: پیگیری وضعیت
curl https://api.abrclick.ir/v1/templates/deployments/tpl_dep_xyz789 \
-H "Authorization: Bearer <token>"

متغیرهای محیطی تزریق‌شده

ابرکلیک به‌صورت خودکار اطلاعات اتصال پایگاه داده را به اپ تزریق می‌کند. برای مثال در قالب WordPress:

متغیرتوضیح
DATABASE_URLرشته اتصال کامل پایگاه داده
DATABASE_HOSTآدرس هاست پایگاه داده
DATABASE_PORTپورت پایگاه داده
DATABASE_NAMEنام پایگاه داده
DATABASE_USERنام کاربری
DATABASE_PASSWORDرمز عبور
هشدار

اطلاعات اتصال پایگاه داده به‌صورت رمزنگاری‌شده ذخیره می‌شوند و هرگز در لاگ‌ها نمایش داده نمی‌شوند. مستقیماً مقادیر این متغیرها را تغییر ندهید؛ در غیر این صورت ارتباط اپ با پایگاه داده قطع خواهد شد.


محدودیت‌ها

  • هر قالب در هر پروژه می‌تواند چندین بار مستقر شود، اما نام هر نمونه باید یکتا باشد
  • پس از استقرار موفق، اپ و پایگاه داده به‌صورت مستقل قابل مدیریت هستند
  • استقرار قالب از پلن cloud (رایگان) پشتیبانی می‌کند، اما منابع محدود هستند
  • امکان تغییر پلن اپ یا پایگاه داده پس از استقرار از طریق داشبورد وجود دارد