سرویس فعال — نصب یک‌کلیک

Strapi؛ CMS بدون سر برای API سایت و اپ شما

Strapi با Node.js در مرحلهٔ سفارش روی سرور ابری تهران نصب می‌شود و به‌صورت سرویس دائمی اجرا می‌ماند؛ فقط حساب مدیر اول را در مرورگر می‌سازید و REST API محتوا آماده است.

حساب دارید؟ وارد شوید

از ۱٬۱۰۰ تومان در ساعت،  حدود ۸۰۳٬۰۰۰ تومان در ماه

لوگوی Strapi

Strapi

اپلیکیشن روی سرور ابری

شروع قیمت،پلن mini

۱٬۱۰۰تومان / ساعت

حدود ۸۰۳٬۰۰۰ تومان در ماه،بر پایهٔ ۷۳۰ ساعت

  • حداقل ۱ گیگابایت RAM،  پیشنهاد ما: standard با ۲ گیگابایت
  • مدیر اول را خودتان می‌سازید،  بلافاصله پس از نصب
  • پورت ۱۳۳۷،  پنل مدیریت و API
  • SQLite،  بدون دیتابیس جداگانه
  • پورت ۱۰ گیگابیت اختصاصی برای هر سرور
  • دیسک NVMe SSD روی همهٔ سرورها
  • آماده زیر ۶۰ ثانیه راه‌اندازی خودکار سرور
  • دیتاسنتر تهران میزبانی داخل ایران
  • صورت‌حساب ساعتی پرداخت به تومان

معرفی

Headless CMS با Strapi روی سرور ابری ایران‌کلاد

Strapi را در مرحلهٔ ساخت سرور از فهرست اپلیکیشن‌ها انتخاب می‌کنید و چند دقیقه بعد یک بک‌اند محتوا با پنل مدیریت و REST API دارید که روی سرور خودتان در تهران اجرا می‌شود.

دسترسی root کامل در اختیار شماست؛ پس افزونه، دیتابیس دیگر یا فرانت‌اند Next.js را کنار Strapi نصب می‌کنید. هزینه فقط اجارهٔ ساعتی سرور است و نصب رایگان انجام می‌شود.

مهم: اسکریپت نصب حساب مدیر نمی‌سازد و اولین کسی که آدرس پنل مدیریت را باز کند، مدیر اول را می‌سازد. پس بلافاصله پس از آماده شدن سرور آدرس را از تب «اپلیکیشن» باز کنید و حساب مدیر را بسازید، یا پیش از آن پورت ۱۳۳۷ را در تب فایروال سرور فقط برای IP خودتان باز بگذارید.

امکانات کلیدی

آنچه بعد از نصب در اختیار دارید

  • سرویس دائمی Node.js

    Strapi در حالت production به‌صورت سرویس systemd اجرا و پس از خطا خودکار راه‌اندازی می‌شود.

  • SQLite بدون تنظیم

    دیتابیس داخل پوشهٔ پروژه؛ هر وقت لازم شد به PostgreSQL مهاجرت کنید.

  • فایروال آماده

    فقط پورت ۱۳۳۷ برای پنل و API باز می‌شود؛ پورت‌های دیگر را آگاهانه اضافه می‌کنید.

۴ گام تا شروع

روش نصب گام‌به‌گام

  1. گام ۱: انتخاب پلن

    Strapi روی همهٔ پلن‌ها از mini به بالا قابل انتخاب است. برای کار واقعی و ساخت دوبارهٔ پنل مدیریت پس از تغییرات، standard با دو گیگابایت حافظه را پیشنهاد می‌کنیم.

  2. گام ۲: انتخاب Strapi در تب اپلیکیشن‌ها

    در گام دوم سفارش، تب اپلیکیشن‌ها را باز کنید و Strapi را برگزینید؛ Ubuntu 24.04 خودکار انتخاب می‌شود. روش ورود SSH را تعیین و سفارش را ثبت کنید.

  3. گام ۳: ساخت مدیر اول

    پس از پایان نصب، در تب «اپلیکیشن» صفحهٔ سرور آدرس پنل مدیریت روی پورت ۱۳۳۷ را می‌بینید. آن را باز کنید و نام، ایمیل و رمز اولین مدیر را وارد کنید.

  4. گام ۴: تعریف محتوا و دسترسی API

    مدل‌های محتوا را در حالت توسعه بسازید، سپس در تنظیمات Users and Permissions برای نقش Public یا با API Token اجازهٔ خواندن بدهید تا فرانت‌اند از مسیر api داده بگیرد.

قیمت و سفارش

هزینهٔ اجرای Strapi

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

Strapi

از ۱٬۱۰۰ تومان / ساعت

حدود ۸۰۳٬۰۰۰ تومان در ماه (۷۳۰ ساعت کارکرد)

ساعتی

آنچه دریافت می‌کنید

  • دیسک NVMe SSD و پورت اختصاصی ۱۰ گیگابیت برای هر سرور
  • سرور در کمتر از ۶۰ ثانیه آماده می‌شود
  • دیتاسنتر تهران، صورت‌حساب ساعتی به تومان
سفارش سرور با Strapi

حساب دارید؟ وارد شوید

مقایسهٔ همهٔ پلن‌ها

راهنمای کامل

راهنمای کامل Strapi روی سرور ابری ایران‌کلاد

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

۹ بخش حدود ۶ دقیقه مطالعه

فهرست مطالب

Strapi چیست و headless CMS یعنی چه؟

Strapi پرکاربردترین CMS بدون سر متن‌باز در اکوسیستم JavaScript است که با Node.js و TypeScript نوشته شده است. در یک CMS سنتی، ویرایش محتوا و نمایش صفحه در یک برنامه است؛ در CMS بدون سر، این دو جدا می‌شوند. Strapi یک پنل مدیریت برای نویسندگان و یک API برای برنامه‌نویسان دارد و هیچ صفحهٔ عمومی برای بازدیدکننده نمی‌سازد.

مزیت این جداسازی آزادی فرانت‌اند است: همان مقاله یا محصول را سایت Next.js، اپ Flutter، ربات پیام‌رسان و صفحهٔ فرود کمپین هم‌زمان از یک API می‌خوانند. نویسنده فقط یک بار محتوا را وارد می‌کند و تیم فنی بدون محدودیت قالب‌های یک CMS سنتی، رابط کاربری را می‌سازد.

مخاطب Strapi تیم‌هایی هستند که دست‌کم یک توسعه‌دهندهٔ فرانت‌اند دارند. برای کسب‌وکاری که فقط یک سایت آماده و قالب‌دار می‌خواهد، WordPress یا Ghost سریع‌تر به نتیجه می‌رسند.

سناریوهای واقعی استفاده از Strapi

پروژه‌هایی که تیم‌ها معمولاً با Strapi می‌سازند:

  • بک‌اند محتوای سایت ساخته‌شده با Next.js‏، Nuxt یا Astro با تولید صفحه هنگام build یا درخواست
  • API محتوای اپ موبایل برای اخبار، بنرها، سؤالات متداول و پیکربندی صفحه‌ها بدون انتشار نسخهٔ تازهٔ اپ
  • کاتالوگ محصول با دسته‌بندی، ویژگی و تصویر برای فروشگاهی که پرداخت را جای دیگری انجام می‌دهد
  • سایت چندزبانه فارسی و انگلیسی با نسخهٔ جدا برای هر زبان در یک ورودی
  • پنل مدیریت داخلی برای داده‌های ساده‌ای که تیم غیرفنی باید ویرایش کند
  • اعلان به سیستم‌های دیگر با webhook هنگام انتشار یا تغییر محتوا

بازگشت به فهرست مطالب

نصب یک‌کلیک ما دقیقاً چه چیزی می‌سازد؟

پس از روشن‌شدن سرور، اسکریپت نصب ما اگر Node.js روی سرور نباشد، نسخهٔ 20 آن را از مخزن NodeSource نصب می‌کند و ابزارهای کامپایل لازم برای ماژول‌های بومی را هم اضافه می‌کند. سپس با ابزار رسمی create-strapi-app آخرین نسخهٔ Strapi را به‌صورت یک پروژهٔ TypeScript با دیتابیس SQLite در پوشهٔ /opt/strapi/cms می‌سازد.

پروژه به‌صورت سرویس systemd با نام strapi و در حالت production روی همهٔ نشانی‌های شبکه و پورت ۱۳۳۷ اجرا می‌شود و اگر به هر دلیل متوقف شود، پس از چند ثانیه دوباره بالا می‌آید. در پایان، قانون ورودی پورت ۱۳۳۷ در فایروال سرور اضافه و فایروال فعال می‌شود؛ هر پورت دیگری را خودتان از تب فایروال اضافه می‌کنید. آدرس پنل در تب «اپلیکیشن» صفحهٔ سرور نمایش داده می‌شود.

موردمقدار در نصب مانکته
سیستم‌عاملUbuntu 24.04خودکار انتخاب می‌شود
Node.jsنسخهٔ 20 از NodeSourceفقط اگر از قبل نصب نباشد
نسخهٔ Strapiآخرین نسخه در زمان نصبپروژهٔ TypeScript
پوشهٔ پروژه/opt/strapi/cmsکد، تنظیمات و آپلودها
دیتابیسSQLite در .tmp/data.dbبدون سرویس دیتابیس جدا
سرویسstrapi در systemd، حالت productionراه‌اندازی خودکار پس از خطا
آدرس پنلhttp‏، IP سرور، پورت ۱۳۳۷، مسیر adminدر تب اپلیکیشن
مدیر اولدر مرورگر ساخته می‌شودرمز پیش‌فرض ندارد

بازگشت به فهرست مطالب

هزینهٔ Strapi: فقط سرور، بدون هزینهٔ نصب

برای نصب Strapi مبلغی جدا دریافت نمی‌کنیم و نسخهٔ Community آن هم رایگان است. هنگام ساخت سرور هزینهٔ ساعت اول پلن از کیف پول کم می‌شود و پس از آن هر ساعت؛ با حذف سرور محاسبه متوقف می‌شود. Strapi در فهرست اپلیکیشن‌ها از پلن mini به بالا قابل انتخاب است.

اجرای Strapi با چند کاربر ویرایشگر و ترافیک متوسط API روی mini ممکن است، اما ساخت دوبارهٔ پنل مدیریت با npm run build پس از نصب افزونه یا تغییر کد، حافظهٔ زیادی می‌گیرد و روی یک گیگابایت کند یا ناموفق می‌شود. به همین دلیل standard را پیشنهاد می‌کنیم؛ اگر کنار Strapi فرانت‌اند Next.js را هم روی همین سرور اجرا می‌کنید، plus را بگیرید. برای جمع هزینه از ماشین‌حساب هزینه استفاده کنید.

پلنمنابعساعتی (تومان)تقریبی ماهانه (تومان)
mini۱ هسته، ۱ گیگ RAM، ۲۰ گیگ دیسک۱٬۱۰۰۸۰۳٬۰۰۰
standard۲ هسته، ۲ گیگ RAM، ۴۰ گیگ دیسک۲٬۲۰۰۱٬۶۰۶٬۰۰۰
plus۲ هسته، ۴ گیگ RAM، ۸۰ گیگ دیسک۳٬۵۰۰۲٬۵۵۵٬۰۰۰

بازگشت به فهرست مطالب

Strapi در برابر Directus‏، Ghost و WordPress

هر کدام برای نوع متفاوتی از پروژه ساخته شده‌اند:

موضوعStrapiDirectusGhostWordPress
رویکردCMS بدون سر با مدل محتوا در کدلایهٔ API روی دیتابیس SQLنشر وبلاگ و خبرنامهCMS سنتی با قالب
نمایش صفحهندارد، فقط APIندارد، فقط APIدارددارد
زبان سرورNode.js و TypeScriptNode.jsNode.jsPHP
تعریف ساختار محتوادر حالت توسعه و در کد پروژهاز رابط وب، مستقیم روی جدول‌هاثابتافزونه و قالب
نیاز به توسعه‌دهندهٔ فرانت‌اندبلهبلهنهنه

برای مقایسهٔ دقیق‌تر صفحه‌های Directus و Ghost را ببینید. اگر فقط محیط Node.js خالی برای پروژهٔ خودتان می‌خواهید، Node.js را انتخاب کنید.

بازگشت به فهرست مطالب

از سفارش تا اولین API محتوا

کیف پول را شارژ کنید، به سفارش سرور ابری بروید، پلن را انتخاب و در تب اپلیکیشن‌ها Strapi را برگزینید. پس از ساخت سرور، در تب «اپلیکیشن» منتظر وضعیت نصب موفق بمانید، آدرس پنل را باز کنید و اولین مدیر را بسازید.

نکتهٔ مهم این است که سرور در حالت production اجرا می‌شود و Strapi در این حالت اجازهٔ تغییر ساختار محتوا را از پنل نمی‌دهد. گردش کار درست این است: پروژه را از /opt/strapi/cms در یک مخزن Git قرار دهید، روی رایانهٔ خودتان با npm run develop نوع‌های محتوا را بسازید، تغییرات را push کنید، روی سرور pull کنید، npm run build بزنید و سرویس strapi را دوباره راه بیندازید. برای پروژهٔ کوچک می‌توانید همین کار را مستقیم روی سرور انجام دهید: سرویس را متوقف کنید، develop را موقتاً اجرا و پس از ساخت ساختار متوقف کنید.

در پایان، در بخش Users and Permissions برای نقش Public اجازهٔ find و findOne روی نوع‌های محتوای عمومی بدهید، یا برای فرانت‌اند یک API Token فقط‌خواندنی بسازید. اکنون فرانت‌اند از مسیر api و نام جمع نوع محتوا داده می‌گیرد.

بازگشت به فهرست مطالب

امنیت Strapi: توکن‌ها، دسترسی‌ها و HTTPS

پنل مدیریت و API در نصب پایه روی http و پورت ۱۳۳۷ از اینترنت در دسترس‌اند. پیش از ورود محتوای واقعی HTTPS را فعال کنید: nginx را روی سرور نصب کنید تا پورت ۸۰ را به 127.0.0.1:1337 برساند، پورت ۸۰ را در فایروال شبکه یا تب فایروال سرور باز کنید و زیردامنه را در مدیریت DNS پشت پروکسی لبه قرار دهید تا گواهی SSL خودکار صادر شود. سپس آدرس عمومی را در config/server پروژه بگذارید و قانون پورت ۱۳۳۷ را حذف یا به IP دفتر محدود کنید.

اصل حداقل دسترسی را رعایت کنید: نقش Public فقط اجازهٔ خواندن محتوای عمومی داشته باشد، هر فرانت‌اند توکن جدا و فقط‌خواندنی بگیرد و توکن‌های دارای دسترسی کامل فقط در سرورهای مورداعتماد باشند. کلیدهای مخفی پروژه در فایل .env هستند؛ این فایل را هرگز در مخزن Git قرار ندهید.

وابستگی‌های npm و خود Strapi را دوره‌ای به‌روز کنید؛ پیش از هر ارتقای نسخهٔ اصلی، راهنمای مهاجرت رسمی را بخوانید و یک بکاپ بگیرید.

بازگشت به فهرست مطالب

بکاپ و انتقال پروژهٔ Strapi

یک پروژهٔ Strapi سه بخش دارد: کد و ساختار محتوا در پوشهٔ پروژه، داده‌ها در فایل SQLite یعنی .tmp/data.db، و فایل‌های رسانه در public/uploads. کد را در Git نگه دارید؛ برای داده و رسانه، Strapi دستور strapi export دارد که یک فایل فشرده و قابل‌رمزگذاری از محتوا، رسانه و پیکربندی می‌سازد و با strapi import روی نصب دیگری بازگردانده می‌شود.

بکاپ کامل سرور را هم هر وقت خواستید از تب بکاپ پنل بسازید؛ بکاپ دستی است و فضای آن ساعتی ۲ تومان به ازای هر گیگابایت حساب می‌شود. جزئیات در صفحهٔ پشتیبان‌گیری. اگر رسانه‌ها زیاد شدند، آن‌ها را با افزونهٔ آپلود سازگار با S3 به فضای ذخیره‌سازی ابری ببرید تا دیسک سرور پر نشود. برای انتقال از Strapi دیگر، نسخهٔ اصلی دو طرف باید یکی باشد؛ ابتدا مبدأ را ارتقا دهید و بعد export بگیرید.

بازگشت به فهرست مطالب

محدودیت‌هایی که پیش از شروع باید بدانید

از سمت ما: نصب یک‌کلیک فقط Node.js و یک پروژهٔ خالی Strapi با SQLite می‌سازد؛ دیتابیس جدا، وب‌سرور، دامنه، HTTPS و افزونه‌ها با شماست. نصب اپلیکیشن فقط هنگام ساخت سرور انتخاب می‌شود و روی سروری که قبلاً ساخته‌اید از پنل نصب نمی‌شود. سرور تک‌نودی است و بکاپ زمان‌بندی‌شدهٔ خودکار ندارد.

از سمت Strapi: ساختار محتوا فقط در حالت توسعه قابل تغییر است، SQLite برای نوشتن هم‌زمان سنگین و چند نمونهٔ موازی مناسب نیست، و برخی امکانات مثل گردش کار بازبینی چندمرحله‌ای، ورود یکپارچهٔ سازمانی و تاریخچهٔ تغییرات در نسخه‌های پولی Strapi هستند. هر ارتقای نسخهٔ اصلی هم ممکن است به تغییر کد نیاز داشته باشد.

بازگشت به فهرست مطالب بازگشت به ابتدای راهنما

پرسش و پاسخ،  ۱۰ پرسش

سؤالات متداول

پاسخ پرسش خود را پیدا نکردید؟ با پشتیبانی در تماس باشید.

Strapi با WordPress یا Ghost چه فرقی دارد؟
WordPress و Ghost سایت را هم خودشان نمایش می‌دهند. Strapi فقط محتوا را نگه می‌دارد و از طریق API تحویل می‌دهد؛ ظاهر سایت یا اپ را تیم فرانت‌اند با هر فناوری دلخواه مثل Next.js‏، Nuxt یا Flutter می‌سازد. اگر یک وبلاگ ساده می‌خواهید Ghost سریع‌تر به نتیجه می‌رسد؛ اگر یک منبع محتوا برای سایت، اپ موبایل و چند کانال لازم دارید، Strapi.
REST و GraphQL هر دو پشتیبانی می‌شوند؟
REST API برای هر نوع محتوا خودکار ساخته می‌شود و با فیلتر، مرتب‌سازی، صفحه‌بندی و بارگذاری روابط کار می‌کند. GraphQL به‌صورت افزونهٔ رسمی ارائه می‌شود که در نصب ما فعال نیست؛ آن را با npm به پروژه اضافه می‌کنید، پنل را دوباره می‌سازید و سرویس را راه‌اندازی مجدد می‌کنید.
تصاویر و فایل‌ها کجا ذخیره می‌شوند؟
به‌طور پیش‌فرض در کتابخانهٔ رسانهٔ Strapi و روی دیسک خود سرور، در پوشهٔ public/uploads پروژه. Strapi برای تصاویر نسخه‌های کوچک‌تر هم می‌سازد. برای حجم زیاد یا جداکردن فایل‌ها از سرور، افزونهٔ ارائه‌دهندهٔ آپلود سازگار با S3 را نصب و به یک فضای ذخیره‌سازی شیء‌گرا وصل کنید.
محتوای چندزبانه مثل فارسی و انگلیسی دارد؟
بله. در Strapi 5 قابلیت چندزبانه بخشی از هسته است. زبان‌ها را از تنظیمات اضافه می‌کنید و برای هر نوع محتوا تعیین می‌کنید کدام فیلدها ترجمه‌پذیرند. هر ورودی برای هر زبان نسخهٔ جدا دارد و API با پارامتر locale زبان موردنظر را برمی‌گرداند.
پیش‌نویس و انتشار و نقش‌های ویرایشی دارد؟
بله. هر نوع محتوا می‌تواند حالت پیش‌نویس و انتشار داشته باشد تا تغییرات تا زمان انتشار در API عمومی دیده نشوند. پنل مدیریت سه نقش پیش‌فرض Super Admin‏، Editor و Author دارد که دسترسی نویسندگان را از ویرایشگران و مدیر جدا می‌کند.
Strapi برای چه پروژه‌هایی مناسب است؟
بک‌اند محتوای سایت‌هایی که با Next.js یا Nuxt ساخته می‌شوند، API محتوای اپ موبایل، فروشگاه‌هایی که کاتالوگ را جدا از پرداخت مدیریت می‌کنند، سایت‌های چندزبانه و هر پروژه‌ای که چند فرانت‌اند از یک منبع محتوا تغذیه می‌شوند. برای سایت تک‌صفحه‌ای یا وبلاگ شخصی معمولاً بیش از نیاز است.
هزینهٔ نصب Strapi چقدر است؟
نصب یک‌کلیک هزینهٔ جداگانه ندارد و نسخهٔ Community خود Strapi هم رایگان است؛ فقط سرور ابری را ساعتی از کیف پول می‌پردازید. کوچک‌ترین پلن قابل انتخاب mini با ۱٬۱۰۰ تومان در ساعت است و پلن پیشنهادی ما standard با ۲٬۲۰۰ تومان در ساعت.
چرا در پنل نمی‌توانم نوع محتوای تازه بسازم؟
نصب ما Strapi را در حالت production اجرا می‌کند و Strapi در این حالت سازندهٔ نوع محتوا را قفل می‌کند، چون هر تغییر ساختار یعنی تغییر کد پروژه. ساختار را روی رایانهٔ خودتان با npm run develop بسازید و با Git به سرور بیاورید، یا موقتاً سرویس را متوقف و همین دستور را روی سرور اجرا کنید؛ پس از اتمام، npm run build بزنید و سرویس را دوباره راه بیندازید.
دیتابیس Strapi چیست و می‌توانم عوضش کنم؟
نصب ما از SQLite استفاده می‌کند و فایل دیتابیس در .tmp/data.db داخل پوشهٔ پروژه است؛ بدون سرویس دیتابیس جدا. برای پروژه‌های پربازدید یا چند نمونهٔ هم‌زمان، Strapi از PostgreSQL و MySQL هم پشتیبانی می‌کند؛ اتصال را در فایل config/database پروژه تعریف می‌کنید، مثلاً به PostgreSQL مدیریت‌شده ایران‌کلاد.
چطور Strapi را با دامنه و HTTPS باز کنم؟
Strapi روی پورت ۱۳۳۷ گوش می‌دهد و پروکسی لبهٔ ایران‌کلاد فقط به پورت ۸۰ سرور وصل می‌شود. یک nginx روی سرور نصب کنید که پورت ۸۰ را به 127.0.0.1:1337 برساند، پورت ۸۰ را در فایروال سرور باز کنید، زیردامنه‌ای مثل cms.example.com را در DNS به سرور اشاره دهید و پروکسی را برایش روشن کنید تا گواهی SSL صادر شود. آدرس عمومی را هم در config/server پروژه تنظیم کنید.

پاسخ پرسش خود را پیدا نکردید؟ با پشتیبانی در تماس باشید.

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

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

از ۱٬۱۰۰ تومان / ساعت،حدود ۸۰۳٬۰۰۰ تومان در ماه