Переменные окружения
Сырое окружение приложения. Правки вступают в силу на следующем развёртывании.
Этот сервер ваш, и к нему можно подключиться напрямую по SSH — так ваш агент-программист собирает проект, перезапускает его и читает, почему что-то упало.
Это сырое окружение вашего проекта. Неверное значение здесь не падает с ошибкой — оно меняет поведение службы или мешает ей запуститься. Лучше пользуйтесь отдельными страницами (настройки приложения, языки, способы входа, OpenAI): там значение проверяется до записи.
Перенесите файл на свою машину
Работаете над проектом со своей машины? Скачайте файл окружения: локальная копия будет читать и писать строки, файлы и векторную память ЖИВОГО сервера через него. На ноутбук ничего не копируется, поэтому двух расходящихся версий данных не возникает.
Git этот файл не возит никогда: .env, .env.local и .env.*.local намеренно в игноре, чтобы ключи не уехали в публичный репозиторий. Скачать — не значит перенести: положите файл рядом с package.json в локальном клоне и поставьте галочку.
Выдайте агенту доступ к серверу
Ваш агент собирает проект на сервере и читает, почему что-то упало. Для этого ему нужен ключ — и выдаёте его вы, здесь, одним нажатием. Пока не нажали, дороги у агента нет: файл окружения приходит без строк доступа, и любая попытка собрать кончается отказом.
Хватает одной кнопки — нажмите .env.local слева. Ключ доступа создаётся на сервере, прописывается там же и едет внутри этого файла: руками вы не переносите ничего. Положите файл рядом с package.json в своём клоне и скажите агенту, что можно разворачивать.
Ключ выдан. Нажимайте повторно только чтобы заменить его — прежний перестанет работать.
В файле лежит ключ слоя данных. Положите его в корень проекта и никогда не отправляйте в git — в .gitignore стартера он уже исключён.
| Имя | Значение | |
|---|---|---|
| USER_GITHUB_ACCESS_TOKEN | ||
| USER_GITHUB_REPO_URL | ||
| APP_DB_PATH | ||
| AUTH_SECRET | ||
| CHANNELS_HOOK_SECRET | ||
| CHANNELS_HOOK_URL | ||
| COOKIE_SECURE | ||
| DATA_SECRET | ||
| DEPLOY_SECRET | ||
| FRACTERA_IP_NODOMAIN_MODE | ||
| LIGHTRAG_API_KEY | ||
| LIGHTRAG_URL | ||
| NEXT_PUBLIC_APP_SHELL_AUTH | ||
| NEXT_PUBLIC_MEDIA_URL | ||
| RAG_ENV_PATH | ||
| REMOTE_DATA_URL | ||
| TELEGRAM_HOOK_SECRET | ||
| COOKIE_DOMAIN | — | |
| NEXT_PUBLIC_ADMIN_URL | — | |
| NEXT_PUBLIC_AUTH_URL | — | |
| ALLOWED_ORIGINS | http://localhost:3000,http://localhost:3002,http://158.220.98.143:3000,http://158.220.98.143:3001,http://158.220.98.143:3002,http://158.220.98.143:3003,http://158.220.98.143:3004,http://158.220.98.143:3300,http://158.220.98.143:3600 | |
| AUTH_TRUST_HOST | true | |
| DATABASE_URL | file:/opt/fractera/app/data/app.db | |
| NEXT_PUBLIC_DEFAULT_LOCALE | en | |
| NEXT_PUBLIC_SUPPORTED_LANGUAGES | en | |
| NEXTAUTH_URL | http://158.220.98.143:3001 |
Запертое имя выводится из того, как работает сервер: режим, домен, набор языков, устройство входа. Правка руками рассогласует его с тем, что настроено в других местах, и сломается не эта страница, а вход. Меняйте такие значения через их собственные страницы.
Значения, которые живут в службах
Их нет в файле окружения: токен Telegram и идентификатор чата принадлежат службе каналов, ключ OpenAI — службе знаний. Показаны здесь, чтобы сверять их, не уходя со страницы.
не заданоне заданоне заданоне заданоЧто это за значения и когда они вступают в силу
Когда изменение вступает в силу. Большинство значений служба читает при запуске, поэтому сохранение — только половина работы: чтобы служба их увидела, её нужно перезапустить. Именно поэтому отдельные страницы перезапускают то, что меняют, а эта — нет: здесь вы можете править что угодно, и перезапускать всё на каждом сохранении было бы хуже, чем попросить сделать это осознанно.
Часть значений запекается на сборке. Всё, что начинается с NEXT_PUBLIC_, компилируется В приложение, а не читается во время работы. Изменение здесь не даёт ничего до следующего развёртывания — работающее приложение по-прежнему несёт старое значение. Это удивляет достаточно часто, чтобы сказать прямо.
Почему секреты показаны маской. Значение, в имени которого есть KEY, SECRET, TOKEN или PASSWORD, маскируется на сервере и в браузер не отправляется вовсе. Заменить его можно, прочитать обратно — нет. Смотреть на ключ, которым вы и так владеете, нечего, а держать его в странице — есть что терять.
Почему некоторые имена нельзя править. Их значения следуют из решений, принятых в других местах: режим работы сервера, домен, набор языков. Правка руками перепишет одну половину пары и оставит другую, а проявится это как «не могу войти», а не как «я опечатался в переменной».