−25%

cho Windows trả theo năm, đến 31/10. Xem các gói

EQVPS
Bắt đầu

VPS cho Activepieces: tự động hóa của riêng bạn

Chạy Activepieces, công cụ tự động hóa mã nguồn mở, trên máy chủ riêng: không tính phí theo tác vụ, webhook trên tên miền của bạn. Cài đặt đã kiểm thử.

Các dịch vụ tự động hóa dạng hosted tính phí theo tác vụ, và đồng hồ vẫn chạy cả với những thứ chẳng phải công việc. Một flow kiểm tra feed năm phút một lần đã là 8.640 lượt chạy mỗi tháng trước khi nó làm được việc gì hữu ích. Chạy cùng flow đó trên máy chủ của bạn, và hóa đơn chỉ là máy chủ.

Activepieces là công cụ tự động hóa mã nguồn mở: trigger, các bước, nhánh rẽ, vài trăm tích hợp có sẵn, cùng bước code khi những thứ có sẵn không đủ. Bản community dùng giấy phép MIT và chạy ổn trên một máy chủ nhỏ với Docker Compose.

Chọn gói nào

Chúng tôi cài nó lên máy chủ thử nghiệm và đo. File compose mặc định chạy ứng dụng và năm worker: khoảng 2,6–3 GB RAM tính cả Postgres và Redis. Giảm xuống một worker thì còn khoảng 1,6 GB.

Bạn chạy gìGói
Vài flow cá nhân, một workerMicro-IP: 2 vCPU, 2 GB, 25 GB ($10/tháng), thêm swap
Cấu hình mặc định: năm worker, flow của nhóm, webhookSmall-IP: 4 vCPU, 4 GB, 35 GB ($16/tháng)
Nhiều lượt chạy cùng lúc, bước code nặngMedium-IP: 6 vCPU, 6 GB, 45 GB ($20/tháng)

Hãy chọn gói có IPv4 riêng. Webhook là lý do chính để tự host công cụ này, và các dịch vụ gọi chúng phải tới được cổng 80 và 443; trên gói NAT, từ bên ngoài chỉ vào được cổng SSH. Có hai vị trí là Đức và Phần Lan; tình trạng còn chỗ hiển thị khi đặt hàng. Có thể thanh toán bằng crypto, không cần KYC.

Cài đặt

Trước tiên trỏ một tên miền — ví dụ flows.example.com — về máy chủ. Sau đó, với quyền root trên Ubuntu 24.04 hoặc Debian 12:

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 sao chép .env.example thành .env và điền các bí mật ngẫu nhiên. Trước lần khởi động đầu tiên, đổi hai dòng trong .env và một dòng trong file compose:

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

Dòng đầu tiên mới là dòng quan trọng. AP_FRONTEND_URL không chỉ dùng cho liên kết trong giao diện: các worker kết nối tới ứng dụng thông qua nó. Để nguyên http://localhost:8080 thì mỗi container worker sẽ tìm ứng dụng bên trong chính nó, không thấy, và flow của bạn không bao giờ được xuất bản. Chúng tôi gặp đúng như vậy: «Socket.IO connection error» trong log của worker, yêu cầu xuất bản bị treo và webhook trả về 404. Với tên miền thật, cùng flow đó đã xuất bản và webhook chạy được.

Lệnh sed trên docker-compose.yml giữ cổng 8080 ở localhost. Các cổng Docker công bố sẽ đi vòng qua ufw, nên nếu thiếu dòng này, ứng dụng sẽ mở trên một cổng trần ngay cạnh HTTPS của bạn.

Trên Micro-IP, giảm luôn xuống một worker:

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

Giờ là HTTPS và khởi động:

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

Chờ khoảng nửa phút, mở https://flows.example.com và tạo tài khoản ngay. Người đăng ký đầu tiên sở hữu nền tảng; sau đó chỉ có thể đăng ký qua lời mời.

Kiểm tra webhook hoạt động

Tạo một flow với trigger Webhook (Catch Webhook), thêm một bước bất kỳ rồi xuất bản. Bảng trigger hiển thị URL. Gửi một sự kiện thử tới đó:

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

Bạn sẽ nhận được 200, và lượt chạy xuất hiện trong Runs với trạng thái thành công. Nếu nhận 404, hãy quay lại kiểm tra AP_FRONTEND_URL.

Vận hành lâu dài

  • Cập nhật. File compose ghim một phiên bản cụ thể (0.92.2 vào thời điểm viết bài). Đổi tag trong docker-compose.yml, sau đó chạy docker compose -p activepieces pull && docker compose -p activepieces up -d. Hãy lướt release notes trước; các công cụ tự động hóa rất thích đổi tên mọi thứ.
  • Sao lưu. Flow, kết nối và lịch sử chạy nằm trong volume của Postgres. Dump theo lịch và giữ bản sao ngoài máy chủ — các kết nối chứa token API của bạn cho những dịch vụ khác.
  • Bước code không chạy trong sandbox ở cấu hình này (AP_EXECUTION_MODE=UNSANDBOXED). Máy chủ của bạn, flow của bạn, nên vẫn chấp nhận được. Nó không còn chấp nhận được ngay khi bạn cho những người bạn không tin tưởng xây dựng flow.

Nếu bạn đã biết n8n thì ý tưởng cũng vậy — xem VPS cho n8n. Hãy chọn trình soạn thảo mà bạn thấy dễ suy nghĩ hơn; cả hai đều chạy tốt trên cùng các gói.

Liên quan

Sẵn sàng triển khai? Thanh toán bằng crypto, không KYC — trực tuyến trong khoảng một phút.

Triển khai ngay →

FAQ

Activepieces cần bao nhiêu RAM?

File docker-compose.yml mặc định chạy ứng dụng cùng năm worker; trên máy chủ thử nghiệm của chúng tôi, tính cả Postgres và Redis là khoảng 2,6–3 GB. Với một worker thì khoảng 1,6 GB. Small-IP (4 GB) chạy cấu hình mặc định còn dư; Micro-IP (2 GB) chỉ chạy được với một worker và một file swap.

Flow không xuất bản được và webhook trả về 404. Lỗi ở đâu?

Kiểm tra AP_FRONTEND_URL. Worker kết nối tới ứng dụng qua địa chỉ này, và nếu nó vẫn là http://localhost:8080 thì «localhost» bên trong container worker chính là worker đó. Chúng không kết nối được, việc xuất bản bị treo và webhook trả về 404. Hãy đặt tên miền https:// thật của bạn trước lần khởi động đầu tiên.

Tôi có cần IP riêng không?

Có, nếu bạn dùng webhook — mà hầu như ai cũng dùng. Các dịch vụ gọi flow của bạn phải tới được cổng 80 và 443 trên tên miền của bạn, còn gói NAT từ bên ngoài chỉ nhận cổng SSH của bạn.

Ai cũng có thể đăng ký trên instance của tôi sao?

Chỉ người đầu tiên. Trong thử nghiệm của chúng tôi, lượt đăng ký đầu tiên thành công còn lượt thứ hai nhận «User is not invited to the platform»: sau tài khoản đầu tiên, chỉ có thể đăng ký qua lời mời. Vì vậy hãy tạo tài khoản ngay khi trang web lên, trước khi người khác tìm thấy trang.

Các bước code có được cô lập không?

Mặc định thì không: cấu hình compose chạy các bước code với AP_EXECUTION_MODE=UNSANDBOXED, ngay bên trong worker. Như vậy vẫn ổn khi chỉ bạn và những người bạn tin tưởng xây dựng flow. Đừng cấp quyền vào trình soạn thảo cho người lạ trên bản cài này.

Bình luận

Chưa có bình luận nào. Hãy là người đầu tiên.

Để lại bình luận

Bình luận được kiểm duyệt trước khi hiển thị.