AI দিয়ে বানানো অ্যাপ কীভাবে এক্সপোর্ট করে নিজের সার্ভারে হোস্ট করবেন
AI দিয়ে বানানো অ্যাপ নিজের সার্ভারে হোস্ট করতে হলে কোড বের করুন (ডাউনলোড বা আপনার নিজের GitHub রিপোজিটরিতে সিঙ্ক), সিক্রেটগুলো এনভায়রনমেন্ট ভেরিয়েবল হিসেবে আবার তৈরি করুন, ডেটাবেস সরান বা নতুন করে বানান, এবং অ্যাপটি যা তার সঙ্গে মেলে এমন হোস্টে ডিপ্লয় করুন: সাধারণ ফ্রন্ট এন্ডের জন্য স্ট্যাটিক হোস্ট, আর ব্যাক এন্ড থাকলে এমন প্ল্যাটফর্ম যেখানে সার্ভার বা কন্টেইনার চলে। কোড সাধারণত সহজ অংশ। আসল কাজ থাকে ডেটা, সিক্রেট, আর বিল্ডার আপনার জন্য নীরবে যে সার্ভিসগুলো চালাচ্ছিল সেগুলোতে।
আদৌ কেন এক্সপোর্ট করবেন
কোড সঙ্গে নেওয়ার ভালো কারণ আছে, আবার কিছু কম ভালো কারণও আছে।
ভালো কারণ:
- মালিকানা ও নিরাপত্তা। আপনার নিজের রিপোজিটরিতে কোডের একটি কপি থাকলে বিল্ডার দাম, ফিচার বা শর্ত বদলালেও আপনি সুরক্ষিত থাকেন।
- ডেভেলপারদের হাতে তুলে দেওয়া। একটি ইঞ্জিনিয়ারিং দল চাইবে কোড Git-এ থাকুক, তাদের স্বাভাবিক টুল ও রিভিউ প্রক্রিয়ায়।
- নির্দিষ্ট প্রয়োজন। ডেটার অবস্থান, নির্দিষ্ট ক্লাউড প্রোভাইডার, কোম্পানির নিরাপত্তা নীতি, বা বিল্ডার যে ইনফ্রাস্ট্রাকচার দেয় না।
- স্কেল বা খরচ, যখন নিজের ইনফ্রাস্ট্রাকচার চালানো সত্যিই লাভজনক।
কম ভালো কারণ: মাত্র কয়েকজন ব্যবহারকারীর একটি ছোট অ্যাপ সরানো শুধু সামান্য মাসিক খরচ বাঁচাতে। সেলফ-হোস্টিং কাজ আপনার ওপর চাপায়: আপডেট, ব্যাকআপ, মনিটরিং, নিরাপত্তা প্যাচ। এটা সঠিক সিদ্ধান্ত হতে পারে; শুধু জেনেবুঝে নিন।
একটা বিবেচনাসম্পন্ন মাঝপথ: বিল্ড ও হোস্ট যেখানে আছে সেখানেই চালিয়ে যান, কিন্তু শুরু থেকেই আপনার নিজের GitHub রিপোজিটরিতে সিঙ্ক করুন। তাতে পরিচালনার কাজ ছাড়াই নিরাপত্তার সুবিধা পাবেন। Git আপনার কাছে নতুন হলে GitHub কী পড়ুন।
এক্সপোর্টে কী থাকে আর কী থাকে না
এক্সপোর্টের ওপর নির্ভর করার আগে খুলে দেখুন। সাধারণত:
| যা অন্তর্ভুক্ত থাকে | যা সাধারণত থাকে না |
|---|---|
| সোর্স কোড (ফ্রন্ট এন্ড, ব্যাক এন্ড) | সিক্রেট মান (API কী, পাসওয়ার্ড) |
কনফিগ ফাইল (package.json, Dockerfile, বিল্ড কনফিগ) | ইনস্টল করা ডিপেন্ডেন্সি (node_modules ও এর মতো) — এগুলো আবার ইনস্টল হয় |
| ডেটাবেস স্কিমা ও মাইগ্রেশন ফাইল, অ্যাপ ব্যবহার করলে | ডেটাবেসের আসল ডেটা |
| প্রজেক্টের স্ট্যাটিক অ্যাসেট | আলাদা স্টোরেজে আপলোড হওয়া ব্যবহারকারীর ফাইল |
| বিল্ডার-পরিচালিত সার্ভিস: হোস্টিং, ডোমেইন, ডেটাবেস সার্ভার, ফাইল স্টোরেজ |
সিক্রেট ইচ্ছা করে বাদ দেওয়া হয় — যে আর্কাইভ আপনি ইমেইল করতে পারেন বা কমিট করতে পারেন, তাতে কখনোই লাইভ কী থাকা উচিত নয়। ডিপেন্ডেন্সি বাদ যায় কারণ সেগুলো লক ফাইল থেকে আবার তৈরি হয়।
ধাপ ১: কোড বের করুন
দুটি সাধারণ পথ:
- একটি আর্কাইভ ডাউনলোড করুন প্রজেক্টের। দ্রুত, আর একবারের স্থানান্তর বা ব্যাকআপের জন্য ঠিক আছে।
- GitHub-এ সিঙ্ক। যেকোনো চলমান কাজের জন্য ভালো: সম্পূর্ণ ইতিহাস, যেকোনো জায়গায় ক্লোন করা সহজ, আর বেশিরভাগ হোস্ট প্রতিটি পুশে সরাসরি GitHub রিপোজিটরি থেকে ডিপ্লয় করে।
যেভাবেই হোক, একটি কম্পিউটারে (বা ক্লাউড ডেভ এনভায়রনমেন্টে) ক্লোন বা আনপ্যাক করুন এবং একটা README খুঁজুন। না থাকলে যাওয়ার আগে বিল্ডারের AI-কে একটা লিখে দিতে বলুন:
এই প্ল্যাটফর্মের বাইরে এই প্রজেক্ট চালানোর জন্য একটা README লেখো: স্ট্যাক, দরকারি রানটাইম ভার্সন, ইনস্টল ও বিল্ড কমান্ড, স্টার্ট কমান্ড ও পোর্ট, কোড যত এনভায়রনমেন্ট ভেরিয়েবল পড়ে সবগুলোর নাম ও উদ্দেশ্য (মান নয়), এবং ডেটাবেস মাইগ্রেশন কীভাবে চালানো হয়।
এই একটি প্রম্পট ঘণ্টার পর ঘণ্টা বাঁচায়, কারণ সেটাপের অন্তর্নিহিত অংশগুলো লেখায় আসতে বাধ্য হয়।
ধাপ ২: আগে নিজের মেশিনে চালান
কোথাও ডিপ্লয় করার আগে প্রমাণ করুন অ্যাপটি নিজে থেকে চলে:
- README-তে উল্লেখ করা রানটাইম ইনস্টল করুন — Node.js, Python, Java, .NET — মিলে যাওয়া ভার্সনে।
- ডিপেন্ডেন্সি ইনস্টল করুন (
npm install,pnpm install,pip install -r requirements.txt, বা সমতুল্য)। - এনভায়রনমেন্ট ভেরিয়েবল দিয়ে একটি লোকাল
.envফাইল বানান, যতটা সম্ভব টেস্ট কী দিয়ে। এটি Git-এর বাইরে রাখুন। এনভায়রনমেন্ট ভেরিয়েবল ও সিক্রেট কী ধারণাটি ব্যাখ্যা করে। - একটি ডেটাবেসের সঙ্গে সংযোগ দিন — লোকাল Postgres, বা কোনো ম্যানেজড প্রোভাইডারের বিনামূল্যের ডেভেলপমেন্ট ডেটাবেস।
- মাইগ্রেশন চালান, তারপর অ্যাপ শুরু করে মূল ফ্লোগুলো ঘুরে দেখুন।
এখানে যা ভাঙবে, হোস্টেও তা ভাঙবে, আর নিজের মেশিনে ডিবাগ করা অনেক সহজ। সাধারণ বিস্ময়: বিল্ডারের প্রিভিউয়ের একটি হার্ড-কোডেড URL, বিল্ডার স্বয়ংক্রিয়ভাবে যে এনভায়রনমেন্ট ভেরিয়েবল দিত তার একটি অনুপস্থিতি, বা শুধু প্ল্যাটফর্মে থাকা একটি সার্ভিস (ফাইল স্টোরেজ, ইমেজ রিসাইজিং)।
ধাপ ৩: ডেটা সরান
অ্যাপের যদি সত্যিকারের ব্যবহারকারী থাকে, তবে ডেটা কোডের চেয়েও গুরুত্বপূর্ণ।
- ডেটাবেস এক্সপোর্ট করুন। Postgres-এর জন্য
pg_dumpএকটি ফাইল বানায় যাpg_restoreবাpsqlদিয়ে নতুন ডেটাবেসে ফিরিয়ে আনা যায়। সরাসরি অ্যাক্সেস না থাকলে বিল্ডারের AI-কে চালাতে এবং কী তৈরি হলো ব্যাখ্যা করতে বলুন। - আপলোড করা ফাইল সরান। ব্যবহারকারীরা ছবি বা নথি আপলোড করে থাকলে সেগুলো ডেটাবেস থেকে আলাদা অবজেক্ট স্টোরেজে থাকে। নতুন স্টোরেজে কপি করুন (যেমন S3-সামঞ্জস্যপূর্ণ বাকেট) এবং সংরক্ষিত URL-এ পুরনো হোস্ট থাকলে তা আপডেট করুন।
- কাটওভারের পরিকল্পনা করুন। একটি লাইভ অ্যাপের জন্য সহজ পথ হলো সংক্ষিপ্ত রক্ষণাবেক্ষণ উইন্ডো: লেখা থামান, শেষ এক্সপোর্ট নিন, নতুন হোস্টে রিস্টোর করুন, DNS বদলান, তারপর আবার খুলুন। প্রতিটি ধাপ আগে লিখে রাখুন।
- আসল স্থানান্তরের আগে একটি স্ক্র্যাচ ডেটাবেসে রিস্টোর পরীক্ষা করুন।
Postgres যদি অচেনা হয়, Postgres কী মূল বিষয়গুলো বোঝায়।
ধাপ ৪: কোথায় হোস্ট করবেন তা বেছে নিন
অ্যাপের ধরনের সঙ্গে হোস্ট মেলান। নিচের নামগুলো প্রতিটি শ্রেণির পরিচিত প্রোভাইডারের উদাহরণ, র্যাঙ্কিং নয়; বর্তমান ফিচার ও দাম তাদের সাইটে যাচাই করুন।
| অ্যাপের ধরন | যা দরকার | উদাহরণ হোস্ট |
|---|---|---|
| স্ট্যাটিক সাইট বা SPA (শুধু HTML, CSS, JS) | CDN সহ ফাইল হোস্টিং | Netlify, Vercel, Cloudflare Pages, GitHub Pages |
| ফুল-স্ট্যাক ফ্রেমওয়ার্ক (Next.js ও অনুরূপ) | সার্ভার বা সার্ভারলেস ফাংশন | Vercel, Netlify, Render, Railway |
| API বা ব্যাক এন্ড (Node, Python, Java, C#) | সবসময় চালু বা শূন্যে নামানো যায় এমন সার্ভার | Render, Railway, Fly.io, ক্লাউড কন্টেইনার সার্ভিস |
| Dockerfile আছে এমন যেকোনো কিছু | কন্টেইনার রানটাইম | Fly.io, Render, Railway, AWS, Google Cloud, Azure |
| সম্পূর্ণ নিয়ন্ত্রণ | আপনার পরিচালিত ভার্চুয়াল সার্ভার | DigitalOcean, Hetzner, Linode, বা যেকোনো ক্লাউড VM |
আপনার আরও যা লাগবে:
- একটি ম্যানেজড ডেটাবেস — অনেক অ্যাপ হোস্ট Postgres দেয়, আর Neon বা Supabase-এর মতো আলাদা সার্ভিস এটি আলাদাভাবে দেয়। ম্যানেজড হওয়াটা মূল্যবান: ব্যাকআপ ও আপডেট অন্য কারও দায়িত্ব।
- আপলোডের জন্য অবজেক্ট স্টোরেজ, অ্যাপে আপলোড থাকলে।
- ইমেইল পাঠানো, পেমেন্ট ও AI প্রোভাইডার — এগুলোর সাধারণত নতুন হোস্টে একই API কী সেট করলেই হয়।
ট্রেড-অফ নিয়ে ন্যায্যভাবে বলি: প্ল্যাটফর্ম হোস্ট (প্রথম চারটি সারি) সেটআপ ও রক্ষণাবেক্ষণে দ্রুত, কিন্তু নিয়ন্ত্রণ কম এবং ট্র্যাফিকের সঙ্গে খরচ বাড়তে পারে। স্থির লোডে ভার্চুয়াল সার্ভার প্রায়ই সস্তা এবং সম্পূর্ণ আপনার নিয়ন্ত্রণে, কিন্তু প্যাচিং, TLS, ব্যাকআপ, মনিটরিং আর পুনরুদ্ধারের দায়িত্ব আপনার। দলের কেউ এই কাজ না চাইলে প্ল্যাটফর্ম বেছে নিন। হোস্টিং কী জড়িত তার মূল বিষয়ের জন্য দেখুন ওয়েব হোস্টিং কী।
ধাপ ৫: ডিপ্লয় করুন ও সুইচ করুন
- রিপোজিটরি সংযুক্ত করুন হোস্টের সঙ্গে, অথবা একটি কন্টেইনার ইমেজ পুশ করুন।
- এনভায়রনমেন্ট ভেরিয়েবল সেট করুন হোস্টের ড্যাশবোর্ডে — README-র প্রতিটি, লাইভ মানসহ।
- বিল্ড ও স্টার্ট কমান্ড এবং পোর্ট সেট করুন। অনেক হোস্ট
PORTএনভায়রনমেন্ট ভেরিয়েবলে পোর্ট দেয়; অ্যাপটিকে সেটিতে এবং সব ইন্টারফেসে (0.0.0.0) শুনতে হবে, শুধুlocalhost-এ নয়। - নতুন ডেটাবেসের বিরুদ্ধে মাইগ্রেশন চালান।
- DNS স্পর্শ করার আগে হোস্টের অস্থায়ী URL-এ পরীক্ষা করুন।
- পুরনো URL-এ নির্দেশ করা বাইরের সার্ভিস আপডেট করুন: পেমেন্ট ওয়েবহুক, লগইনের জন্য OAuth রিডাইরেক্ট URL, ইমেইলের লিংক, অনুমোদিত অরিজিন।
- ডোমেইন সরান, DNS রেকর্ড নতুন হোস্টে বদলে। কাস্টম ডোমেইন কীভাবে যুক্ত করবেন রেকর্ডগুলো ব্যাখ্যা করে।
- পুরনো ডিপ্লয়মেন্ট কিছুক্ষণ চালু রাখুন নিশ্চিত না হওয়া পর্যন্ত, তারপর বন্ধ করুন।
ধাপ ৬ সবচেয়ে প্রায়ই ভুলে যাওয়া হয়: স্থানান্তরের পর লগইন বা পেমেন্ট নীরবে ব্যর্থ হওয়ার পেছনে বেশিরভাগ সময় থাকে একটি কলব্যাক URL যা এখনও পুরনো হোস্টের দিকে।
ধাপ ৬: অপারেশন নিজের হাতে নিন
সেলফ-হোস্ট করার পর বিল্ডার যা সামলাত, তার সবকিছু আপনার দায়িত্ব হয়। ন্যূনতম: পরীক্ষিত রিস্টোরসহ স্বয়ংক্রিয় ডেটাবেস ব্যাকআপ, ত্রুটি ট্র্যাকিং, আপটাইম সতর্কতা, ডিপেন্ডেন্সি আপডেট, এবং প্রতিটি অ্যাকাউন্টে কার অ্যাক্সেস আছে তার একটি নোট। কীভাবে একটি AI প্রোটোটাইপ প্রোডাকশনে নেবেন এই তালিকাটি আরও বিস্তারিত দেখায়।
এক্সপোর্ট চেকলিস্ট
- এমন রিপোজিটরিতে কোড যা আপনার নিজের, সঙ্গে README যা চালানো, বিল্ড ও এনভায়রনমেন্ট ভেরিয়েবল ঢাকে
- একটি পরিষ্কার ক্লোন থেকে অ্যাপ লোকালি চলে
- ডেটাবেস এক্সপোর্ট করা ও রিস্টোর পরীক্ষিত; আপলোড করা ফাইল কপি করা
- অ্যাপের ধরনের জন্য হোস্ট বেছে নেওয়া, সঙ্গে ম্যানেজড ডেটাবেস ও স্টোরেজ
- নতুন হোস্টে সব এনভায়রনমেন্ট ভেরিয়েবল লাইভ মানসহ সেট করা
- ওয়েবহুক, OAuth রিডাইরেক্ট ও ইমেইলের লিংক আপডেট করা
- DNS সুইচ করা, পুরনো ডিপ্লয়মেন্ট কিছুক্ষণ রেখে তারপর সরানো
- ব্যাকআপ, মনিটরিং ও অ্যাক্সেসের তালিকা প্রস্তুত
Mythex থেকে এক্সপোর্ট করা
Mythex-এ আপনি যে কোড বানান তার মালিক আপনি। Pro প্ল্যানে Project settings → Export থেকে প্রজেক্টটি আর্কাইভ হিসেবে ডাউনলোড করতে পারেন, অথবা GitHub সংযুক্ত করে আপনার নিজের রিপোজিটরিতে পুশ ও পুল করতে পারেন; Free প্ল্যানে কোড শুধু পড়া যায়, এক্সপোর্ট বা সিঙ্ক করা যায় না। এক্সপোর্টে সিক্রেট ও node_modules বাদ থাকে, তাই নতুন হোস্টে আপনার সিক্রেটগুলো আবার তৈরি করুন। ধাপগুলো ডকসে আছে অন্যত্র এক্সপোর্ট ও চালানো এবং GitHub, এক্সপোর্ট ও ইমপোর্ট-এ। আপনি Mythex-এই হোস্ট করা চালিয়ে যেতে পারেন এবং GitHub সিঙ্ককে শুধু নিজের কপি ও হস্তান্তরের পথ হিসেবে ব্যবহার করতে পারেন; স্থানান্তর করলে নতুন হোস্ট চালু হওয়ার পর Mythex অ্যাপটি আনপাবলিশ করুন।
প্রশ্নোত্তর
AI অ্যাপ বিল্ডার থেকে কি কোড এক্সপোর্ট করা যায়?
এটা টুল ও প্ল্যানের ওপর নির্ভর করে। কিছু বিল্ডার পুরো প্রজেক্ট ডাউনলোড করতে দেয় বা আপনার নিজের GitHub রিপোজিটরিতে সিঙ্ক করে; আবার কিছু অ্যাপ নিজেদের প্ল্যাটফর্মের ভেতরেই রাখে। কয়েক মাস বিনিয়োগ করার আগে যাচাই করুন, আর এক্সপোর্টে কী থাকে আর কী থাকে না তা পড়ে নিন।
এক্সপোর্টে কি আমার ডেটাবেস ও API কী থাকে?
সাধারণত কোড এক্সপোর্ট হয়, কিন্তু ডেটা বা সিক্রেট নয়। সিক্রেট কী ইচ্ছা করেই বাদ দেওয়া হয়, আর ডেটাবেসের বিষয়বস্তুর জন্য আলাদা এক্সপোর্ট লাগে, যেমন Postgres-এর জন্য pg_dump। হোস্ট বদলানোর আগে দুটোরই পরিকল্পনা করুন।
এক্সপোর্ট করা অ্যাপ কোথায় হোস্ট করা উচিত?
স্ট্যাটিক ফ্রন্ট এন্ডের জন্য Netlify, Vercel বা Cloudflare Pages-এর মতো স্ট্যাটিক হোস্ট ভালো মানায়। নিজস্ব সার্ভার থাকা অ্যাপের জন্য এমন প্ল্যাটফর্ম দরকার যেখানে কোড বা কন্টেইনার চলে, যেমন Render, Railway বা Fly.io, অথবা আপনার নিজের পরিচালিত ভার্চুয়াল সার্ভার। অ্যাপে ডেটাবেস থাকলে একটা ম্যানেজড ডেটাবেসও লাগবে।
বিল্ডারের ওপর থাকার চেয়ে সেলফ-হোস্টিং কি সস্তা?
বড় স্কেলে কখনো কখনো। ছোট অ্যাপের ক্ষেত্রে ডেটাবেস, ইমেইল, মনিটরিং আর রক্ষণাবেক্ষণে আপনার নিজের সময় গুনলে পার্থক্য প্রায়ই ছোটই থাকে। নিয়ন্ত্রণ বা নির্দিষ্ট প্রয়োজনের জন্য সরুন, শুধু মাসে কয়েক ডলার বাঁচানোর জন্য নয়।