Переменные окружения
Как Joppa поддерживает .env в актуальном состоянии с HTTPS-доменами и связанными сервисами и никогда не записывает ничего, не показав diff.
Вкладка Окружение (E) управляет файлом .env проекта: переменными под управлением Joppa, адресами и редактором файла. Joppa записывает в него HTTPS-адреса ваших доменов и подключения к сервисам, подключённым на вкладке Сервисы. Всё проходит через diff, который вы подтверждаете.

Сервисы
Сервисы Joppa (PostgreSQL, Redis, Mailpit…) и тестовая база данных Laravel подключаются на вкладке Сервисы (V): их переменные записываются сюда с теми же гарантиями.
HTTPS-адреса
Любое значение http://localhost:PORT (или 127.0.0.1, [::1]), у порта которого есть домен, становится соответствующим HTTPS-адресом, в том числе в списке через запятую:
- APP_URL=http://localhost:8000
+ APP_URL=https://myproject.test
- CORS_ORIGINS=http://localhost:5173,http://localhost:3000
+ CORS_ORIGINS=https://app.myproject.test,http://localhost:3000
Значения по умолчанию из .env.example, которых нет в .env, обрабатываются так же.
Под управлением Joppa
Блок Под управлением Joppa собирает переменные, которые Joppa хочет записать: обновить и актуально. Применить (N) открывает diff и записывает файл.
Адреса
Блок Адреса перечисляет все переменные .env, а также переменные .env.example, которых нет в .env (только в .env.example), значение которых содержит хост и порт: postgres://…@127.0.0.1:47432/app, redis://…, localhost:3000… — не только те, что переписывает Joppa. Для каждой показано:
- сервис Joppa или домен, который открывает этот порт;
- слушает: на этом порту отвечает другая программа;
- указывает на закрытый порт: локальный порт, который не открывает ни один сервис Joppa и на котором никто не слушает;
- другой хост: адрес за пределами вашего компьютера, не проверяется.
Перед записью файла diff напоминает о переменных, оставшихся на закрытом порту.
Редактор .env
Файл редактируется прямо в Joppa. Строки под управлением Joppa помечены.
- / или ⌘ F: поиск по файлу.
- Есть в .env.example, но нет здесь: список недостающих ключей и + Добавить недостающие ключи (добавляются под
# Из .env.example (Joppa)). - То же значение, что в .env.example: ключи, значение которых всё ещё взято из примера (наведите курсор, чтобы его увидеть), — часто это секрет или адрес, который нужно поменять.
- ⌘ S: Проверить и сохранить, с diff.
- Если файл меняется на диске, пока вы его редактируете, Joppa сообщает об этом.
Если .env нет, Joppa создаёт его при сохранении.
Что гарантирует Joppa
- Всегда diff перед записью.
- Резервная копия: при первой записи исходный файл копируется в
.env.joppa-backup. - Точечные изменения: меняются только нужные строки; комментарии,
export, примечания в конце строки и многострочные значения остаются как есть. Новые ключи добавляются в конец, под комментарием (# PostgreSQL (Joppa)).
Ассистент, подключённый к MCP-серверу, записывает .env с теми же гарантиями: инструменты set_env, link_service и unlink_service возвращают ему diff со скрытыми секретами.