跳到主要内容

部署教程

Kopia 部署教程:网站文件快照、加密仓库与恢复

发布于

用 Docker 部署 Kopia,区分来源目录和备份仓库,创建快照并恢复文件。

为网站文件保留多个时间点

Kopia 可以为目录创建加密、去重快照。附件、配置和数据库导出纳入来源目录,误删或改错文件后可以选择旧快照恢复。本篇先用本地仓库演示,再说明切换远端存储的步骤。

前往雨云选购 ↗

注册推荐码:KuZhuJi

建立配置和数据目录

VPS 需要 Docker 与 Compose。先建立配置、缓存、日志、演示仓库和恢复目录:

sh;使用前请核对本文前提。 如内容超出,可左右滑动,键盘使用方向键或 Home/End 查看。
仅复制文本,不会执行。
mkdir -p ~/kopia/{config,cache,logs,repository,restore}
cd ~/kopia

准备已有来源目录 /srv/example-files。创建 .env,分别填写 KOPIA_PASSWORD 和 KOPIA_UI_PASSWORD,可用 openssl rand -hex 32 生成独立密码。仓库密码负责解密备份,Web 密码负责登录界面。

启动私人管理界面

保存下面的 compose.yaml。来源目录映射为 /data,只允许读取;恢复目录是 /restore。

yaml;使用前请核对本文前提。 如内容超出,可左右滑动,键盘使用方向键或 Home/End 查看。
仅复制文本,不会执行。
services:
  kopia:
    image: kopia/kopia:latest
    hostname: vps-backup
    ports:
      - "127.0.0.1:51515:51515"
    environment:
      KOPIA_PASSWORD: ${KOPIA_PASSWORD:?set repository password}
      USER: backup
    command:
      - server
      - start
      - --insecure
      - --address=0.0.0.0:51515
      - --server-username=operator
      - --server-password=${KOPIA_UI_PASSWORD:?set web password}
    volumes:
      - ./config:/app/config
      - ./cache:/app/cache
      - ./logs:/app/logs
      - /srv/example-files:/data:ro
      - ./repository:/repository
      - ./restore:/restore
    restart: unless-stopped

--insecure 在这里表示容器内使用 HTTP;宿主机只映射 127.0.0.1,远程通过 SSH 隧道访问。固定 hostname 和 USER,重建后沿用来源身份。

sh;使用前请核对本文前提。 如内容超出,可左右滑动,键盘使用方向键或 Home/End 查看。
仅复制文本,不会执行。
chmod 600 .env
docker compose config --quiet
docker compose up -d
docker compose logs --tail=100 kopia
ssh -L 15151:127.0.0.1:51515 user@your-server

本机打开 http://127.0.0.1:15151,用 operator 和 Web 密码登录。

创建仓库并做第一份快照

在界面新建文件系统仓库,路径填写 /repository。来源选择 /data,先备份少量文本与图片;修改、删除其中一份后创建第二次快照,再查看第一个时间点。

本地仓库和来源同处一台 VPS,适合演示。正式备份换到独立存储,可选择官方支持的对象存储、SFTP 等后端。仓库密码、连接参数与存储凭据另存。

恢复文件与数据库导出

选取快照,将文件恢复到 /restore 下的独立目录,打开配置和图片,检查内容与权限。数据库先生成一致的导出,再随文件快照备份;恢复时导入独立数据库。

应用数据库与附件需要对应同一恢复时点时,在短维护窗口暂停写入并生成配套备份。挂载目录变化后,检查 Compose 是否仍覆盖所需来源。

安排自动快照和维护

根据文件变化频率设置快照周期和保留策略,检查下一次自动快照是否完成。缓存、配置、仓库分别维护;删除历史快照后,由 Kopia 的仓库维护处理不再使用的数据。

切换远端仓库后,确认策略实际写入新目标,再恢复一份文件。升级前记录镜像版本与仓库配置,保存密码和配置目录,更新后检查快照、维护和恢复。