You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将本地运行的Appwrite镜像及所有项目迁移至其他计算机?

迁移本地带数据的Appwrite实例到生产服务器/其他机器

核心原理

Appwrite的所有持久化数据(项目、数据库文档、函数代码、存储文件等)都存储在Docker卷中,迁移的核心就是备份本地卷数据 + 在目标服务器恢复数据,同时同步配置文件。

步骤1:本地备份数据与配置

  1. 停止本地Appwrite容器,避免备份时数据不一致:
    docker-compose down
    
  2. 查看Appwrite使用的Docker卷:
    docker volume ls
    
    你会看到类似appwrite_db(数据库数据)、appwrite_storage(存储文件)、appwrite_functions(函数代码)等卷。
  3. 备份每个卷的数据到本地目录:
    以备份appwrite_db为例,用临时容器打包卷内容:
    docker run --rm -v appwrite_db:/data -v $(pwd):/backup busybox tar czf /backup/appwrite_db.tar.gz -C /data .
    
    重复该命令,把所有Appwrite相关的卷都打包成对应的tar.gz文件。
  4. 备份关键配置文件:
    复制本地的docker-compose.yml和.env文件到备份目录,这两个文件包含了Appwrite的核心配置(密钥、端口、服务参数等),必须同步到目标服务器。

步骤2:目标服务器环境准备

  1. 安装Docker和Docker Compose:
    以Ubuntu为例:
    sudo apt update && sudo apt install docker.io docker-compose -y
    sudo systemctl start docker && sudo systemctl enable docker
    
  2. 在目标服务器创建一个Appwrite目录,用于存放配置和备份文件。

步骤3:恢复数据到目标服务器

  1. 将本地备份的所有tar.gz文件、docker-compose.yml和.env上传到目标服务器的Appwrite目录(可使用scp或其他文件传输工具)。
  2. 先启动一次Appwrite再停止,让Docker自动创建所需的空卷:
    docker-compose up -d && docker-compose down
    
  3. 恢复每个卷的数据:
    以恢复appwrite_db为例:
    docker run --rm -v appwrite_db:/data -v $(pwd):/backup busybox tar xzf /backup/appwrite_db.tar.gz -C /data .
    
    重复该命令恢复所有卷的数据。

步骤4:启动并验证

  1. 启动目标服务器的Appwrite容器:
    docker-compose up -d
    
  2. 访问目标服务器的Appwrite控制台(http://your-server-ip:80,端口根据你的.env配置调整),检查以下内容:
    • 已创建的项目是否存在
    • 数据库文档、集合是否完整
    • 函数代码是否能正常执行
    • 存储的文件是否可访问

关键注意事项

  • 配置一致性:目标服务器的.env文件必须和本地完全一致,特别是_APP_KEY、_APP_API_KEYS、_APP_DOMAIN这些核心参数,否则会导致认证失败或访问异常。
  • 域名/IP更新:如果目标服务器的公网IP或域名和本地不同,需要在Appwrite控制台的「平台设置」中更新对应平台的域名/IP,解决CORS跨域问题。
  • 函数依赖:如果你的Appwrite函数使用了自定义镜像,需要确保目标服务器能拉取到该镜像(如果是私有镜像,要配置Docker镜像拉取权限)。

内容的提问来源于stack exchange,提问作者samman adhikari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 14:30:39