Openship桌面应用本地数据管理:位置、备份与迁移完整指南
【免费下载链接】openshipSelf-hosted deployment platform项目地址: https://gitcode.com/GitHub_Trending/ope/openship
Openship 是一个开源的自托管部署平台(self-hosted deployment platform),内置 CI/CD,可以指向代码仓库完成构建、部署、路由与 TLS 证书管理。它的 Openship 桌面应用把整套控制平面(API + 仪表盘 + 内嵌数据库)都跑在你自己的电脑上,只有打开应用时服务才运行。搞清楚Openship 桌面应用本地数据存在哪里、怎么备份、如何迁移到新电脑,是每个单机用户必懂的三件事。本指南用最短的篇幅讲清这三点。
Openship 桌面应用的数据存放位置
桌面应用基于 Electron 构建,所有用户数据都放在 Electron 标准的userData 目录下,不同系统路径如下:
| 操作系统 | 本地数据目录 |
|---|---|
| 🍎 macOS | ~/Library/Application Support/Openship |
| 🪟 Windows | %APPDATA%\Openship |
| 🐧 Linux | ~/.config/Openship |
目录中的核心内容:
data/—— 最重要的部分。这是PGlite 内嵌数据库的数据目录,存放项目、服务器连接、部署记录等全部业务数据。桌面端启动时通过环境变量PGLITE_DATA_DIR把它指向该目录(见 services.ts)。config.json—— 应用的最小化 JSON 配置。ports.json—— 记住上次使用的 API/仪表盘端口。端口稳定是登录状态跨重启存活的关键(会话 Cookie 绑定在localhost:端口上),见 services.ts。auth-secret—— 首次启动生成并持久化的会话密钥,保证重启后登录不被作废。
💡 顺带一提:如果你用的是 CLI / 自托管模式(
openship up),内嵌数据库默认在~/.openship/data(可用PGLITE_DATA_DIR覆盖,逻辑见 client.ts);CLI 的连接上下文存在~/.openship/config.json,与桌面应用目录相互独立。
三步完成 Openship 本地数据备份
PGlite 的数据目录就是一个可整体拷贝的文件夹,备份思路非常直接:
- 完全退出 Openship 桌面应用(托盘图标也要退出)。PGlite 是单写者数据库,同一时刻只允许一个进程打开数据目录,应用运行中拷贝容易得到不一致的数据。
- 把整个 userData 目录打包,例如 macOS 上压缩
~/Library/Application Support/Openship。重点保障data/子目录完整,auth-secret、ports.json建议一并保留。 - 把压缩包放到异地(网盘、外置硬盘均可)。
data/目录通常只有几十到几百 MB,备份频率建议每周一次,或在批量删除项目前立即做一次。
📌 防误删提醒:数据目录里有postmaster.pid这类内部文件,不要手动删除data/里的任何内容;应用重启时会自动处理陈旧的锁状态(见 pglite-lock.ts 的锁机制说明)。
如何把 Openship 数据迁移到新电脑
迁移本质上是"把旧机器的数据目录还原到新机器的相同位置":
- 在新电脑安装同版本(或更高版本)的 Openship 桌面应用,首次启动一次后再完全退出(让目录结构初始化完成)。
- 关闭新电脑上的应用,将旧机器备份的 userData 目录内容整体复制到新系统对应路径(
data/、config.json、auth-secret、ports.json全部覆盖)。 - 重新启动应用,项目、服务器连接、部署历史即完整恢复。
常见问题:
- 版本兼容:数据库迁移(migrations)在启动时自动向前执行(见 client.ts 的说明),因此旧数据 → 新版本应用没有问题;反向用新数据装旧版本则不受支持。
- 登录状态:桌面模式默认免登录(仅绑定本机回环地址),一般直接可用;
ports.json缺失时应用会重新分配端口,只是可能需要重新登录一次,数据不受影响。 - 注意区分迁移对象:迁移桌面应用只迁移"控制平面"数据。你部署到远程服务器的应用本身、服务器上的数据与证书都在目标服务器上,与桌面电脑无关。
相关资料
- 桌面端服务启动与数据目录逻辑:apps/desktop/src/main/services.ts
- PGlite 数据目录解析规则:packages/db/src/client.ts
- 数据库单进程锁机制:packages/db/src/pglite-lock.ts
- 打包配置(userData 之外还包含哪些资源):forge.config.js
- 完整安装文档:docs/installation.md
掌握以上三点,你就完全可以自主管理 Openship 桌面应用的本地数据——放心重装系统,也不怕数据丢失。
【免费下载链接】openshipSelf-hosted deployment platform项目地址: https://gitcode.com/GitHub_Trending/ope/openship
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考