如何在服务器上使用 Docker 安装 Activepieces

最后更新: 2026年28月08日

  • 仅包含 PGLite 的单个容器仅用于测试和个人项目。
  • Docker Compose 可部署应用程序、工作进程、PostgreSQL 和 Redis,从而构建稳定的环境。
  • Activepieces 需要 Docker Compose v2、两个 CPU 和 4 GB 内存。
如何在服务器上使用 Docker 安装 Activepieces

Activepieces 是一个自动化平台,它允许您通过可视化界面连接应用程序、接收 Webhook 并运行工作流。除了使用其云服务外,您还可以 在您自己的服务器上安装 Activepieces 并直接控制应用程序、数据库和更新。

推荐的自托管方式是: Docker Compose这种方法分别部署接口和 API、负责执行流程的工作进程、PostgreSQL 和 Redis。虽然也提供了一种简化的单容器安装方案,但仅限于个人项目和测试用途。

自托管平台可以更好地控制基础设施,但这并不意味着所有数据都会自动保留在服务器上。当流程使用 Gmail、Slack、OpenAI 或其他外部 API 时,必要的信息仍然会发送给相应的服务提供商。因此,您也应该这样做。 无需暴露凭据即可连接代理和自动化流程.

您应该选择哪种Activepieces安装方案?

您应该选择哪种Activepieces安装方案?

Activepieces 提供了两种使用 Docker 的主要方案。具体选择取决于预期用途、执行次数以及未来扩展基础设施的可能性。

设施 成分 推荐用途
单容器 应用程序、PGLite 和内存队列 个人测试和项目
Docker Compose 应用程序、工作进程、PostgreSQL 和 Redis 服务器和设备稳定
生产架构 应用程序、工作进程、PostgreSQL、Redis 和 S3 存储 高并发性和可扩展的部署

单个容器使用 PGlite 作为集成数据库 它将作业队列维护在内存中。它仅支持每台机器上安装一个实例,且不能直接转换为企业版。如果您以后需要迁移到完整架构,则必须准备新的部署。

如果您想要保留 PostgreSQL 中的数据流、使用 Redis 作为队列,并使用 worker 分离自动化的执行,那么 Docker Compose 更合适。

如何一步步使用 Docker 安装 Flowise
相关文章:
使用 Docker 安装 Flowise 的完整指南

使用 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 作为集成数据库.
  • 管理进程内存中的执行队列。
独家内容 - 点击这里  如何从安卓、iPhone 和网页版将 WhatsApp 聊天记录导出为 PDF 文件

容器启动后,打开:

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

如何使用 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

登录并打开 平台管理 > 基础设施 > 工作节点至少需要有一个工作进程可用。如果列表为空,则该工作进程可能无法与应用程序通信。

独家内容 - 点击这里  如何在 Windows 和 Mac 上降低 Slack 的内存占用

您还可以查看实时记录:

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 时常见的错误

安装 Activepieces 时常见的错误

docker compose 命令不存在

检查版本:

docker compose version

如果命令失败,请安装 Docker Compose v2。不要自动将该命令替换为 docker-compose因为当前部署不支持 Compose v1。

独家内容 - 点击这里  Meta 希望用您的私人照片来创作人工智能故事:创意提升还是隐私风险?

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 和连接应用程序,同时还能随着工作负载的增加扩展系统。