Automatyzacje na własnym serwerze: n8n w praktyce
Juliusz Tomeczek,
W poprzednim odcinku tej serii opisałem monitor, który pilnuje moich stron, i zapowiedziałem narzędzie, które łączy ze sobą pozostałe programy na moim serwerze. Tym narzędziem jest n8n (otwiera się w nowej karcie), platforma do budowania automatyzacji, którą można zainstalować na własnym serwerze albo wykupić w chmurze jej twórców. n8n wykonuje za mnie powtarzalną pracę: przenosi dane z jednego programu do drugiego, zamienia surowe wyniki w czytelne wiadomości i powiadamia mnie, gdy coś wymaga mojej uwagi.
Opisuję, do czego go używam i w czym potrafi zawieść. Nie podaję listy przepływów, adresów ani ustawień z tego samego powodu co przy monitoringu, bo taki wykaz byłby mapą zaplecza dla każdego, kto chciałby się do niego dobrać.
Jak działa przepływ
Automatyzację w n8n buduje się na kanwie: kolejne kroki układa się jak klocki i łączy strzałkami, a cały zestaw kroków nazywa się przepływem. Każdy przepływ zaczyna się od wyzwalacza, czyli zdarzenia, na które n8n czeka. Może to być zmiana w innym programie, termin w kalendarzu albo zapytanie z zewnątrz, na przykład z formularza na stronie. Kolejne kroki pobierają dane, przekształcają je i przekazują dalej.
Prosty przykład wygląda tak: ktoś wypełnia formularz na stronie, n8n zapisuje zgłoszenie w programie do obsługi klientów i wysyła mi powiadomienie. Bez automatu te trzy czynności wykonywałbym ręcznie przy każdym zgłoszeniu.
(powiększ)n8n ma setki gotowych połączeń z popularnymi programami i usługami. Gdy połączenia brakuje, krok może wysłać zwykłe zapytanie do interfejsu programu albo wykonać kilka wierszy własnego kodu. n8n potrafi też przekazać dane modelowi językowemu i działać jako agent sztucznej inteligencji, ale większość codziennej pracy wykonują zwykłe kroki, które za każdym razem robią to samo.
Przepływy buduje dziś Claude Code
Jeszcze niedawno zbudowanie przepływu zajmowało godziny: trzeba było dobrać kroki, ustawić w nich pola i szukać przyczyny, dla której dane nie trafiają tam, gdzie powinny. Dziś tę pracę wykonuje u mnie Claude Code, czyli asystent programisty oparty na modelu językowym, połączony bezpośrednio z n8n. Opisuję zwykłymi słowami, co przepływ ma robić, a Claude Code dobiera kroki, ustawia je i zapisuje gotowy przepływ w n8n. Tak powstał również przykład z rysunku powyżej.
Najwięcej daje połączenie Claude Code z drugim mózgiem, czyli uporządkowaną bazą wiedzy o moich projektach, serwerze i decyzjach. Po zbudowaniu przepływu Claude Code zapisuje w niej, co przepływ robi, jak działa i dlaczego powstał. Przy kolejnej pracy wie więc, jakie przepływy już działają i z jakiego powodu, a z opisu programów na serwerze sam podpowiada, jakich przepływów brakuje i którą powtarzalną czynność warto powierzyć automatowi.
(powiększ)Ostatnie słowo zostawiam jednak sobie. Przepływ zbudowany przez model sprawdzam tak samo jak przepływ zbudowany ręcznie, a publikację, która dopiero go uruchamia, wykonuję sam. Powody opisuję niżej, w części o granicach n8n.
Co zastępuje i co to oznacza dla kosztów
Najbardziej znane usługi tego rodzaju, takie jak Zapier i Make, działają w chmurze, a ich dostawcy rozliczają klienta z liczby kroków, które wykonają jego automatyzacje. Każda nowa automatyzacja i każdy dodatkowy krok zużywają więc abonament szybciej. Twórcy n8n w swojej chmurze liczą wykonania całego przepływu, niezależnie od liczby kroków. Na własnym serwerze nie płacę opłaty licencyjnej wcale, a kosztem jest serwer, który i tak utrzymuję, oraz czas poświęcony na aktualizacje.
(powiększ)Drugi powód waży więcej niż koszt. Gdy automatyzacja działa w cudzej chmurze, wszystkie dane, które przez nią płyną, przechodzą też przez serwery jej dostawcy: zgłoszenia z formularzy, adresy e-mail i dane klientów. Na własnym serwerze te dane zostają u mnie.
Kod n8n jest jawny, ale n8n nie jest programem open source. Licencja, którą twórcy nazywają modelem fair-code, pozwala używać programu we własnej firmie i prywatnie, lecz nie pozwala odsprzedawać go innym jako usługi. Firmie, która automatyzuje własną pracę, to ograniczenie nie przeszkadza, ale warto je znać przed zbudowaniem na n8n produktu dla klientów.
Co n8n robi u mnie
(powiększ)Raporty o stanie serwera. Skrypty, które regularnie sprawdzają serwer, oddają surowe dane: liczby, stany i daty. n8n odbiera je, porównuje z progami i zamienia w krótką wiadomość na komunikatorze, którą da się przeczytać w kilka sekund. To właśnie te raporty zapowiedziałem w artykule o monitoringu.
Projekty i czas pracy. Gdy zakładam nowy projekt w programie do prowadzenia projektów, n8n zakłada go także w programie do rozliczania czasu pracy. Nie przepisuję nazw ręcznie, więc nie powstaje rozjazd między tym, nad czym pracuję, a tym, za co rozliczam godziny. Oba programy dostaną w tej serii własne odcinki.
Formularze na stronie. Zapis na newsletter i wiadomość z formularza kontaktowego trafiają przez n8n do systemu wysyłki newslettera i do programu do obsługi klientów, a do mnie przychodzi tylko powiadomienie z odnośnikiem do zgłoszenia. Dane osób, które wypełniły formularz, nie przechodzą przez żadną zewnętrzną usługę automatyzacji.
Powiadomienie o błędzie. Osobny przepływ czuwa nad pozostałymi. Gdy któryś z nich zatrzyma się na błędzie, dostaję o tym wiadomość, więc wiem, że jakieś dane nie dotarły tam, gdzie powinny.
Gdzie są granice
Zielony znacznik nie znaczy, że się udało. n8n oznacza krok na zielono, gdy krok się wykonał, a nie wtedy, gdy osiągnął cel. Jeżeli krok jest ustawiony tak, żeby błąd nie przerywał przepływu, program po drugiej stronie może odmówić przyjęcia danych, a kanwa i tak pokaże zielony znacznik. O wyniku rozstrzyga odpowiedź tego programu, więc to ją trzeba czytać, a nie kolor na kanwie.
Zapisana zmiana to jeszcze nie wdrożona zmiana. Działający przepływ wykonuje wersję, która została opublikowana. Poprawka zapisana w edytorze nie zmienia działania przepływu, dopóki nie zostanie on opublikowany ponownie. Łatwo więc poprawić błąd, a potem przez kilka dni szukać przyczyny, dla której poprawka nie działa.
Klucz, bez którego kopia nic nie da. Hasła i klucze dostępu do innych programów n8n przechowuje w postaci zaszyfrowanej. Kopia zapasowa bez klucza szyfrującego odtworzy przepływy, ale nie połączenia, i każde z nich trzeba będzie skonfigurować od nowa. Klucz należy więc przechowywać osobno i tak samo starannie jak samą kopię. Kopiom zapasowym poświęcę osobny odcinek.
Automat, który milczy. Gdy raport nie przychodzi, może to znaczyć, że wszystko jest w porządku, albo że automat przestał działać. Dlatego monitor dostępności sprawdza także n8n, tak samo jak moje strony, a błędy przepływów mają własne powiadomienie. Narzędzie, które pilnuje innych, samo też potrzebuje strażnika.
Czy mała firma potrzebuje własnego n8n
Kilka prostych automatyzacji obsłuży usługa w chmurze i nie warto dla nich stawiać serwera. Własna instalacja zaczyna się opłacać, gdy automatyzacji przybywa, gdy przechodzą przez nie dane osobowe albo gdy łączą programy, które i tak działają na własnym serwerze. Wtedy rachunek za kroki w chmurze rośnie z miesiąca na miesiąc, a dane klientów krążą przez kolejną firmę, którą trzeba uwzględnić w dokumentacji ochrony danych.
Stawiam n8n dla firm na ich własnych serwerach, razem z przepływami dopasowanymi do programów, z których korzystają. Zakres tej pracy opisuje strona Własny serwer zamiast abonamentów.
Co dalej w tej serii
W następnym odcinku opiszę narzędzie do prowadzenia projektów, które działa na moim serwerze zamiast w cudzej chmurze. To z niego n8n przenosi nowe projekty do programu do rozliczania czasu pracy.
Tematy:
Ten tekst powstał z użyciem narzędzi sztucznej inteligencji, bo tak pracuję na co dzień i tego uczę. Każde twierdzenie w nim sprawdziłem i odpowiadam za nie z imienia i nazwiska. Rysunki w tym dziale powstały tak samo: są wektorowe, napisane jako kod przy tej samej pomocy. Zrzuty ekranu pokazują prawdziwe programy i robię je sam.
Juliusz Tomeczek, JT CONSULTING