跳到正文
SupaCove文档

02 / 13

快速开始

拉取镜像、初始化实例、注册数据库并完成首次加密备份

1. 启动

推荐直接使用 GHCR 发布镜像(linux/amd64 + linux/arm64;也可在 安装部署选择 Release 独立二进制或本地构建):

# 全新安装示例——从改名前的 supabackup 部署升级必须保留原来的
# supabackup-data 卷:见「安装」页的升级说明。
docker run -d --name supacove \
  -p 127.0.0.1:8080:8080 \
  -v supacove-data:/app/data \
  ghcr.io/web-casa/supacove:latest

镜像以非 root(UID 10001)运行,内置 PostgreSQL 客户端 14–18(二进制部署 需本机 pg_dump);加密使用内置 age 算法库(无需外部 age CLI)。

数据卷保存主密钥、SQLite 元数据库与暂存密文——它是除对象存储外最重要的资产。

2. 初始化管理员

实例是全新的:第一个管理员账号必须由本地一次性令牌创建。

docker exec supacove /app/supacove bootstrap

输出形如:

One-time bootstrap token (valid 15m0s):

  jkwioY…

Use it in the web UI to create the admin account. It will not be shown again.

打开 http://127.0.0.1:8080(本地纯 HTTP 回环可以直接登录;生产必须 TLS,否则 浏览器不保存 Secure cookie)。点“使用 CLI 令牌初始化新实例”,粘贴令牌并设置 用户名与至少 12 位密码。令牌 15 分钟内有效、仅可用一次。

3. 初始化 age 加密身份

docker exec supacove /app/supacove age init > identity.txt

私钥只出现这一次

identity.txt 是解密所有备份的唯一私钥。请离线加密保存;实例内只保存公钥 (recipient),不保存私钥。丢失私钥 = 备份不可恢复。

4. 注册数据库并备份

在控制台“注册第一个数据库”中选择平台或“自托管/其他”,粘贴或分字段填写连接串。 保存前会先做一次真实连接测试;连接串加密存储,之后不再显示。

回到总览,点该库的“立即备份”。任务在“近期任务”里显示状态;成功后可下载 恢复套件(restore.sh)与密文工件。

5. 验证恢复(强烈建议做一次)

AGE_IDENTITY_FILE=$PWD/identity.txt \
PGPASSWORD='<目标库密码>' \
sh restore.sh 'postgresql://user@host:5432/restored?sslmode=require' backup-job2.dump.age

套件会先校验密文 SHA-256,再解密、pg_restore 到新库,并输出恢复的表数。

用的是 Supabase?备份 Supabase 数据库说明了该用哪个连接串,以及备份里包含什么。

最后更新

本页目录