Frappe 与 ERPNext 容器镜像
Frappe Technologies 发布的 Frappe 框架与 ERPNext 容器镜像。frappe/erpnext 是当前统一镜像,可用于 Web、后台任务和实时通信;frappe/bench 用于开发环境。适合自托管开源 ERP 与基于 Frappe 的业务应用。 https://frappe.io/
特色镜像推荐
ERPNext(frappe/erpnext)
预装 Frappe 与 ERPNext 的官方镜像,是当前 Docker 部署使用的统一镜像。同一标签可通过不同 command 运行 Web、队列和 websocket。站点目录挂载在 /home/frappe/frappe-bench/sites。
Bench(frappe/bench)
带 Bench CLI 的开发镜像,用于初始化 Frappe 开发环境或作为 devcontainer 基础,不包含完整的生产运行时服务。
ERPNext Worker(frappe/erpnext-worker)
早期多镜像方案中的 Python Worker,预装 Frappe 与 ERPNext。官方迁移说明要求新部署改用 frappe/erpnext,并用启动命令区分角色。
Frappe 与 ERPNext 容器镜像集合
推荐技术栈
应用
依赖服务
镜像
典型使用场景
自托管 ERPNext
使用 frappe/erpnext 配合 MariaDB、Redis 和站点卷,按 frappe_docker 的 Compose 运行一套 ERPNext。
带自定义应用的生产镜像
在 frappe_docker 中用 custom 或 layered Dockerfile 把自有 Frappe 应用打进镜像,再部署前端、Worker 和 websocket。
框架开发
用 frappe/bench 或本地构建的开发镜像编写 Frappe 应用,再构建成可部署镜像。
常见问题 (FAQ)
Q1:现在应该用 frappe/erpnext,还是 erpnext-worker、erpnext-nginx 这一组?
新部署使用 frappe/erpnext。官方文档说明前端、后台、Worker 和 websocket 已共用这一镜像,通过 command 和环境变量区分角色,站点只挂载 /home/frappe/frappe-bench/sites。erpnext-worker、erpnext-nginx、frappe-worker、frappe-nginx、frappe-socketio 是旧的多镜像布局。迁移时改镜像名和启动命令,并去掉单独的 assets 卷。
Q2:frappe/erpnext 能否直接用于带自定义应用的生产环境?
frappe_docker 把仅含 Frappe 与 ERPNext 的生产镜像定位为快速试用。要安装自有应用,应按文档构建 custom 或 layered 镜像,用 apps.json 声明应用仓库。演示用的 pwd.yml 明确不适合安装自定义应用,也不适合作为长期生产环境。
Q3:除了这个命名空间里的镜像,还需要什么?
ERPNext 站点依赖 MariaDB(或兼容的数据库)和 Redis。这些服务使用各自上游镜像,不在 frappe 组织内。还需要持久化站点目录,并在升级后执行 bench migrate。具体 Compose 以 github.com/frappe/frappe_docker 为准。