نسخه شخصی داداش را اجرا کن
برای اجرای این پروژه به هاست دارای پشتیبانی از Node.js و یک پروژه Supabase نیاز داری. Vercel اجباری نیست؛ هاست PHP یا فضای استاتیک بهتنهایی کافی نیست.
دسترسی SSH یا امکان اجرای اپ Node.js در پنل هاست
پروژه جدا برای ورود کاربران و دادههای نصب تو
دامنه متصل به اپ و گواهی 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