راه‌اندازی روی هاست خودت

نسخه شخصی داداش را اجرا کن

برای اجرای این پروژه به هاست دارای پشتیبانی از Node.js و یک پروژه Supabase نیاز داری. Vercel اجباری نیست؛ هاست PHP یا فضای استاتیک به‌تنهایی کافی نیست.

هاست Node.js

دسترسی SSH یا امکان اجرای اپ Node.js در پنل هاست

Supabase مستقل

پروژه جدا برای ورود کاربران و داده‌های نصب تو

دامنه و HTTPS

دامنه متصل به اپ و گواهی SSL فعال

۱

یک پروژه Supabase برای خودت بساز

در Supabase پروژه جدید بساز. فایل supabase/schema.sql مخزن را در SQL Editor اجرا کن؛ این فایل جدول‌ها، سیاست‌های جداسازی داده و زمان‌بندی بکاپ روزانه را تعریف می‌کند. سپس در Authentication، ورود با ایمیل و ساخت کاربر جدید را فعال نگه دار.

در Authentication → URL Configuration، آدرس نهایی سایت را Site URL قرار بده و https://YOUR-DOMAIN/auth/callback را به Redirect URLs اضافه کن. ایمیل ورود باید از طرف Supabase به کاربران برسد؛ برای استفاده عمومی، تنظیمات و محدودیت‌های ارسال ایمیل پروژه‌ات را هم بررسی کن.

۲

سورس را روی هاست بگیر و تنظیم کن

روی هاستی که Node.js و ترمینال دارد، نسخهٔ عمومی مخزن را دریافت کن. این نسخه داده‌ها و تنظیمات خصوصی نصب اصلی را ندارد.

git clone https://github.com/alirezap73/ops-center-public.git
cd ops-center-public
npm ci

از فایل .env.local.example یک .env.local بساز و دو مقدار مربوط به پروژه Supabase خودت را وارد کن:

NEXT_PUBLIC_SUPABASE_URL=https://YOUR-PROJECT.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=YOUR-PUBLISHABLE-OR-ANON-KEY

این کلید عمومی است؛ کلید service_role یا رمز دیتابیس را در این متغیرها قرار نده. این دو مقدار باید پیش از build تنظیم شده باشند.

۳

بساز، اجرا کن و دامنه را وصل کن

npm run build
npm run start

فرمان start اپ را روی پورت ۳۰۰۰ اجرا می‌کند؛ در صورت نیاز با متغیر PORT آن را تغییر بده. در محیط واقعی، یک مدیر پردازش برای روشن‌ماندن اپ و یک reverse proxy برای اتصال دامنه و HTTPS تنظیم کن.

اگر cPanel داری، اول از پشتیبانی هاست بپرس قابلیت اجرای Node.js و دسترسی لازم برای build و اجرای دائم اپ فعال است یا نه. نام و امکانات این بخش در هاست‌ها متفاوت است؛ صرف داشتن cPanel کافی نیست.

۴

نصب را امتحان کن

صفحه اصلی را باز کن، با ایمیل وارد شو، یک پروژه آزمایشی بساز و بعد از خروج دوباره وارد شو. اگر لینک ورود به آدرس اشتباه می‌رود، Site URL و Redirect URLs را در Supabase بازبینی کن. برای انتشار عمومی، ارسال ایمیل، SSL و بکاپ روزانه را هم در همان پروژه بررسی کن.

هر نصب می‌تواند چند کاربر داشته باشد. اطلاعات آن‌ها در یک دیتابیس Supabase ذخیره می‌شود، ولی با سیاست‌های دسترسی از هم جداست؛ نصب روی هاست خودت به معنی میزبانی خودکار دیتابیس روی همان هاست نیست.

منابع فنی: راهنمای رسمی نصب Next.js 14 · راهنمای رسمی cPanel برای Node.js