本文属于「自托管 Docker 部署实战」系列(共 35 篇),第 10 篇。 示例中的 IP(192.0.2.10)、域名(example.com)、密码均为占位符,请按实际环境替换。

它是什么

Appsmith 的社区分支,拖拽式搭建内部工具/管理后台。

前置条件

  • 一台 Linux 服务器(1C1G 起步;Java 类应用建议 2C4G 以上);
  • 已安装 Docker 与 Compose v2,执行 docker compose version 有版本号输出;
  • 所有示例里的 IP / 域名 / 密码都是占位符,实际部署请替换成自己的。
# 安装 Docker(已安装可跳过)
curl -fsSL https://get.docker.com | sh

# 目录约定:一个服务一个目录,后文的 ./data 均指栈目录内
mkdir -p /srv/docker/active/<stack> && cd /srv/docker/active/<stack>

镜像地址

registry.cn-beijing.aliyuncs.com/cloudtogo-offical/pageplug-ce:v1.9.38-amd

只有 amd64 版本,ARM 机器(含 Apple Silicon、部分云主机)跑不了。

目录结构

/srv/docker/active/pageplug/
├── docker-compose.yml
└── stacks/               # 应用数据、数据库、配置

部署步骤

# docker-compose.yml
services:
  pageplug:
    image: registry.cn-beijing.aliyuncs.com/cloudtogo-offical/pageplug-ce:v1.9.38-amd
    container_name: pageplug
    restart: unless-stopped
    ports:
      - "8564:80"
      - "8569:443"
    volumes:
      - ./stacks:/appsmith-stacks
    environment:
      - TZ=Asia/Shanghai
docker compose up -d
docker compose logs -f pageplug     # 首次启动初始化数据库,约 1-3 分钟

关键配置

  • 数据全在 stacks/,备份它就是备份整个平台;
  • 容器内 80/443,宿主机端口随意;
  • 默认账号密码在首次启动日志里打印,第一时间改掉。

注意事项

  • 升级要谨慎:Mongo 数据目录跨大版本不兼容,升级前完整备份 stacks/;
  • 内存建议 4G 起,2G 会卡在启动;
  • 附件/图片存本地卷,迁移时一起带走;
  • 不要开 watchtower 自动升级这类有状态应用。

备份与升级

# 平台数据全在 stacks/
tar czf "pageplug-stacks-$(date +%F).tar.gz" ./stacks

# 升级(先改 compose 里的 tag)
docker compose pull
docker compose up -d
  • 跨大版本升级前必须完整备份 stacks/,Mongo 数据不兼容,降级很难;
  • 升级后初始化可能持续几分钟,别急着判断失败。