متغیرهای محیطی (env) را در تبِ Environment کارتِ اپ یا سرویس تنظیم میکنید. مقادیر روی container تزریق میشوند و کدِ شما با process.env یا معادلش میخوانَد.
افزودن و ویرایش#
- تبِ Environment را باز کنید.
- کلید و مقدار را وارد کنید. هر کلید یک خط است.
- روی هر کلید مشخص کنید که فقط در build لازم است، فقط در runtime (اجرا)، یا در هر دو.
- قبل از ذخیره، پنلِ Review تفاوتها را نشان میدهد؛ کلیدهای اضافه، عوضشده و حذفشده را ببینید.
- ذخیره کنید.
بعد از ذخیره، اپ باید redeploy شود تا مقادیرِ جدید اعمال شوند. پنل این را به شما یادآوری میکند.
مقدارهای مخفی#
مقدارها در صفحه پنهاناند. برای دیدنِ یک کلید روی reveal همان خط بزنید؛ مقدار فقط برای همان لحظه از سرور خوانده میشود.
دانلودِ فایل .env#
دکمهی Download .env فایلِ کاملِ متغیرها را میدهد. این فایل حاوی رمز و کلیدِ شماست؛ آن را در گیت commit نکنید و جایی به اشتراک نگذارید.
متغیرهایی که خودکار میآیند#
- با اتصال به دیتابیس،
DATABASE_URLوDB_*خودکار اضافه میشوند. - با اتصالِ MinIO از آدرس خصوصی، متغیرهای
S3_*اضافه میشوند.
این متغیرها را دستی تغییر ندهید؛ تغییرِ آنها از روی خودِ اتصال انجام میشود.
گروههای متغیر (Env groups)#
اگر چند اپ مقدارِ یکسانی لازم دارند (مثلاً کلیدِ یک سرویسِ پیامرسانی)، آنها را در یک گروه نگه دارید:
- SETTINGS → ENV GROUPS را باز کنید (owner یا admin).
- یک گروه بسازید و کلیدها را داخلش بگذارید.
- در تبِ Environment هر اپ، گروه را attach کنید.
نکتهها:
- مقدارهای گروه در پایگاهِ دادهی پلتفرم رمزنگاری میشوند.
- با تغییرِ یک گروه، همهی اپهای وصلشده بهروز میشوند و علامتِ «نیاز به redeploy» میگیرند.
- یک کلید فقط از یک جا میتواند بیاید. اگر گروهی جدید با کلیدی که از قبل هست تداخل داشته باشد، اتصال رد میشود.
- کلون گروههای اپ مبدأ را دوباره وصل میکند؛ مقدارها کپی نمیشوند.
امنیت#
- کلیدهای بزرگ و حساس (رمزِ دیتابیس، توکنِ API) را در گروهِ مشترک بگذارید تا یکجا عوض شوند.
- بعد از هر تغییرِ رمز، redeploy کنید.
- برای تنظیماتِ مشترک بین خودِ سازمان، از کلیدِ API استفاده نکنید؛ کلیدِ API فقطخواندنی است.
