- 仅包含 PGLite 的单个容器仅用于测试和个人项目。
- Docker Compose 可部署应用程序、工作进程、PostgreSQL 和 Redis,从而构建稳定的环境。
- Activepieces 需要 Docker Compose v2、两个 CPU 和 4 GB 内存。
Activepieces 是一个自动化平台,它允许您通过可视化界面连接应用程序、接收 Webhook 并运行工作流。除了使用其云服务外,您还可以 在您自己的服务器上安装 Activepieces 并直接控制应用程序、数据库和更新。
推荐的自托管方式是: Docker Compose这种方法分别部署接口和 API、负责执行流程的工作进程、PostgreSQL 和 Redis。虽然也提供了一种简化的单容器安装方案,但仅限于个人项目和测试用途。
自托管平台可以更好地控制基础设施,但这并不意味着所有数据都会自动保留在服务器上。当流程使用 Gmail、Slack、OpenAI 或其他外部 API 时,必要的信息仍然会发送给相应的服务提供商。因此,您也应该这样做。 无需暴露凭据即可连接代理和自动化流程.
您应该选择哪种Activepieces安装方案?

Activepieces 提供了两种使用 Docker 的主要方案。具体选择取决于预期用途、执行次数以及未来扩展基础设施的可能性。
| 设施 | 成分 | 推荐用途 |
|---|---|---|
| 单容器 | 应用程序、PGLite 和内存队列 | 个人测试和项目 |
| Docker Compose | 应用程序、工作进程、PostgreSQL 和 Redis | 服务器和设备稳定 |
| 生产架构 | 应用程序、工作进程、PostgreSQL、Redis 和 S3 存储 | 高并发性和可扩展的部署 |
单个容器使用 PGlite 作为集成数据库 它将作业队列维护在内存中。它仅支持每台机器上安装一个实例,且不能直接转换为企业版。如果您以后需要迁移到完整架构,则必须准备新的部署。
如果您想要保留 PostgreSQL 中的数据流、使用 Redis 作为队列,并使用 worker 分离自动化的执行,那么 Docker Compose 更合适。
使用 Docker 安装 Activepieces 的要求
使用 Docker Compose 进行官方安装需要以下资源:
- Docker 和 Docker Compose v2。
- 至少需要 2 个虚拟 CPU 和 4 GB 内存。
- Un Linux 系统 或者使用兼容 Docker 的服务器。
- WSL2 如果您打算在 Windows 系统下运行安装程序。
- 拥有管理 Docker 的终端访问权限。
- 如果您需要接收来自互联网的 Webhook,则需要一个域名。
- 用于公共或生产环境的HTTPS。
请检查 Docker Compose v2 是否可用:
docker compose version
正确的命令中包含一个空格。 docker y compose古代工具 docker-compose 它对应于 Compose v1,与当前部署版本不兼容。
如果您使用的是 Windows 系统,请使用 WSL2 启动到 Linux 发行版,并在其中运行安装命令。Docker Desktop 必须配置为与该发行版集成。
个人项目快速安装
如果您只想在一台机器上测试 Activepieces,并且不需要扩展,则可以从使用单个容器的简化版本开始:
docker run -d --name activepieces -p 8080:80 \
-v ~/.activepieces:/root/.activepieces \
-e AP_DB_TYPE=PGLITE \
-e AP_REDIS_TYPE=MEMORY \
-e AP_FRONTEND_URL="http://localhost:8080" \
activepieces/activepieces:latest
这条命令:
- 发布 Activepieces 通过港口
8080. - 保存配置和数据库 en
~/.activepieces. - 使用 PGlite 作为集成数据库.
- 管理进程内存中的执行队列。
容器启动后,打开:
http://localhost:8080
您注册的第一个用户将成为管理员。 没有默认用户名或密码。.
这种方法不适用于生产环境、多副本部署或可能需要企业级功能的安装。如果项目有扩展的潜力,请直接使用 Docker Compose。
如何使用单个命令安装 Activepieces
官方文档建议使用一个脚本来创建配置、生成密钥并启动容器。首先,导航到要保存部署文件的文件夹并运行:
curl -fsSL https://get.activepieces.com | sh
如果您想在运行前查看内容,可以将其显示在终端中:
curl -fsSL https://get.activepieces.com
安装程序会创建一个名为“ activepieces准备文件 .env 并部署必要的服务。
如果端口 8080 已被占用,请指定另一个端口:
curl -fsSL https://get.activepieces.com | sh -s -- --port 8090
您也可以选择其他目录:
curl -fsSL https://get.activepieces.com | sh -s -- --dir /ruta/activepieces
完成后,打开 http://localhost:8080 或替换 localhost 通过服务器的 IP 地址。
如何使用 Docker Compose 手动安装 Activepieces

手动安装允许您在启动任何容器之前检查 Compose 文件和变量。首先克隆存储库:
git clone --depth 1 https://github.com/activepieces/activepieces.git
cd activepieces
然后运行准备文件的脚本 .env 并生成密码:
sh tools/deploy.sh
这个过程需要 openssl如果未安装,脚本可能会在不显示明显错误的情况下终止,并导致一些密钥丢失。请在继续操作前检查这些密钥:
grep -E '^(AP_ENCRYPTION_KEY|AP_JWT_SECRET|AP_POSTGRES_PASSWORD)=' .env
这三个变量都必须包含一个值:
AP_ENCRYPTION_KEY对已保存的连接进行加密。AP_JWT_SECRET对身份验证令牌进行签名。AP_POSTGRES_PASSWORD保护对 PostgreSQL 的访问。
安装程序默认使用社区版。如果您拥有商业版许可证并希望稍后激活,则必须在开始部署之前准备好相应的版本,并使用兼容的运行模式。
在手动安装中,该服务 worker 它必须能够使用容器的内部名称与应用程序通信。请检查其部分是否包含:
worker:
environment:
- AP_CONTAINER_TYPE=WORKER
- AP_FRONTEND_URL=http://app
此地址仅适用于该工作人员。变量 AP_FRONTEND_URL 文件概况 .env 您必须保留外部浏览器和服务将使用的公共 URL。
最后,启动容器:
docker compose -p activepieces up -d
Activepieces 会安装哪些容器?
使用 Docker Compose 进行部署会创建四种类型的服务:
| 容器 | 功能 |
|---|---|
app |
它提供界面、API 和平台管理功能。 |
worker |
它从队列中收集任务并执行工作流程。 |
postgres |
它存储流程、连接、用户和执行情况。 |
redis |
管理作业队列和待执行的任务。 |
PostgreSQL 数据不会直接保存到克隆的文件夹中,而是保留在 Docker 卷中。 postgres_data。 所以, 仅复制 Activepieces 文件夹并不能创建完整的备份。.
如何检查 Activepieces 是否正常工作
检查容器状态:
docker compose -p activepieces ps
所有服务都应显示正在运行。然后检查运行状况端点:
curl http://localhost:8080/api/v1/health
登录并打开 平台管理 > 基础设施 > 工作节点至少需要有一个工作进程可用。如果列表为空,则该工作进程可能无法与应用程序通信。
您还可以查看实时记录:
docker compose -p activepieces logs -f app
docker compose -p activepieces logs -f worker
如何配置域和 Webhook
Activepieces 的使用 AP_FRONTEND_URL 生成 webhook 地址、OAuth 重定向和公共链接。如果它包含 localhostStripe、GitHub 或 Slack 等服务将无法通过互联网发送数据。
编辑文件 .env 并引入了公共领域:
AP_FRONTEND_URL=https://automatizaciones.tudominio.com
然后重新创建服务以实现更改:
docker compose -p activepieces up -d
要从没有公网地址的计算机执行测试,可以使用临时隧道:
ngrok http 8080
输入隧道提供的 HTTPS 地址 AP_FRONTEND_URL 并重启容器。Ngrok 对于测试很有用,但它的地址可能会更改,并且 它不应被视为永久生产配置。.
也可以使用 Cloudflare Tunnel 发布实例,而无需直接打开 8080 端口。但是,您需要正确配置域名、HTTPS 和 WebSocket 支持。
如何使用 HTTPS 保护 Activepieces
公共实例必须使用 HTTPS。您可以使用反向代理(例如 Nginx)、负载均衡器或您的 ISP 提供的代理服务来终止加密。
基本的 Nginx 配置应将请求转发到 8080 端口并允许 WebSocket 连接:
location / {
proxy_pass http://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
证书可以通过 Let's Encrypt、Certbot、Cloudflare 或您的基础设施提供商获取。启用 HTTPS 后,请验证: AP_FRONTEND_URL 以……开头 https://.
请勿将 PostgreSQL 或 Redis 直接发布到互联网。此外,请限制 SSH 访问,保持 Docker 更新,并为服务器和连接的应用程序使用不同的密码。
如何进行备份
更新 Activepieces 之前,请先导出数据库:
docker compose -p activepieces exec postgres \
pg_dump -U postgres activepieces > backup.sql
同时保留一份文件的安全副本 .env如果没有同样的 AP_ENCRYPTION_KEY即使成功恢复 PostgreSQL,Activepieces 也无法解密已存储的连接。
在使用 PGLite 进行个人安装时,您必须备份以下文件夹:
~/.activepieces
不要将备份仅存储在同一台服务器上。请使用不同的计算机、加密存储或版本化备份系统。
如何更新 Activepieces
首先,检查新版本中是否存在不兼容的更改。创建备份后,运行:
curl -fsSL https://get.activepieces.com | sh -s -- --upgrade
安装程序会保留该文件 .env数据和修改 docker-compose.yml所使用的版本已修复。 AP_VERSION这样可以防止每次容器重启时发生意外更新。
在个人容器中,你必须停止它,然后备份它。 ~/.activepieces删除旧容器,下载新镜像,并使用同一卷重新创建它。
安装 Activepieces 时常见的错误

docker compose 命令不存在
检查版本:
docker compose version
如果命令失败,请安装 Docker Compose v2。不要自动将该命令替换为 docker-compose因为当前部署不支持 Compose v1。
8080端口已被占用
安装到不同的端口:
curl -fsSL https://get.activepieces.com | sh -s -- --port 8090
在现有装置中,它发生变化 AP_HOST_PORT 之内 .env 并重新创建容器。 请勿更改 AP_PORT因为它对应于内部端口,可能会破坏映射。
“员工”页面显示为空。
查阅记录:
docker compose -p activepieces logs worker | grep -i socket
重复出现的 Socket.IO 错误通常表明工作进程正在尝试连接到 localhost 或者从 Docker 内部发布到公共领域。为该服务配置以下内容:
AP_FRONTEND_URL=http://app
Webhooks 显示本地主机
在变量中输入公共领域 AP_FRONTEND_URL 从文件中 .env 然后重启服务。发送 webhook 的外部应用程序必须能够访问该地址。
测试按钮或实时更新功能无法正常工作。
反向代理可能没有正确转发 WebSocket 连接。请检查请求头。 Upgrade y Connection 并启用 HTTPS,因为有些浏览器会阻止未加密的 WebSocket 连接。
.env 文件中的键为空。
安装 openssl 然后再次运行:
sh tools/deploy.sh
确认无误后再开始安装。 AP_ENCRYPTION_KEY, AP_JWT_SECRET y AP_POSTGRES_PASSWORD 它们蕴含着价值。
应用程序不断重启。
检查启动错误:
docker compose -p activepieces logs app | grep -i "failed to start"
一个可能的原因是使用 AP_EDITION=ee 以及 AP_EXECUTION_MODE=UNSANDBOXED企业版不接受这种组合;它使用兼容的沙盒模式。 SANDBOX_CODE_ONLY.
容器重新创建后,数据流就消失了。
检查音量 postgres_data 它仍然存在,而且您尚未执行清除删除操作。删除容器不应删除卷,但删除卷的命令可能会永久破坏数据库。
当自动化程序停止运行时,它首先会检查应用程序和工作进程日志。同样的方法也适用于确定…… 自动化失败时该怎么办 将问题与基础设施故障的流程区分开来。
什么时候需要生产架构?
Docker Compose 足以帮助您快速搭建自己的服务器,但对于需要同时运行大量程序的组织来说,则需要对组件进行分离和扩展。
推荐的生产架构使用 独立工作进程、多个应用程序副本、PostgreSQL、Redis 和 S3 兼容存储容量的计算应该基于最大并发流数,而不仅仅是每日执行次数。
您还应该配置监控、日志保留、已验证备份和执行隔离。自托管虽然提供了控制权,但也把可用性、更新和安全性的责任转移给了管理员。
使用 Docker Compose 安装 ActivePieces,您可以拥有一个可从您自己的基础设施控制的自动化平台。最重要的不是容器的设置,而是选择合适的 PGLite 或 PostgreSQL,保护密钥,配置稳定的公共 URL,以及维护数据库和加密密钥的备份。
采取这些预防措施后,您无需依赖 Activepieces 的托管基础架构即可运行流程、接收 webhook 和连接应用程序,同时还能随着工作负载的增加扩展系统。
我是一名技术爱好者,已将自己的“极客”兴趣变成了职业。出于纯粹的好奇心,我花了 10 多年的时间使用尖端技术并修改各种程序。现在我专攻计算机技术和视频游戏。这是因为 5 年多来,我一直在为各种技术和视频游戏网站撰写文章,旨在以每个人都能理解的语言为您提供所需的信息。
如果您有任何疑问,我的知识范围涵盖与 Windows 操作系统以及手机 Android 相关的所有内容。我对您的承诺是,我总是愿意花几分钟帮助您解决在这个互联网世界中可能遇到的任何问题。