فایل lunax.json
۸ دقیقه
lunax.json در مخزن شما قرار میگیرد و میگوید پروژه چگونه بیلد و اجرا شود. lunax init نسخه اول را با تشخیص استک مینویسد؛ شما آن را کامیت میکنید و با رشد پروژه ویرایشش میکنید.
فیلدهای رایج
{
"platform": "django",
"port": 8000,
"build": { "command": "python manage.py collectstatic --noinput" },
"start": "gunicorn app.wsgi",
"region": "ir-thr-1"
}platform - آن را اعلام کنید. تشخیص خودکار خوب است اما نمیداند پروژه جنگوی شما به collectstatic و یک نقطه ورود gunicorn نیاز دارد. اعلام صریح پلتفرم تفاوت میان پروژهای است که بیلد میشود و پروژهای که اجرا و بلافاصله خارج میشود.
port - پورتی که اپ شما واقعاً روی آن گوش میدهد. اگر ۸۰۰۰ را در کد ثابت کردهاید و اعلام نکنید، ما به پورت اشتباه مسیردهی میکنیم و سایت مرده به نظر میرسد در حالی که لاگها سالماند.
region و requiresEgress - کد کجا اجازه اجرا دارد و آیا به اینترنت خروجی بدون محدودیت نیاز دارد. مقاله مناطق را ببینید؛ همین فیلد تعیین میکند یک ربات تلگرام کار میکند یا نه.
محیطها
بلوک env فقط چیزی را که نام میبرد بازنویسی میکند؛ بقیه از سطح بالا به ارث میرسد. معمولاً یک محیط استیجینگ یکی دو خط است، نه یک فایل تکراری.
فیلد رمز وجود ندارد
عمداً. پلتفرمهای دیگر اجازه میدهند مقادیر محیطی را در همین فایل بگذارید و این فایل کامیت میشود. از lunax env set استفاده کنید - مقادیر سمت سرور رمزنگاری میشوند، در زمان اجرا تزریق میشوند و هرگز در مخزن شما روی دیسک نوشته نمیشوند.