Хмарні сервіси автоматизацій беруть гроші за кожне завдання, і лічильник крутиться навіть на тому, що роботою назвати важко. Потік, який раз на п'ять хвилин перевіряє стрічку, — це 8 640 запусків на місяць ще до того, як він зробив щось корисне. Запустіть той самий потік на своєму сервері — і платити ви будете тільки за сервер.
Activepieces — відкритий конструктор автоматизацій: тригери, кроки, розгалуження, кілька сотень готових інтеграцій і кроки з кодом, коли готових не вистачає. Community-версія під ліцензією MIT, і на одному невеликому сервері з Docker Compose вона живе спокійно.
Який тариф
Ми поставили його на тестовий сервер і заміряли. Стандартний compose-файл запускає застосунок і п'ять воркерів: разом із Postgres і Redis виходить близько 2,6–3 ГБ RAM. З одним воркером — приблизно 1,6 ГБ.
| Що запускаєте | Тариф |
|---|---|
| Кілька особистих потоків, один воркер | Micro-IP — 2 vCPU, 2 ГБ, 25 ГБ ($10/міс), плюс swap |
| Стандартна схема: п'ять воркерів, потоки команди, вебхуки | Small-IP — 4 vCPU, 4 ГБ, 35 ГБ ($16/міс) |
| Багато запусків одночасно, важкі кроки з кодом | Medium-IP — 6 vCPU, 6 ГБ, 45 ГБ ($20/міс) |
Беріть тариф зі своєю IPv4. Вебхуки — головна причина тримати все це в себе, а сервіси, які їх викликають, мають достукатися до портів 80 і 443; на тарифах NAT ззовні доступний лише SSH-порт. Локації — Німеччина і Фінляндія, доступність видно під час замовлення. Платити можна криптою, KYC немає.
Встановлення
Спершу спрямуйте на сервер домен — нехай буде flows.example.com. Потім від root на Ubuntu 24.04 або 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 копіює .env.example у .env і заповнює випадкові секрети. До першого запуску змініть два рядки в .env і один у 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
Важливий саме перший рядок. AP_FRONTEND_URL потрібен не лише для посилань в інтерфейсі: через нього воркери підключаються до застосунку. Залиште http://localhost:8080 — і кожен контейнер воркера шукатиме застосунок усередині себе, не знайде, і ваші потоки так і не опублікуються. Ми саме на це й натрапили: «Socket.IO connection error» у логах воркера, запит на публікацію, що завис, і вебхуки, які відповідали 404. Зі справжнім доменом той самий потік опублікувався, і вебхук спрацював.
sed по docker-compose.yml лишає порт 8080 на localhost. Порти, які публікує Docker, проходять повз ufw, тож без цього застосунок був би відкритий на голому порту поряд із вашим HTTPS.
На Micro-IP також залиште один воркер:
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
Зачекайте з пів хвилини, відкрийте https://flows.example.com і одразу створіть свій акаунт. Хто зареєструвався першим, той і власник платформи; далі реєстрація лише за запрошеннями.
Перевірте, що вебхуки працюють
Створіть потік із тригером 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. Спершу перегляньте release notes: інструменти автоматизації люблять щось перейменовувати. - Бекапи. Потоки, підключення та історія запусків лежать у томі Postgres. Знімайте дамп за розкладом і тримайте копію поза сервером — у підключеннях ваші API-токени від інших сервісів.
- Кроки з кодом не ізольовані в цій схемі (
AP_EXECUTION_MODE=UNSANDBOXED). Сервер ваш і потоки ваші, тож це прийнятно. Перестає бути прийнятним тієї миті, коли ви пускаєте збирати потоки людей, яким не довіряєте.
Якщо ви вже знаєте n8n, ідея та сама — див. VPS для n8n. Обирайте редактор, у якому вам легше думати; обидва добре почуваються на тих самих тарифах.
За темою
- VPS для n8n — другий великий інструмент автоматизації на своєму сервері
- Кілька сервісів на одному VPS — Activepieces поруч із вашим застосунком і дашбордом, одна IP-адреса
- VPS для Docker
- Як додати swap на VPS
- Як налаштувати файрвол ufw
Коментарі
Поки немає коментарів. Будьте першим.