Skip to content
Cum să-ți faci propriul server de automatizare AI cu n8n pe AWS: modele locale, modele remote și un pipeline real de business
← ← Înapoi la Idei AI

Cum să-ți faci propriul server de automatizare AI cu n8n pe AWS: modele locale, modele remote și un pipeline real de business


Introducere

Imaginează-ți următorul scenariu: un client îți trimite un email cu o cerere de ofertă. În mod automat, AI-ul extrage datele relevante din email, clasifică cererea, generează un draft de ofertă pe baza unui template, îl trimite managerului pe Slack pentru aprobare, și după aprobare, creează factura în sistemul de contabilitate și răspunde clientului. Totul fără intervenție manuală.

Aceasta nu e science fiction — e un pipeline de automatizare pe care îl poți construi cu n8n, un tool open-source de workflow automation, hostat pe propriul tău server AWS, conectat atât la modele AI locale (Ollama, LM Studio) cât și la modele remote (OpenAI, Claude, Gemini).

În acest articol îți arăt cum să faci totul: de la instalarea serverului pe AWS, la conectarea modelelor AI, și până la construirea unui pipeline real de business.


Ce este n8n și de ce contează?

n8n în 30 de secunde

n8n (pronunțat „n-eight-n") este o platformă open-source de workflow automation — gândește-te la ea ca la un Zapier sau Make.com, dar cu trei avantaje majore:

  • Self-hosted — rulează pe serverul tău, datele tale nu pleacă nicăieri
  • Open-source — gratuit pentru Community Edition, fără limite artificiale
  • AI-native — are noduri dedicate pentru agenți AI, embeddings, vector stores, chat models

De ce self-hosted pe AWS?

n8n oferă și o variantă cloud (n8n Cloud, de la $20/lună), dar self-hosting-ul pe AWS îți dă:

  • Control total asupra datelor — esențial pentru GDPR și date sensibile de business
  • Cost redus — un EC2 t3.small costă ~$15/lună (free tier nu include t3.small, dar poți începe cu t3.micro pentru testare)
  • Flexibilitate — poți adăuga oricâte resurse ai nevoie, poți conecta servicii interne
  • Uptime — serverul e mereu online, webhooks-urile funcționează 24/7

Partea 1: Instalarea n8n pe AWS EC2

Ce ai nevoie

  • Un cont AWS (free tier e suficient pentru început)
  • Un domeniu sau subdomeniu (ex: automation.teninvent.ro)
  • Cunoștințe de bază de terminal

Pasul 1: Lansează o instanță EC2

  1. Loghează-te în AWS Console și navighează la EC2.

  2. Click Launch Instance și configurează:

    • Nume: n8n-server
    • AMI: Ubuntu 24.04 LTS
    • Tip instanță: t3.small (2 vCPU, 2GB RAM — minim recomandat pentru n8n cu AI)
    • Key pair: Creează sau selectează o pereche de chei SSH
    • Security Group: Permite porturile 22 (SSH), 80 (HTTP), 443 (HTTPS)
    • Storage: 20GB SSD (gp3)
  3. Lansează instanța și așteaptă să pornească.

Pasul 2: Elastic IP

Alocă un Elastic IP și asociază-l cu instanța ta. Fără asta, IP-ul public se schimbă la fiecare restart, și domeniul nu va mai funcționa.

  1. EC2 → Elastic IPs → Allocate Elastic IP address
  2. Selectează IP-ul alocat → Actions → Associate Elastic IP address
  3. Selectează instanța ta EC2

Pasul 3: Configurează DNS

La registrarul tău de domenii, creează un A record:

Tip: A
Nume: automation (sau n8n, sau ce preferi)
Valoare: [IP-ul tău Elastic]
TTL: 300

Pasul 4: Conectează-te prin SSH și instalează Docker

# Conectare SSH
ssh -i ~/n8n-key.pem ubuntu@IP_TAU_ELASTIC

# Actualizare sistem
sudo apt update && sudo apt upgrade -y

# Instalare Docker
sudo apt install -y docker.io docker-compose
sudo systemctl enable --now docker

# Adaugă user-ul curent la grupul docker
sudo usermod -aG docker $USER
# Reconectează-te pentru a aplica
exit

Pasul 5: Instalează NGINX ca reverse proxy

sudo apt install -y nginx

# Configurare NGINX pentru n8n
sudo tee /etc/nginx/sites-available/n8n << 'EOF'
server {
    listen 80;
    server_name automation.domeniultau.ro;

    location / {
        proxy_pass http://localhost:5678;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        
        # WebSocket support (esențial pentru n8n!)
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
EOF

sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Pasul 6: Instalează certificat SSL cu Certbot

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d automation.domeniultau.ro

Certbot configurează automat HTTPS și redirect de la HTTP.

Pasul 7: Lansează n8n cu Docker Compose

Creează directorul de lucru și fișierele de configurare:

mkdir ~/n8n && cd ~/n8n

# Generează o cheie de criptare (salvează-o!)
ENCRYPTION_KEY=$(openssl rand -base64 24)
echo "Cheia ta: $ENCRYPTION_KEY"

Creează docker-compose.yml:

services:
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: always
    ports:
      - "127.0.0.1:5678:5678"
    environment:
      - N8N_HOST=automation.domeniultau.ro
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://automation.domeniultau.ro/
      - N8N_ENCRYPTION_KEY=CHEIA_TA_AICI
      - GENERIC_TIMEZONE=Europe/Bucharest
      - N8N_RUNNERS_ENABLED=true
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:

Pornește n8n:

docker-compose up -d

Accesează https://automation.domeniultau.ro — ar trebui să vezi ecranul de setup n8n. Creează contul de admin și ai terminat cu instalarea.


Partea 2: Conectarea modelelor AI

Aici devine interesant. n8n suportă nativ mai multe tipuri de modele AI, și le poți folosi pe toate în același workflow.

Modele remote (cloud) — cele mai simple de conectat

OpenAI (GPT-4, GPT-4o)

  1. În n8n, mergi la Settings → Credentials → Add Credential
  2. Selectează „OpenAI API"
  3. Introdu API key-ul de la platform.openai.com
  4. Testează conexiunea

Acum poți folosi nodul OpenAI Chat Model în orice workflow.

Anthropic (Claude)

  1. Add Credential → „Anthropic API"
  2. Introdu API key-ul de la console.anthropic.com
  3. Disponibil ca Anthropic Chat Model în workflows

Google Gemini

  1. Add Credential → „Google Gemini"
  2. Introdu API key-ul din Google AI Studio
  3. Disponibil ca nod de chat model

Când să folosești modele remote:

  • Task-uri complexe de raționament (analiză de contracte, generare de documente lungi)
  • Când ai nevoie de cele mai bune rezultate posibile
  • Task-uri rare care nu justifică hardware local dedicat

Modele locale — zero costuri per request

Pentru modele locale, recomandarea principală este Ollama — un runtime simplu pentru modele locale, perfect integrat cu n8n.

Varianta A: Ollama pe același server AWS

Dacă instanța ta EC2 are suficientă memorie (minim 4GB RAM pentru modele mici), poți rula Ollama direct pe server:

# Instalare Ollama
curl -fsSL https://ollama.ai/install.sh | sh

# Descarcă un model
ollama pull qwen3:8b
ollama pull nomic-embed-text  # pentru embeddings

# Ollama servește pe localhost:11434

În n8n:

  1. Add Credential → „Ollama API"
  2. Base URL: http://localhost:11434
  3. Gata! Poți folosi nodurile Ollama Chat Model și Ollama Embeddings

Varianta B: LM Studio / Ollama de pe mașina ta locală, expus la n8n

Dacă ai un PC puternic acasă sau la birou cu GPU, poți rula modelele acolo și le expui serverului n8n prin internet.

Setup cu Ollama local expus:

# Pe mașina ta locală
OLLAMA_HOST=0.0.0.0 ollama serve

Apoi configurezi un tunel securizat (ex: Cloudflare Tunnel, ngrok, sau VPN) și în n8n pui URL-ul tunelului.

Setup cu LM Studio:

  1. În LM Studio, pornește serverul local (tab Server)
  2. LM Studio servește un API compatibil OpenAI pe localhost:1234
  3. Expune-l printr-un tunel securizat
  4. În n8n, folosește credențialul „OpenAI API" cu Base URL-ul tunelului tău

Varianta C: Modelul local pe alt server AWS dedicat

Pentru producție, cea mai robustă soluție este un EC2 separat cu GPU:

  1. Lansează un EC2 cu GPU (ex: g4dn.xlarge — NVIDIA T4, 16GB VRAM)
  2. Instalează Ollama sau vLLM
  3. Configurează Security Group să permită acces doar de la IP-ul serverului n8n
  4. În n8n, conectează prin IP-ul privat (dacă sunt în același VPC) sau prin HTTPS

Când să folosești modele locale:

  • Procesare de date sensibile (datele nu părăsesc infrastructura ta)
  • Volume mari de requesturi (zero cost per token)
  • Task-uri repetitive: clasificare, extragere de entități, sumarizare scurtă
  • Când vrei independență completă de provideri cloud

Strategia hibridă: cele mai bune din ambele lumi

Abordarea cea mai pragmatică combină ambele tipuri:

| Task | Model | De ce | |------|-------|-------| | Clasificare emailuri | Ollama (Qwen3-8B local) | Volum mare, task simplu, zero cost | | Generare draft ofertă | Claude/GPT-4 (remote) | Calitate maximă pentru output client-facing | | Extragere date din PDF | Ollama (Qwen3-8B local) | Date sensibile, nu trebuie trimise în cloud | | Sumarizare rapoarte | Ollama (Qwen3-14B local) | Volum mare, cost-effective | | Analiză sentiment feedback | Ollama (Qwen3-8B local) | Task simplu, local e suficient | | Generare email de răspuns | Claude (remote) | Tonul și calitatea contează |


Partea 3: Un pipeline real de business — Procesare automată de cereri de ofertă

Să construim un workflow concret. Scenariul: compania ta primește cereri de ofertă pe email. Vrei ca procesul de la primirea emailului până la trimiterea ofertei să fie automatizat cât mai mult.

Arhitectura workflow-ului

[Email primit] 
    → [AI: Clasificare - e cerere de ofertă?]
    → [AI: Extragere date (client, servicii cerute, buget)]
    → [Căutare client în CRM]
    → [AI: Generare draft ofertă]
    → [Notificare Slack pentru aprobare]
    → [La aprobare: Trimitere email către client]
    → [Creare task în project management]
    → [Log în Google Sheets]

Construirea pas cu pas în n8n

Nod 1: Email Trigger

Adaugă un nod Gmail Trigger (sau IMAP Email Trigger) care se activează la fiecare email nou pe adresa de oferte.

Configurare: monitorizează inbox-ul, filtrează pe label sau subiect dacă e necesar.

Nod 2: Clasificare cu AI local

Adaugă un nod AI Agent conectat la Ollama Chat Model (Qwen3-8B). System prompt:

Ești un clasificator de emailuri de business. Primești conținutul unui email 
și trebuie să răspunzi DOAR cu una din categoriile:
- CERERE_OFERTA
- INTREBARE_GENERALA  
- RECLAMATIE
- SPAM
- ALTELE

Răspunde doar cu categoria, nimic altceva.

Trimite conținutul emailului ca input. Acest task e perfect pentru un model local — e simplu, repetitiv, și nu necesită cel mai puternic model.

Nod 3: Router (IF)

Adaugă un nod IF care verifică dacă output-ul clasificării conține „CERERE_OFERTA". Dacă da, continuă pipeline-ul. Dacă nu, rutează către alte workflow-uri (răspuns automat la întrebări, escaladare reclamații, etc.).

Nod 4: Extragere date cu AI local

Alt nod AI Agent cu Ollama. System prompt:

Ești un asistent de extragere a datelor din emailuri de business.
Din emailul primit, extrage următoarele informații în format JSON:

{
  "nume_client": "",
  "email_client": "",
  "companie_client": "",
  "servicii_cerute": [],
  "buget_mentionat": "",
  "termen_dorit": "",
  "detalii_suplimentare": ""
}

Dacă o informație nu e disponibilă, lasă câmpul gol.
Răspunde DOAR cu JSON-ul, fără text suplimentar.

Din nou, model local — datele sunt sensibile (informații despre clienți).

Nod 5: Căutare în CRM

Adaugă un nod HTTP Request sau un nod dedicat (Airtable, HubSpot, Notion) care caută clientul în baza ta de date. Dacă clientul există, preia istoricul de colaborare.

Nod 6: Generare draft ofertă cu AI remote

Acum trecem la un model puternic. Adaugă un nod AI Agent conectat la Claude sau GPT-4. System prompt:

Ești un consultant de vânzări pentru compania TEN INVENT, 
o firmă de consultanță IT și dezvoltare software.

Generează un draft de ofertă profesional bazat pe:
- Datele clientului: {{datele extrase la nod 4}}
- Istoricul clientului: {{datele din CRM la nod 5}}
- Serviciile cerute: {{din extragere}}

Oferta trebuie să fie:
- Profesională și caldă ca ton
- Structurată cu: introducere, descrierea serviciilor propuse, 
  timeline estimat, cost orientativ, termeni
- În limba română

Nu include prețuri exacte — lasă [PREȚ DE COMPLETAT] 
unde managerul trebuie să decidă.

Folosim un model remote aici pentru că output-ul ajunge direct la client — calitatea contează maxim.

Nod 7: Notificare Slack

Adaugă un nod Slack care trimite mesaj într-un canal dedicat (ex: #oferte-noi):

🆕 Cerere de ofertă nouă!
Client: {{nume_client}} ({{companie_client}})
Servicii: {{servicii_cerute}}
Draft ofertă: [link către draft]

Reacționează cu ✅ pentru a aproba trimiterea.

Nod 8: Wait for Approval

Adaugă un nod Wait care așteaptă o confirmare — fie prin webhook (dacă ai un buton de aprobare), fie prin verificarea reacției pe Slack la un interval regulat.

Nod 9: Trimitere email

La aprobare, un nod Gmail (Send Email) trimite oferta către client, cu template-ul companiei.

Nod 10: Post-procesare

Noduri paralele care:

  • Creează un task în Notion / Trello / Asana pentru follow-up
  • Adaugă o linie în Google Sheets pentru tracking
  • Actualizează statusul în CRM

Rezultat

Un proces care lua 45 de minute (citire email → căutare client → scriere ofertă → aprobare → trimitere → logare) se reduce la 2 minute de revizuire și un click de aprobare. Restul e automat.


Alte pipeline-uri de business pe care le poți construi

Odată ce ai n8n configurat cu modele AI, posibilitățile sunt practic nelimitate:

Monitorizare social media: Webhook de la platforme → AI clasifică sentimentul → Alerte pe mențiuni negative → Generare răspuns sugerat

Onboarding clienți: Formular completat → AI extrage cerințele → Generare plan de proiect → Creare spații în Notion → Email de bun venit personalizat

Suport tehnic nivel 1: Email/chat de la client → AI clasifică problema → Căutare în knowledge base (RAG) → Generare răspuns → Dacă confidence scăzut, escaladare la om

Procesare facturi: Email cu factură atașată → AI extrage date din PDF → Validare → Înregistrare în contabilitate → Notificare pentru aprobare plată

Content marketing: Calendar editorial → AI generează draft articol → Review uman → Publicare pe blog → Distribuire pe social media → Tracking engagement


Sfaturi pentru producție

Securitate

  • Folosește HTTPS obligatoriu (deja configurat cu Certbot)
  • Configurează autentificare n8n cu parolă puternică
  • Limitează accesul la Security Group — doar IP-urile necesare
  • Nu expune Ollama direct pe internet — doar prin rețeaua internă sau VPN
  • Stochează API keys în n8n Credentials, nu în workflow-uri

Backup și persistență

# Backup automat al datelor n8n (adaugă în crontab)
0 2 * * * docker exec n8n tar czf /tmp/n8n-backup.tar.gz /home/node/.n8n \
  && docker cp n8n:/tmp/n8n-backup.tar.gz ~/backups/n8n-$(date +%Y%m%d).tar.gz

Monitorizare

  • Setează un health check simplu cu un workflow n8n care se auto-pingează
  • Folosește CloudWatch (gratuit în AWS) pentru monitorizare CPU/RAM a instanței
  • Configurează alerte dacă instanța se oprește

Costuri

Un setup realist pentru o firmă mică:

| Componentă | Cost lunar | |------------|-----------:| | EC2 t3.small (n8n) | ~$15/lună (t3.micro e ~$7-10, dar cu mai puțin RAM) | | Elastic IP | $0 (gratuit când e atașat) | | Domeniu | ~$1 (amortizat pe lună) | | OpenAI API (utilizare moderată) | $5-20 | | Claude API (utilizare moderată) | $5-15 | | Total | $25-50/lună |

Compară cu: angajat part-time care face manual aceleași task-uri = câteva mii de euro/lună. ROI-ul e evident.


Concluzie

n8n pe AWS cu modele AI hibride (locale + remote) este probabil cel mai bun raport cost/valoare pe care îl poți obține pentru automatizarea proceselor de business în 2026. Ai control total asupra datelor, costuri predictibile, și flexibilitate să combini modele locale gratuite cu modele remote puternice — fiecare folosit acolo unde are cel mai mult sens.

Setup-ul inițial durează câteva ore. Primul workflow îl construiești într-o oră. Iar de acolo, fiecare nou pipeline adaugat este timp economisit în fiecare zi.

Începe simplu: instalează n8n, conectează un model, automatizează un singur proces. Când vezi prima dată cum 10 minute de muncă manuală se transformă în 10 secunde de execuție automată, nu te mai oprești.


Acest articol a fost scris ca parte a seriei de publicații tehnice de pe blogul TEN INVENT. Dacă ai nevoie de ajutor pentru a implementa automatizări AI în compania ta, contactează-ne.