Облачные сервисы автоматизаций берут деньги за каждую задачу, и счётчик крутится даже на том, что работой назвать трудно. Поток, который раз в пять минут проверяет ленту, — это 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), добавьте любой шаг и опубликуйте. Адрес покажет панель триггера. Отправьте на него тестовое событие:
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. Делайте дамп по расписанию и храните копию не на этом сервере — в подключениях лежат ваши токены от других сервисов.
- Шаги с кодом не изолированы в этой схеме (
AP_EXECUTION_MODE=UNSANDBOXED). Сервер ваш и потоки ваши — терпимо. Перестаёт быть терпимым в тот момент, когда собирать потоки вы пускаете людей, которым не доверяете.
Если вы уже знаете n8n, идея та же — загляните в VPS для n8n. Выбирайте редактор, в котором вам проще думать; на одних и тех же тарифах оба чувствуют себя нормально.
По теме
- VPS для n8n — второй большой инструмент автоматизации, который ставят у себя
- Несколько сервисов на одном VPS — Activepieces рядом с вашим приложением и дашбордом, на одном IP
- VPS для Docker
- Как добавить swap на VPS
- Как настроить файрвол ufw
Комментарии
Пока нет комментариев. Будьте первым.