−25%

Windows 年払い、10月31日まで。 プランを見る

EQVPS
始める

Activepieces 用 VPS:自前で動かす自動化

オープンソースの自動化ビルダー Activepieces を自分のサーバーで。タスク課金なし、Webhook は自分のドメインで。検証済みの手順と URL の落とし穴。

ホスティング型の自動化サービスはタスク単位で課金し、メーターは仕事とも呼べないことにまで回ります。5 分ごとにフィードを確認するフローは、何か役に立つことをする前の時点で月 8,640 回の実行です。同じフローを自分のサーバーで動かせば、請求はサーバー代だけです。

Activepieces はオープンソースの自動化ビルダーです。トリガー、ステップ、分岐、数百の既製インテグレーションがあり、既製品で足りないときはコードステップも書けます。コミュニティ版は MIT ライセンスで、Docker Compose を使えば小さなサーバー 1 台で問題なく動きます。

どのプランを選ぶか

テストサーバーにインストールして測定しました。標準の compose ファイルはアプリと 5 つの worker を起動し、Postgres と Redis を合わせて約 2.6〜3 GB の RAM を使います。worker を 1 つに減らすと約 1.6 GB まで下がります。

動かすものプラン
個人用のフローをいくつか、worker 1 つMicro-IP:2 vCPU、2 GB、25 GB(月額 $10)、swap を追加
標準構成:worker 5 つ、チームのフロー、WebhookSmall-IP:4 vCPU、4 GB、35 GB(月額 $16)
多数の同時実行、重いコードステップMedium-IP:6 vCPU、6 GB、45 GB(月額 $20)

専用の IPv4 付きプランを選んでください。これを自前で運用する一番の理由は Webhook で、それを呼び出すサービスはポート 80 と 443 に届く必要があります。NAT プランでは外部から届くのは SSH ポートだけです。ロケーションはドイツとフィンランドで、空き状況は注文時に表示されます。暗号資産で支払えて、KYC はありません。

インストール

まずドメイン(例として flows.example.com)をサーバーに向けます。次に Ubuntu 24.04 または Debian 12 で root として:

curl -fsSL https://get.docker.com | sh
git clone --depth 1 https://github.com/activepieces/activepieces.git
cd activepieces
sh tools/deploy.sh

deploy.sh は .env.example を .env にコピーし、ランダムなシークレットを書き込みます。初回起動の前に、.env の 2 行と compose ファイルの 1 行を変更します:

sed -i 's|^AP_FRONTEND_URL=.*|AP_FRONTEND_URL=https://flows.example.com|; s|^AP_TELEMETRY_ENABLED=.*|AP_TELEMETRY_ENABLED=false|' .env
sed -i "s|- '8080:80'|- '127.0.0.1:8080:80'|" docker-compose.yml

大事なのは 1 行目です。AP_FRONTEND_URL は画面上のリンクのためだけのものではありません。worker はこのアドレスを通ってアプリに接続します。http://localhost:8080 のままにすると、各 worker コンテナは自分の中でアプリを探し、見つけられず、フローはいつまでも公開されません。私たちもまさにそうなりました。worker のログに «Socket.IO connection error»、止まったままの公開リクエスト、404 を返す Webhook。本物のドメインに変えると、同じフローが公開され、Webhook も動きました。

docker-compose.yml に対する sed は、ポート 8080 を localhost に限定します。Docker が公開したポートは ufw をすり抜けるため、これがないとアプリが HTTPS の横でむき出しのポートに公開されてしまいます。

Micro-IP では worker も 1 つに減らします:

sed -i 's/replicas: 5/replicas: 1/' docker-compose.yml

次に HTTPS と起動です:

apt install -y caddy
cat > /etc/caddy/Caddyfile <<'EOF'
flows.example.com {
    reverse_proxy 127.0.0.1:8080
}
EOF
systemctl reload caddy
ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp && ufw enable
docker compose -p activepieces up -d

30 秒ほど待ってから https://flows.example.com を開き、すぐにアカウントを作ってください。最初に登録した人がプラットフォームの所有者になり、それ以降の登録は招待制です。

Webhook が動くか確認する

Webhook トリガー(Catch Webhook)を使ったフローを作り、適当なステップを追加して公開します。トリガーのパネルに URL が表示されます。そこにテストイベントを送ります:

curl -X POST https://flows.example.com/api/v1/webhooks/YOUR_FLOW_ID \
  -H 'content-type: application/json' \
  -d '{"event":"payment.paid","amount":16}'

200 が返り、Runs に実行が成功として表示されるはずです。404 が返ってきたら、戻って AP_FRONTEND_URL を確認してください。

運用のメモ

  • アップデート。 compose ファイルは正確なバージョンを固定しています(執筆時点で 0.92.2)。docker-compose.yml のタグを変えてから docker compose -p activepieces pull && docker compose -p activepieces up -d を実行します。先にリリースノートに目を通してください。自動化ツールは名前を変えるのが好きです。
  • バックアップ。 フロー、接続、実行履歴は Postgres のボリュームにあります。定期的にダンプを取り、コピーはサーバーの外に保管してください。接続にはほかのサービス用の API トークンが入っています。
  • コードステップはサンドボックス化されていません(この構成では AP_EXECUTION_MODE=UNSANDBOXED)。自分のサーバーで自分のフローなので、これは許容範囲です。信頼できない人にフローを作らせた瞬間に、許容範囲ではなくなります。

n8n をすでに知っているなら、考え方は同じです。n8n 向け VPS をご覧ください。考えやすいほうのエディターを選べば十分で、どちらも同じプランで快適に動きます。

関連記事

デプロイの準備はできましたか?暗号通貨で支払い、KYC不要 — 約1分でオンライン。

今すぐデプロイ →

FAQ

Activepieces にはどれくらい RAM が必要ですか?

標準の docker-compose.yml はアプリと 5 つの worker を起動します。私たちのテストサーバーでは、Postgres と Redis を含めて約 2.6〜3 GB でした。worker を 1 つにすると約 1.6 GB です。Small-IP(4 GB)なら標準構成を余裕をもって動かせます。Micro-IP(2 GB)は worker 1 つと swap ファイルがある場合に限って動きます。

フローが公開できず、Webhook が 404 を返します。何が悪いのですか?

AP_FRONTEND_URL を確認してください。worker はこのアドレスを通ってアプリに接続します。http://localhost:8080 のままだと、worker コンテナ内の «localhost» は worker 自身を指します。接続できず、公開は止まったままになり、Webhook は 404 を返します。初回起動の前に、本当の https:// ドメインを設定してください。

専用の IP は必要ですか?

Webhook を使うなら必要です。そしてほとんどの人が使います。フローを呼び出すサービスはドメインのポート 80 と 443 に届く必要がありますが、NAT プランが外部から受け付けるのは SSH ポートだけです。

誰でも私のインスタンスに登録できてしまいますか?

最初の 1 人だけです。私たちのテストでは、最初の登録は通り、2 人目は «User is not invited to the platform» を受け取りました。最初のアカウント以降、登録は招待制になります。ですから、サイトが立ち上がったらすぐ、ほかの誰かがページに来る前に自分のアカウントを作ってください。

コードステップは隔離されていますか?

既定では隔離されていません。compose 構成はコードステップを AP_EXECUTION_MODE=UNSANDBOXED で worker の中で直接実行します。フローを作るのが自分と信頼できる人だけなら問題ありません。この構成で見知らぬ人にエディターへのアクセスを渡さないでください。

コメント

まだコメントはありません。最初になりましょう。

コメントを残す

コメントは表示される前にモデレートされます。