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

AWS部署Appwrite 0.14.2.305修改_APP_DOMAIN等环境变量不生效

Appwrite 0.14.2.305 AWS Marketplace部署版环境变量不生效排查方案

按以下顺序逐点排查,绝大多数同类问题都是配置路径/重载方式错误导致的:

  • 首先确认你修改的是正确的.env配置文件
    AWS Marketplace提供的预构建Appwrite镜像默认安装路径为/opt/appwrite/,和官方手动部署文档里默认的~/appwrite路径不一致,如果你之前在root用户家目录、其他自定义路径下找.env修改,配置完全不会被加载。你需要修改的是/opt/appwrite/.env文件内的_APP_DOMAIN、_APP_DOMAIN_TARGET取值。
  • 检查.env文件的配置格式合法性
    • 确认两个变量没有被重复定义:同一个变量在文件中出现多次时,只有第一次出现的取值会生效,升级后很多用户会在文件末尾追加新配置,忽略了文件头部留存的旧空值配置
    • 取值不要加多余的引号、行尾不要加同行注释:比如错误写法_APP_DOMAIN="example.com" # 业务域名会导致实际注入的变量值带引号和注释内容,无法被程序识别
    • 变量名前不要加多余空格,行首不要加#注释符
  • 用正确的方式重载配置,不要直接重启单容器/服务器
    Docker容器的环境变量是在容器首次创建时注入的,直接执行docker restart 容器ID、重启服务器都不会重新读取.env的新配置,只会复用容器创建时的旧参数。正确操作步骤:
    1. 进入配置目录:cd /opt/appwrite
    2. 销毁现有运行容器:docker-compose down
    3. 重新读取配置创建并启动所有容器:docker-compose up -d
  • 排查宿主机环境变量覆盖问题
    如果宿主机的/etc/environment、/etc/profile、/root/.bashrc等全局/用户shell配置文件中定义了同名的_APP_DOMAIN、_APP_DOMAIN_TARGET变量,Docker Compose会优先读取宿主机的环境变量,覆盖.env文件内的配置。你可以在宿主机执行printenv | grep _APP_DOMAIN检查,如果有输出就删除对应配置,执行source /etc/profile重载shell配置后再重新执行上一步的compose重载命令。
  • 验证配置是否生效
    所有容器启动完成后,先执行docker ps找到镜像为appwrite/appwrite:0.14.2.305的主容器ID,执行以下命令读取容器内的环境变量:
    docker exec <你的主容器ID> printenv | grep _APP_DOMAIN
    如果命令能正常返回你设置的两个变量取值,说明配置已经加载完成,此时再执行docker-compose exec appwrite ssl手动触发SSL证书生成流程即可。

额外注意:提前确认AWS实例安全组已经放开80、443端口的入方向规则,且域名已经正确解析到实例公网IP,否则证书生成流程依然会失败。

内容的提问来源于stack exchange,提问作者Avidan Lamdan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 19:33:23