服务

服务概览

Joppa 在容器中运行的数据库、缓存、邮件服务器和搜索引擎,以及如何添加它们。

服务是由你的项目共享的服务器,Joppa 在你的 容器运行时 中运行它。在侧边栏中打开 服务:页面会先列出你的服务,然后是服务目录。

服务页面:正在运行的服务和服务目录

服务目录

服务 版本 默认端口 账号或密钥
PostgreSQL 18、17、16、15、14 5432 postgres / postgres
MySQL 9.7、8.4、8.0 3306 root / root
MariaDB 12.3、11.8、11.4、10.11 3306 root / root
Redis 8.10、8.8、7.4 6379 —
Valkey 9.2、9.1、8.1 6379 —
Mailpit 1.31 SMTP 1025,网页收件箱 8025 —
Typesense 30.2、29.1 8108 API 密钥 joppa-local-key-0000
Meilisearch 1.55、1.54 7700 主密钥 joppa-local-key-0000

列出的第一个版本即默认提供的版本。

添加服务

在服务目录中点击 + 添加 PostgreSQL(或其他服务)。选择版本和端口:Joppa 会从默认端口开始推荐第一个空闲端口(第二个 MySQL 服务器会使用 3307)。服务会在名为 joppa-<engine> 的容器中启动。

所有服务都只监听 127.0.0.1:网络上的其他设备看不到它们。

服务页面

  • 启动 / 停止,以及已运行多长时间。
  • 复制服务器 URL(根据服务不同,也可能是地址、API 密钥或主密钥)。
  • 数据库和缓存可 在 TablePlus 中打开,Mailpit 可 打开收件箱,Meilisearch 可 打开预览。
  • 项目:使用该服务的项目,以及 连接项目 和 取消关联。Joppa 会把服务地址写入这些项目的 .env,并保持更新。
  • 日志:容器日志,可开启 跟随。
  • 操作 菜单:版本和端口…(PostgreSQL 为 版本、端口和扩展…)以及 移除服务…。

PostgreSQL 17 页面:状态、服务器扩展、日志和各项目的数据库

更换版本或端口

更改会在下次启动时生效;页面会提供 ↻ 应用更改(容器会被重新创建,数据保留)。

  • 每个版本都有自己的数据,保存在一个卷中(joppa-postgres-17)。从 17 切换到 18 会启动一个空的服务器;切回 17 即可找回其数据库。
  • 更换端口 会更新已关联项目的 .env。

移除服务

移除服务… 会删除容器。数据保留在其卷中:重新添加同一服务即可找回。

端口被占用

如果端口已被占用,页面会显示「✕ 端口 5432 被 … 占用。」并提供两个选项:更换端口 或 释放端口。Joppa 会找出占用者并提供相应的操作:

占用者 提供的操作
Docker 容器、Compose 或 Lerd 停止它
Homebrew 服务 brew services stop …(登录时将不再自动启动)
Postgres.app 无法在 Joppa 中操作:请在 Postgres.app 中点击“Stop”
其他进程 确认后直接停止它
getjoppa.com › support

加载中

发送不了?请写信至 support@getjoppa.com。只是简单的问题:hello@getjoppa.com。