项目

环境变量

Joppa 如何让 .env 随 HTTPS 域名和已关联的服务保持更新,且从不在未显示 diff 的情况下写入。

环境 标签页(E)管理项目的 .env。Joppa 会在其中写入两类内容:你的域名的 HTTPS 地址,以及已关联服务的 连接信息。一切都要经过你确认的 diff。

环境标签页:已接入的服务、由 Joppa 管理的变量和 .env 编辑器

接入服务

服务区块列出了 Joppa 中的服务。使用 PostgreSQL(或 Redis、Mailpit…)会打开一个 diff,并提供两个选项:

  • 关联并写入 .env:写入该服务的变量,并在其端口变化时保持更新。
  • 关联但不写入:Joppa 记住这个关联,但不改动文件。

对于数据库,如果项目的数据库尚不存在,Joppa 会创建它。一个项目每种类型只使用一个服务:接入 MySQL 会替换 PostgreSQL。

停止使用… 则相反:取消关联并清理 .env 会恢复 .env.example 中的值(或移除该变量),取消关联,不改动 .env 则保持文件原样。你手动修改过的变量会被保留。

变量名

Joppa 会以项目已在读取的名称写入:先是 .env 中的名称,然后是 .env.example 中的名称(即使被注释掉)。它能识别许多别名(DATABASE_URL、DIRECT_URL、POSTGRES_PRISMA_URL、POSTGRES_*、PG*、MYSQL_*…),并保留你现有 URL 的协议和参数。

如果项目没有声明任何变量,Joppa 会使用其框架的常用名称:

服务 Laravel 其他
数据库 DB_CONNECTION、DB_HOST、DB_PORT、DB_DATABASE、DB_USERNAME、DB_PASSWORD DATABASE_URL(Symfony:带 ?serverVersion=…&charset=utf8)
Redis、Valkey REDIS_HOST、REDIS_PASSWORD、REDIS_PORT REDIS_URL
Mailpit MAIL_MAILER=smtp、MAIL_HOST、MAIL_PORT… Symfony MAILER_DSN · Rails SMTP_ADDRESS、SMTP_PORT · Django EMAIL_HOST、EMAIL_PORT · Node SMTP_HOST、SMTP_PORT
Meilisearch MEILISEARCH_HOST、MEILISEARCH_KEY、SCOUT_DRIVER Symfony MEILISEARCH_URL、MEILISEARCH_API_KEY
Typesense TYPESENSE_*、SCOUT_DRIVER TYPESENSE_HOST、TYPESENSE_PORT、TYPESENSE_PROTOCOL、TYPESENSE_API_KEY

框架通过其文件识别:Laravel(artisan)、Symfony、Django(manage.py)、Rails、Node(package.json)。

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 编辑器

可以直接在 Joppa 中编辑该文件。由 Joppa 管理的行会带有标记。

  • / 或 ⌘ F:在文件中搜索。
  • .env.example 中有、此处缺少:缺少的键的列表,以及 + 添加缺少的键(添加在 # 来自 .env.example (Joppa) 下方)。
  • ⌘ S:检查并保存,附带 diff。
  • 如果在你编辑期间文件在磁盘上被修改,Joppa 会提示你。

如果没有 .env,Joppa 会在保存时创建一个。

Joppa 的保证

  • 写入前始终显示 diff。
  • 备份:首次写入时,原始文件会被复制到 .env.joppa-backup。
  • 精确修改:只有相关的行会改变;注释、export、行尾备注和多行值都保持原样。新键会添加在文件末尾的一条注释下方(# PostgreSQL (Joppa))。
getjoppa.com › support

加载中

发送不了?请写信至 [email protected]。只是简单的问题:[email protected]。