অ্যাপ চালানো

Environment variable

API key, পাসওয়ার্ড ও বিভিন্ন সেটিংস কোডে না রেখে অ্যাপের এনভায়রনমেন্ট ভেরিয়েবলে সংরক্ষণ করুন। ডেটাবেসের কানেকশন তথ্য Meghly নিজেই সরবরাহ করে।

ভেরিয়েবল যুক্ত করা

অ্যাপের Environment পেজে ভেরিয়েবলের নাম ও মান লিখে যুক্ত করুন। API key বা পাসওয়ার্ডের মতো গোপন তথ্য secret হিসেবে সংরক্ষণ করুন — একবার সেভ করার পর secret-এর মান প্যানেলে আর দেখা যায় না, শুধু পরিবর্তন করা যায়।

ভেরিয়েবল পরিবর্তন করলে চলমান অ্যাপ সেটি স্বয়ংক্রিয়ভাবে পায় না। নতুন মান কার্যকর করতে অ্যাপটি restart করুন অথবা নতুন করে deploy দিন।

নামকরণের নিয়ম

  • নামে শুধু ইংরেজি অক্ষর, সংখ্যা ও _ ব্যবহার করা যাবে এবং নাম সংখ্যা দিয়ে শুরু হতে পারবে না — যেমন STRIPE_KEY, APP_DEBUG।
  • কিছু ভেরিয়েবল Meghly নিজে সেট করে, তাই সেগুলো পরিবর্তন করা যায় না: PORT, YOMAIL_ দিয়ে শুরু হওয়া সব নাম এবং DOTNET_RUNNING_IN_CONTAINER।

.NET-এ __ দিয়ে সেকশন বোঝানো

ASP.NET Core-এ appsettings.json-এর ভেতরের কোনো মান এনভায়রনমেন্ট ভেরিয়েবল দিয়ে পরিবর্তন করতে চাইলে : চিহ্নের পরিবর্তে দুটি আন্ডারস্কোর __ ব্যবহার করুন:

appsettings.json
{
  "Payment": { "ApiKey": "", "Sandbox": true }
}
Environment
Payment__ApiKey = sk_live_...
Payment__Sandbox = false

ডেটাবেসের ভেরিয়েবল

অ্যাপের সাথে ডেটাবেস যুক্ত করলে Meghly নিজেই কানেকশনের সব ভেরিয়েবল সেট করে দেয় — আপনাকে হাতে কিছু লিখতে হয় না:

ভেরিয়েবলবিবরণ
DATABASE_URLসম্পূর্ণ কানেকশন URL (postgresql://…, mysql://…, sqlserver://…)
DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORDকানেকশনের প্রতিটি অংশ আলাদাভাবে (Laravel এগুলোই পড়ে)
DB_CONNECTIONpgsql, mysql অথবা sqlsrv
ConnectionStrings__Default, ConnectionStrings__DefaultConnection.NET-এর কানেকশন স্ট্রিং

এছাড়া ডেটাবেস ইঞ্জিন অনুযায়ী আরও কিছু পরিচিত নাম পাওয়া যায়: PostgreSQL-এ PGHOST, PGUSER ইত্যাদি; MySQL ও MariaDB-তে MYSQL_HOST, MYSQL_USER ইত্যাদি; এবং WordPress-এর জন্য WORDPRESS_DB_HOST ইত্যাদি। একাধিক ডেটাবেস থাকলে প্রতিটির জন্য আলাদা DATABASE_URL_<নাম> ভেরিয়েবল পাওয়া যায়।

ফলে ASP.NET Core প্রজেক্টে সাধারণত কোডে কোনো পরিবর্তন আনতে হয় না:

Program.cs
var connection = builder.Configuration.GetConnectionString("DefaultConnection");

চলমান অ্যাপের ভেরিয়েবলে ডেটাবেসের runtime login থাকে, যা দিয়ে ডেটা পড়া ও লেখা যায়। টেবিল তৈরি বা পরিবর্তনের কাজ শুধু release ধাপে migration login দিয়ে সম্পন্ন হয়।

Redis

অ্যাপের সাথে Redis যুক্ত করলে REDIS_URL, REDIS_HOST, REDIS_PORT, REDIS_USERNAME ও REDIS_PASSWORD ভেরিয়েবলগুলো পাওয়া যায়। এগুলো Meghly নিজে পরিচালনা করে; পরিবর্তন করতে চাইলে Redis সরিয়ে আবার যুক্ত করুন।

যা কখনো কোডে রাখবেন না

  • পাসওয়ার্ড, API key বা token — এগুলো সবসময় secret ভেরিয়েবলে রাখুন।
  • .env ফাইল রিপোজিটরিতে commit করবেন না; এর বদলে মানগুলো Meghly-তে ভেরিয়েবল হিসেবে যুক্ত করুন।

আটকে গেছেন?

আমাদের ইঞ্জিনিয়ারদের সাথে সরাসরি কথা বলুন — ফোন বা ইমেইলে, বাংলায়।

01782618248shohag.meghly@gmail.com