2025年4月

第一次安装Appsmith,按照官方文档给出的 docker-compose.yml 创建了一个文件:

version: "3"
services:
   appsmith:
     image: index.docker.io/appsmith/appsmith-ee
     container_name: appsmith
     ports:
         - "80:80"
         - "443:443"
     volumes:
         - ./stacks:/appsmith-stacks
     restart: unless-stopped

然后执行:
docker-compose up -d
安装一路顺利,完成后用浏览器正常打开了程序界面。填写安装向导,创建账户,然后就跳转到了登录界面。问题出现,用刚刚创建的账户密码无法登录,提示无效。但用随意输入的用户名和密码则会提示用户名密码不对之类的错误,说明系统已经验证通过了刚才的账户,是之后出了问题。
下面是我做的各种尝试:

  • 尝试找回密码,因尚未配置邮件服务器,系统无法发送找回邮件。找到 Appsmith 安装目录下的 stacks/logs/backend 日志目录,从日志文件中查询到了系统要发送的重置密码 URL,尝试使用此 URL 复位密码,提示成功。但仍然无法登录。
  • 尝试更换成社区版(appsmith-ce),无效。
  • 尝试从 docker-compose.yml 文件中加入如下内容,然后重新创建容器,无效。

      environment:
        APPSMITH_ENCRYPTION_PASSWORD: abcd
        APPSMITH_ENCRYPTION_SALT: abcd
  • 查看各个日志,没有发现什么有效线索。
  • 使用搜索引擎、询问各大 AI 都没有什么结果。
  • 最后去翻看官方文档,在本地开发设置相关内容下提到,使用其项目包里如下文件创建容器:/deploy/docker/docker-compose.yml

    # Use for running an Appsmith, during development.
    
    version: "3"
    
    services:
    appsmith:
      image: index.docker.io/appsmith/appsmith-ce:release
      container_name: appsmith
      ports:
        - "8080:80"
      environment:
        APPSMITH_ENCRYPTION_PASSWORD: abcd
        APPSMITH_ENCRYPTION_SALT: abcd
      volumes:
        - ./stacks:/appsmith-stacks

    尝试了一下,安装向导在创建完账户后是来到了数据库向导界面,然后就直接进入了程序开发界面。安装成功。
    究其原因,是最初的配置文件里没有为镜像指定标签,被默认打上了 latest 标签,从而下载了不同的版本。