SSD Nodes Learn 🎉 VPS $5.50/నెల నుండి
మార్గదర్శకాలు Matt Connorద్వారా Matt Connor · అప్‌డేట్ చేయబడింది 2026-08-13

n8n కి ఉత్తమమైన self-hosted ప్రత్యామ్నాయాలు ఏవి?

Activepieces, Windmill, Node-RED, Automatisch మరియు Huginn వంటి సాధనాలను n8n తో పోల్చండి. వీటి లైసెన్స్, RAM వినియోగం, డేటాబేస్ అవసరాలు మరియు బ్యాకప్ సమస్యల గురించి పూర్తి వివరాలు.

n8n కు ప్రత్యామ్నాయంగా దేనిని ఉపయోగించాలి

VPS (virtual private server) పై n8n కు బదులుగా ఉపయోగించదగిన, సమర్థవంతమైన self-hosted ప్రత్యామ్నాయాలు: Activepieces, Windmill, Node-RED, Automatisch మరియు Huginn. చాలామంది n8n ను ఉపయోగించే విధానానికి Activepieces అత్యంత దగ్గరి ప్రత్యామ్నాయం, దీని కోర్ MIT లైసెన్స్‌తో లభిస్తుంది. కాన్వాస్‌పై బాక్సులను డ్రాగ్ చేయడం కంటే Python లేదా TypeScript కోడ్ రాయడానికి ఇష్టపడే టీమ్‌లకు Windmill బాగా సరిపోతుంది. Node-RED చాలా చిన్నది, దీనికి ఎటువంటి database అవసరం లేదు.

చాలామంది వినియోగదారులు ప్రస్తుతం ఉన్న దానిలోనే కొనసాగడం మంచిది. n8n లైసెన్స్ అంతర్గత వ్యాపార అవసరాలకు అనుమతినిస్తుంది, కాబట్టి మీరు మీ స్వంత కంపెనీ కోసం flows నడుపుతుంటే, లైసెన్స్ మీకు ఎటువంటి సమస్య కాదు. అలాగే, migration ఉచితం కాదు. ఈ జాబితాలో ఉన్న ఏదీ n8n ఎగుమతిని (export) నేరుగా చదవలేదు, కాబట్టి మీరు ప్రతి flow ను మాన్యువల్‌గా తిరిగి నిర్మించాలి మరియు ప్రతి credential ను మళ్ళీ నమోదు చేయాలి. n8n ను ఇన్‌స్టాల్ చేయడం అనేది ఒక ప్రత్యేక ప్రక్రియ, దీని గురించి Docker మరియు HTTPS తో VPS పై n8n ఇన్‌స్టాలేషన్ లో వివరించబడింది, మరియు Zapier మరియు Make తో n8n పోలిక ఈ విభాగం మొత్తం హోస్ట్ చేసిన సేవల (hosted services) తో ఎలా పోలుతుందో వివరిస్తుంది.

ప్రజలు n8n కు ప్రత్యామ్నాయమైన self-hosted పరిష్కారాల కోసం ఎందుకు వెతుకుతారు

రెండు కారణాలు పదే పదే వినిపిస్తుంటాయి.

మొదటిది లైసెన్స్. n8n అనేది Sustainable Use License v1.0 కింద విడుదలవుతుంది, దీనిని ఆ ప్రాజెక్ట్ ఓపెన్ సోర్స్ అని కాకుండా fair-code అని పిలుస్తుంది. ఈ లైసెన్స్ "సాఫ్ట్‌వేర్‌ను మీ అంతర్గత వ్యాపార అవసరాలకు లేదా వాణిజ్యేతర లేదా వ్యక్తిగత ఉపయోగం కోసం మాత్రమే ఉపయోగించడానికి లేదా సవరించడానికి" హక్కును ఇస్తుంది, మరియు ఈ సాఫ్ట్‌వేర్‌ను ఇతరులకు వాణిజ్యపరంగా అందించడాన్ని నిషేధిస్తుంది. .ee అని పేరులో ఉన్న ఫైళ్లు మరియు ఫోల్డర్లు ప్రత్యేకమైన n8n Enterprise License పరిధిలోకి వస్తాయి. మీరు చెల్లించే క్లయింట్ల తరపున ఆటోమేషన్లను రన్ చేయాలనుకుంటే, ఇది ఒక పెద్ద అడ్డంకి. మీరు ఒక అంతర్గత ఆపరేషన్స్ టీమ్ అయితే, ఇది మీ రోజువారీ పనిలో ఎటువంటి మార్పు తీసుకురాదు.

రెండవది మెమరీ. n8n అనేది ఒక Node.js ప్రాసెస్, మరియు వర్క్‌ఫ్లో రన్ అవుతున్నప్పుడు డేటా మెమరీలోనే ఉంటుంది. n8n డాక్యుమెంటేషన్ దీనికి గల కారణాలను పేర్కొంది: JSON డేటా పరిమాణం, బైనరీ డేటా సైజు, వర్క్‌ఫ్లోలోని నోడ్ల సంఖ్య, Code నోడ్, మాన్యువల్ ఎగ్జిక్యూషన్లు (ఇవి ఎడిటర్ కోసం డేటాను మళ్ళీ కాపీ చేస్తాయి), మరియు అదే సమయంలో రన్ అవుతున్న ఇతర వర్క్‌ఫ్లోలు. దీనికి డాక్యుమెంట్ చేయబడిన పరిష్కారం వేరే ప్రొడక్ట్‌కు మారడం కాదు. ఇది ప్రత్యేక వర్కర్ ప్రాసెస్‌లతో కూడిన queue mode, మరియు ~/.n8n/database.sqlite వద్ద ఉన్న డిఫాల్ట్ SQLite ఫైల్‌కు బదులుగా Postgres ను ఉపయోగించడం. పెద్ద జాబ్‌ల కోసం batching కూడా అవసరం, ఎందుకంటే Loop Over Items నోడ్ ద్వారా సబ్-వర్క్‌ఫ్లోకు డేటాను పంపినప్పుడు, అది ఒక సమయంలో డేటాలోని ఒక భాగాన్ని మాత్రమే మెమరీలో ఉంచుతుంది. మీరు అరవై ఫ్లోలను వేరే చోట మళ్ళీ నిర్మించే ముందు దీన్ని ప్రయత్నించండి.

ఏ self-hosted n8n ప్రత్యామ్నాయాలు ఇప్పటికీ నిర్వహణలో ఉన్నాయి

లైసెన్స్ పాఠాన్ని చదవడం సులభం, కాబట్టి ప్రతి ఒక్కరూ లైసెన్స్‌లను పోల్చి చూస్తారు. ప్రాజెక్ట్ ఆరోగ్యాన్ని గమనించడం సులభం. ఈ పోలికలో ఉన్న 6 ప్రాజెక్టులు ఇవే, వీటిలో ప్రతి ఒక్కటి 4 ఆగస్టు 2026 నాటికి ఉన్న తాజా tagged release వివరాలు ఉన్నాయి.

ChartNewest tagged release, checked 4 August 2026
The data behind this chart
[
  {
    "tool": "n8n",
    "licence": "Sustainable Use License",
    "latest_release": "2.33.3",
    "released": "2026-07-31",
    "days_since_release": 4
  },
  {
    "tool": "Activepieces",
    "licence": "MIT core, commercial ee",
    "latest_release": "0.86.3",
    "released": "2026-07-17",
    "days_since_release": 18
  },
  {
    "tool": "Windmill",
    "licence": "AGPLv3 source, CE image",
    "latest_release": "v1.778.0",
    "released": "2026-08-04",
    "days_since_release": 0
  },
  {
    "tool": "Node-RED",
    "licence": "Apache 2.0",
    "latest_release": "5.0.4",
    "released": "2026-07-30",
    "days_since_release": 5
  },
  {
    "tool": "Automatisch",
    "licence": "AGPL-3.0, commercial ee",
    "latest_release": "v0.15.0",
    "released": "2025-08-08",
    "days_since_release": 361
  },
  {
    "tool": "Huginn",
    "licence": "MIT",
    "latest_release": "v2022.08.18",
    "released": "2022-08-18",
    "days_since_release": 1447
  }
]

రెండు అడ్డు వరుసలు (rows) షార్ట్‌లిస్ట్‌ను మారుస్తాయి. Automatisch చివరిగా v0.15.0 వద్ద ట్యాగ్ చేయబడింది, ఇది 361 రోజుల క్రితం నాటిది, మరియు దాని default branch లో 15 జనవరి 2026 నుండి ఎటువంటి commit జరగలేదు. Huginn చివరిగా 1447 రోజుల క్రితం ఒక release ను ట్యాగ్ చేసింది, అయితే దాని commit log ఈ నెలలో యాక్టివ్‌గా ఉంది. ఇది వ్యతిరేక ధోరణి: కోడ్ మారుతోంది కానీ releases జరగడం లేదు, కాబట్టి దీన్ని రన్ చేయడం అంటే ట్యాగ్ చేయని (untagged) ఇమేజ్‌ను రన్ చేయడమే.

దీనితో సహా ఏ పోలికను నమ్మే ముందు మీరే స్వయంగా తనిఖీ చేసుకోండి. GitHub లో ప్రాజెక్ట్ యొక్క releases పేజీని తెరవండి, ఆపై దాని default branch కోసం commit జాబితాను చూడండి. తాజా release ఉండి, commit log నిశ్శబ్దంగా ఉన్న ప్రాజెక్ట్ కేవలం పాత వేగంతో నడుస్తోంది. తాజా commits ఉండి, సంవత్సరాలుగా ఎటువంటి release లేని ప్రాజెక్ట్, ఎవరూ వెర్షన్ విడుదల చేయని కోడ్‌ను మీరు రన్ చేయమని కోరుతోంది.

Activepieces: అత్యంత దగ్గరి ప్రత్యామ్నాయం, మరియు కోర్ MIT లైసెన్స్‌తో

Activepieces అనేది ఒకే విధమైన పనితీరును అందించే ఎంపిక. ఇది triggers మరియు steps తో కూడిన విజువల్ బిల్డర్, వీటిని ఇది pieces అని పిలుస్తుంది. దీని README ప్రకారం ఇందులో 280 కంటే ఎక్కువ pieces ఉన్నాయి. ప్రతి piece ఒక MCP (model context protocol) సర్వర్‌గా కూడా అందుబాటులో ఉంటుంది, కాబట్టి ఒక LLM (large language model) క్లయింట్ అదే connectors ను tools గా ఉపయోగించుకోగలదు. దీని కోర్ భాగం MIT లైసెన్స్‌ను కలిగి ఉంది. packages/ee/ మరియు packages/server/api/src/app/ee అనే రెండు డైరెక్టరీలు వాణిజ్య లైసెన్స్‌ను కలిగి ఉన్నాయి, వీటిలో ఉన్న వాటిని మీ సొంత సర్వర్‌లో ఉపయోగించాలంటే చెల్లింపు ఒప్పందం అవసరం.

మీరు మైగ్రేట్ అయ్యే ముందు ఈ విభజనను గమనించండి, ఎందుకంటే ఇది చాలా MIT ప్రాజెక్ట్‌ల కంటే భిన్నంగా ఉంటుంది. Activepieces ప్రైసింగ్ పేజీ Community Edition ను "ఓపెన్ సోర్స్, ఎప్పటికీ ఉచితం, runs, users లేదా flows పై ఎటువంటి పరిమితులు లేవు" అని పేర్కొంటుంది. Agents మరియు Chat, Projects, API access, మరియు మొత్తం అడ్మినిస్ట్రేషన్ లేయర్ (single sign-on, user roles, audit logs, secret managers, branding, Git sync) వంటి ఫీచర్లను దీని పరిధి నుండి మినహాయించింది. కాబట్టి, Community Edition అనేది అపరిమిత flows మరియు users తో కూడిన పూర్తి ఆటోమేషన్ ఇంజిన్, కానీ ఇది API ద్వారా నియంత్రించగల ప్లాట్‌ఫారమ్ కాదు. మీరు flows ను ప్రోగ్రామాటిక్‌గా రూపొందించాలని ప్లాన్ చేస్తుంటే, ఆ ప్లాన్‌కు లైసెన్స్ అవసరం.

దీని రన్‌టైమ్ ఆకృతి ఒక app container, ఒకటి లేదా అంతకంటే ఎక్కువ worker containers, Postgres మరియు Redis లతో ఉంటుంది. AP_DB_TYPE=POSTGRES మరియు AP_REDIS_TYPE=STANDALONE డిఫాల్ట్‌గా ఉంటాయి. ఇందులో embedded database మరియు in-process queue (AP_DB_TYPE=PGLITE తో AP_REDIS_TYPE=MEMORY) కలిగిన single-container మోడ్ ఉంది, అయితే డాక్యుమెంటేషన్ ప్రకారం ఇది "కేవలం వ్యక్తిగత అవసరాలకు లేదా టెస్టింగ్ కోసం మాత్రమే". దీనిని అలాగే పరిగణించండి. ఆ మోడ్‌లు ఒకటి కంటే ఎక్కువ instances ను రన్ చేయలేవు, కాబట్టి వాటి నుండి బయటపడటం అంటే కేవలం ఒక flag మార్చడం కాదు, అది ఒక మైగ్రేషన్ అవుతుంది.

Windmill: కోడ్-ఫస్ట్, మరియు చూడటానికి ఉన్నదానికంటే బరువైనది

Windmill స్క్రిప్ట్‌లను Python, TypeScript, Go, Bash మరియు SQL భాషలలో రన్ చేస్తుంది, ఆపై వాటిని flows గా మారుస్తుంది. మీ ఆటోమేషన్లు ఎక్కువగా కోడ్ కలిగి ఉండి, వాటి చుట్టూ తక్కువ మొత్తంలో గ్లూ (glue) అవసరమైతే, ఇది ఏదైనా నోడ్ కాన్వాస్ కంటే మెరుగ్గా సరిపోతుంది.

లైసెన్స్ విషయంలో జాగ్రత్త అవసరం. ఎంటర్‌ప్రైజ్ ఫీచర్ ఫ్లాగ్ లేకుండా కంపైల్ చేసినప్పుడు సోర్స్ AGPLv3 కింద ఉంటుంది. ghcr.io/windmill-labs/windmill వద్ద ప్రచురించబడిన ఇమేజ్‌లు కమ్యూనిటీ ఎడిషన్ (Community Edition), ఇందులో ఓపెన్ సోర్స్ కాని కోడ్ కూడా ఉంటుంది మరియు ఇది కోటాల పరిధిలో ఉచితంగా లభిస్తుంది. Windmill యొక్క ప్రైసింగ్ పేజీ ఈ కోటాలను 50 మంది వినియోగదారులు, 3 వర్క్‌స్పేస్‌లు మరియు 10 GiB వర్క్‌స్పేస్ ఆబ్జెక్ట్ స్టోరేజ్‌గా నిర్ణయించింది, ఎగ్జిక్యూషన్లు మాత్రం అపరిమితం. ఒక వ్యక్తికి లేదా చిన్న బృందానికి ఈ పరిమితి చాలా ఎక్కువ, కాబట్టి ఆచరణాత్మక ప్రశ్న కోటా గురించి కాదు. మీరు రన్ చేసే బైనరీ AGPL బిల్డ్ కాదనేదే అసలు విషయం.

బరువు (Weight) మరొక ముఖ్యమైన అంశం. Windmill యొక్క స్వంత docker-compose.yml లో Postgres 16 డేటాబేస్, ఒక సర్వర్, ఒక్కొక్కటి 2048M మెమరీ పరిమితి కలిగిన మూడు డిఫాల్ట్ వర్కర్లు, ఒక నేటివ్ వర్కర్ మరియు Caddy ప్రాక్సీ ఉంటాయి. డాక్యుమెంట్ చేయబడిన సాధారణ నియమం ఏమిటంటే "1 vCPU కి 1 వర్కర్ మరియు 1-2 GB RAM". మీరు చిన్న సర్వర్‌లో రెప్లికా సంఖ్యను తగ్గించవచ్చు. మీరు దాన్ని తగ్గిస్తున్నారని మీకు తెలిసి ఉండాలి, ఎందుకంటే మీ జాబ్‌లను వాస్తవానికి రన్ చేసేవి ఈ వర్కర్లే.

Windmill యొక్క AI ఫీచర్లు బిల్డ్-టైమ్ సహాయం కోసం డాక్యుమెంట్ చేయబడ్డాయి: కోడ్ జనరేషన్, ఫ్లో బిల్డింగ్, చాట్ మరియు ఫారమ్ ఫిల్లింగ్. వీటి కోసం మీరు ముందుగా వర్క్‌స్పేస్ సెట్టింగ్‌లలో మోడల్ ప్రొవైడర్ రిసోర్స్‌ను జోడించాలి. మీకు కావాల్సింది షెడ్యూల్ ప్రకారం రన్ అయ్యే మరియు టూల్స్‌ను కాల్ చేసే ఏజెంట్ స్టెప్ అయితే, n8n యొక్క AI Agent నోడ్ మరింత నేరుగా ఉంటుంది, మరియు n8n లో AI ఏజెంట్‌ను నిర్మించడం అనే అంశం ఆ పద్ధతిని వివరిస్తుంది.

Node-RED: డేటాబేస్ లేని చిన్న అప్లికేషన్

Node-RED అనేది Apache 2.0 లైసెన్స్‌తో వస్తుంది, ఇది ఈ పోలికలో అత్యంత సరళమైన లైసెన్స్. ఇది ఒకే Node.js ప్రాసెస్‌గా నడుస్తుంది మరియు దీనికి ఒకే /data వాల్యూమ్ సరిపోతుంది. దీనికి Postgres లేదా Redis అవసరం లేదు. దీన్ని ప్రస్తుత విడుదలైన nodered/node-red:5.0.4 వెర్షన్‌కు పిన్ చేయండి.

ఇది IoT (internet of things) వైరింగ్ నుండి అభివృద్ధి చెందింది, కాబట్టి ఇది కనెక్టర్ ఆకృతిలో కాకుండా ఈవెంట్ ఆకృతిలో ఉంటుంది. థర్డ్-పార్టీ సేవల కోసం నోడ్స్ కమ్యూనిటీ లైబ్రరీ నుండి వస్తాయి మరియు వాటి నాణ్యత మారుతూ ఉంటుంది; తక్కువ footprint కోసం మీరు ఈ రాజీ పడాల్సి ఉంటుంది. ఇందులో ప్రత్యేకమైన AI ఏజెంట్ స్టెప్ లేదు. వెబ్‌హుక్స్ మరియు మెసేజ్-క్యూ ట్రాఫిక్‌ను నిర్వహించే చిన్న VPS కోసం, ఇది అందుబాటులో ఉన్న అత్యంత తేలికైన పరిష్కారం మరియు ఇది సెకన్లలో ప్రారంభమవుతుంది.

Huginn మరియు Automatisch: ముందుగా commit log ను తనిఖీ చేయండి

Huginn అనేది MIT లైసెన్స్ కలిగినది, Ruby on Rails లో వ్రాయబడింది మరియు దీనికి MySQL లేదా PostgreSQL అవసరం. ఇది ఒక మూలాన్ని గమనించి ఈవెంట్‌లను విడుదల చేసే ఏజెంట్ల పద్ధతిలో పనిచేస్తుంది. ఇది flow canvas మోడల్ కంటే భిన్నమైనది మరియు ఇందులో LLM సదుపాయం లేదు. దీని కోడ్‌కు ఇప్పటికీ commits అందుతున్నాయి, కానీ చివరి tagged release ఆగస్టు 2022 నాటిది. కాబట్టి, దీన్ని రన్ చేయడం అంటే default branch నుండి బిల్డ్ చేసిన ghcr.io/huginn/huginn ఇమేజ్‌ను వాడటమే. మీ సమస్యకు ఏజెంట్ మోడల్ సరిపోతుందని భావించినప్పుడు మాత్రమే దీన్ని ఎంచుకోండి, n8n కు ప్రత్యామ్నాయంగా దీన్ని చూడకండి.

Automatisch అనేది దాని .ee ఫైళ్లు మినహా AGPL-3.0 లైసెన్స్ కలిగి ఉంటుంది. ఇది n8n కి సరళమైన రూపంలా కనిపిస్తుంది: దీనికి Postgres, Redis మరియు పరిమితమైన యాప్‌ల జాబితా అవసరం. సింగిల్-డిప్లాయ్ ట్యుటోరియల్స్ పదేపదే సిఫార్సు చేసే సాధనం ఇదే. దీని విడుదల చరిత్రను బట్టి వేచి చూడటం మంచిది. ఒక సంవత్సరం పాటు కొత్త విడుదల లేకపోవడం మరియు అర సంవత్సరం పాటు commit లేకపోవడం అనేది మీరు ఇప్పటికే దీన్ని వాడుతుంటే ఆందోళన చెందాల్సిన విషయం కాదు, కానీ కొత్త ప్రొడక్షన్ డిప్లాయ్‌మెంట్‌ను దీనిపై ప్రారంభించకపోవడమే మంచిది.

Activepieces stack వాస్తవానికి ఎంత RAM తీసుకుంటుంది

Idle మరియు working memory ఎంత ఉంటుందనేది ఎవరూ ఖచ్చితంగా చెప్పలేరు, ఎందుకంటే ఇది మీరు రూపొందించే flows మరియు వాటి ద్వారా వెళ్లే డేటా పరిమాణంపై ఆధారపడి ఉంటుంది. ప్రతి vendor సూచించే బడ్జెట్ అంచనాలను మాత్రమే మీరు చూడగలరు. Activepieces ఈ క్రింది ఆకృతిని డాక్యుమెంట్ చేస్తుంది, కానీ సంఖ్యల కంటే పక్కన ఉన్న వాక్యం చాలా ముఖ్యం: "ఒక concurrency-1 worker ఒక flow నడుస్తున్నంత సేపు (గరిష్టంగా 10 నిమిషాలు) బిజీగా ఉంటుంది, కాబట్టి trigger rate ఆధారంగా కాకుండా, ఒకేసారి నడిచే (concurrent) flows ఆధారంగా పరిమాణాన్ని నిర్ణయించండి."

ChartActivepieces published production sizing, per component
The data behind this chart
[
  {
    "label": "App container",
    "vcpu": 1,
    "ram_gb": 1
  },
  {
    "label": "Worker (each)",
    "vcpu": 0.5,
    "ram_gb": 1
  },
  {
    "label": "Postgres",
    "vcpu": 2,
    "ram_gb": 4
  },
  {
    "label": "Redis",
    "vcpu": 1,
    "ram_gb": 1
  }
]

ఒక worker కి 0.5 vCPU మరియు 1 GB అవసరం, ఇది ఒక సమయంలో ఒక flow ని మాత్రమే రన్ చేస్తుంది. Postgres కి 4 GB కేటాయించాలి. ఈ ప్రాజెక్ట్ యొక్క compose file ఐదు worker replicas ను కలిగి ఉంటుంది, కాబట్టి ఆ లెక్కన మీ flows ఏవైనా పనులు ప్రారంభించకముందే ఈ stack సుమారు 11 GB RAM ని కోరుతుంది. సింగిల్-టూల్ ట్యుటోరియల్స్ ఆ ఫైల్‌ను కాపీ చేసి, దానిని చిన్న deployment అని పిలుస్తాయి.

4 GB VPS పై, రెండు workers ను రన్ చేయండి, Postgres ను అదే compose project లో ఉంచి, కొలవండి. docker stats --no-stream ప్రతి container యొక్క వాస్తవ resident memory ని ఒక లైన్‌లో చూపిస్తుంది, ఇది ఏ vendor లేదా blog ప్రచురించే సంఖ్యల కంటే ఖచ్చితమైనది. ఒకవేళ ఏదైనా container పరిమితి లేకుండా పెరుగుతుంటే, దానికి పరిమితి విధించండి; memory limits in Docker Compose లో దీనికి సంబంధించిన syntax చూడవచ్చు.

ఒక VPSపై Activepieces కోసం compose ఫైల్

ట్యాగ్‌ను పిన్ చేయండి. latest అంటే తదుపరి docker compose pull ఎటువంటి హెచ్చరిక లేకుండా డేటాబేస్ స్కీమాను మార్చవచ్చు. 4 ఆగస్టు 2026 నాటికి, ప్రాజెక్ట్ తన సొంత compose ఫైల్‌లో పిన్ చేసిన వెర్షన్ 0.86.3.

ముందుగా డాక్యుమెంటేషన్‌లో పేర్కొన్న పొడవులను ఉపయోగించి రెండు సీక్రెట్‌లను రూపొందించండి.

openssl rand -hex 16    # AP_ENCRYPTION_KEY, encrypts stored connections
openssl rand -hex 32    # AP_JWT_SECRET, signs session tokens

compose ఫైల్ పక్కన .env రాయండి:

AP_ENGINE_EXECUTABLE_PATH=dist/packages/engine/main.js
AP_ENVIRONMENT=prod
AP_FRONTEND_URL=https://automation.example.com
AP_ENCRYPTION_KEY=REPLACE_WITH_HEX_16
AP_JWT_SECRET=REPLACE_WITH_HEX_32
AP_DB_TYPE=POSTGRES
AP_POSTGRES_DATABASE=activepieces
AP_POSTGRES_HOST=postgres
AP_POSTGRES_PORT=5432
AP_POSTGRES_USERNAME=postgres
AP_POSTGRES_PASSWORD=REPLACE_WITH_A_LONG_RANDOM_PASSWORD
AP_REDIS_TYPE=STANDALONE
AP_REDIS_HOST=redis
AP_REDIS_PORT=6379
AP_EXECUTION_MODE=UNSANDBOXED
AP_TELEMETRY_ENABLED=false

AP_FRONTEND_URL తప్పనిసరిగా పబ్లిక్ HTTPS అడ్రస్ అయి ఉండాలి, ఎందుకంటే Activepieces లేకపోతే webhook URLలను నిర్మించేటప్పుడు మీ పబ్లిక్ IP అడ్రస్‌ను ఉపయోగించడానికి ప్రయత్నిస్తుంది. మీరు థర్డ్ పార్టీకి ఇచ్చే ప్రతి webhook ఆ విలువ నుండే నిర్మించబడుతుంది, కాబట్టి అది ఇప్పటికీ localhost ని సూచిస్తుంటే, మీరు మరొక సర్వీస్‌లో పేస్ట్ చేసే URL మీ సర్వర్‌కు ఎప్పటికీ చేరదు.

services:
  app:
    image: ghcr.io/activepieces/activepieces:0.86.3
    restart: unless-stopped
    ports:
      - '127.0.0.1:8080:80'
    depends_on:
      - postgres
      - redis
    env_file: .env
    environment:
      - AP_CONTAINER_TYPE=APP
    volumes:
      - ./cache:/usr/src/app/cache
  worker:
    image: ghcr.io/activepieces/activepieces:0.86.3
    restart: unless-stopped
    depends_on:
      - app
    env_file: .env
    environment:
      - AP_CONTAINER_TYPE=WORKER
    deploy:
      replicas: 2
    volumes:
      - ./cache:/usr/src/app/cache
  postgres:
    image: pgvector/pgvector:0.8.0-pg14
    restart: unless-stopped
    env_file: .env
    environment:
      - POSTGRES_DB=${AP_POSTGRES_DATABASE}
      - POSTGRES_USER=${AP_POSTGRES_USERNAME}
      - POSTGRES_PASSWORD=${AP_POSTGRES_PASSWORD}
    volumes:
      - postgres_data:/var/lib/postgresql/data
  redis:
    image: redis:7.0.7
    restart: unless-stopped
    volumes:
      - redis_data:/data

volumes:
  postgres_data:
  redis_data:

ఆ ఫైల్ ప్రాజెక్ట్ యొక్క సొంత compose ఫైల్, ఇందులో నాలుగు మార్పులు ఉన్నాయి: వర్కర్ కౌంట్ ఐదు నుండి రెండుకు తగ్గించబడింది, పబ్లిష్ చేయబడిన పోర్ట్ ప్రతి ఇంటర్‌ఫేస్‌కు బదులుగా 127.0.0.1 కి బైండ్ చేయబడింది, రిప్లికాలను కలిగి ఉన్న సర్వీస్ వాటిని ఉపయోగించలేదు కాబట్టి స్థిరమైన కంటైనర్ పేర్లు తొలగించబడ్డాయి, మరియు compose ఎలాగూ ఒక నెట్‌వర్క్‌ను సృష్టిస్తుంది కాబట్టి స్పష్టమైన నెట్‌వర్క్ బ్లాక్ తొలగించబడింది.

docker compose up -d
docker compose ps

ప్రతి సర్వీస్ Up ని చూపాలి, ఇందులో రెండు worker కంటైనర్లు ఉంటాయి. లూప్‌లో రీస్టార్ట్ అయ్యే కంటైనర్ దాని కారణాన్ని docker compose logs worker లో ప్రింట్ చేస్తుంది, కాబట్టి ఏదైనా మార్చే ముందు దానిని చదవండి. మీరు TLS (transport layer security) కలిగిన రివర్స్ ప్రాక్సీని ముందు ఉంచే వరకు, పోర్ట్ బైండింగ్ అంటే బయటి నుండి యాప్‌కు ఏదీ చేరదని అర్థం, దీని గురించి అనేక compose యాప్‌ల ముందు Traefik ని రన్ చేయడం లో వివరించబడింది. compose env ఫైళ్లలో సీక్రెట్‌లను నిర్వహించడం లో ఉన్నట్లుగా, .env ని 600 మోడ్‌లో ఉంచండి మరియు git లో చేర్చకండి.

ప్రతి గైడ్ విస్మరించే బ్యాకప్

ఈ సాధనాలన్నీ నిల్వ చేసిన క్రెడెన్షియల్స్‌ను ఎన్‌క్రిప్ట్ చేస్తాయి, కాబట్టి కేవలం డేటాబేస్ డంప్ మాత్రమే బ్యాకప్ కాదు. మీకు డంప్ మరియు దానిని డిక్రిప్ట్ చేసే కీ రెండూ అవసరం. చాలా సాధనాలు ఈ కీని మీ ప్రమేయం లేకుండానే సృష్టించి, మీరు బ్యాకప్ చేయని చోట దాచడం ఒక పెద్ద సమస్య.

n8n దీనికి స్పష్టమైన ఉదాహరణ. మీరు N8N_ENCRYPTION_KEY ను సెట్ చేయకపోతే, n8n "మొదటిసారి లాంచ్ అయినప్పుడు ఒక రాండమ్ ఎన్‌క్రిప్షన్ కీని ఆటోమేటిక్‌గా సృష్టించి, దానిని ~/.n8n ఫోల్డర్‌లో సేవ్ చేస్తుంది". ఆ తర్వాత క్రెడెన్షియల్స్ డేటాబేస్‌కు చేరకముందే ఈ కీతో ఎన్‌క్రిప్ట్ చేస్తుంది. మీరు Postgres ను డంప్ చేసి, కొత్త వాల్యూమ్‌తో ఉన్న కొత్త కంటైనర్‌లో రీస్టోర్ చేస్తే, వర్క్‌ఫ్లోలు తిరిగి వస్తాయి కానీ క్రెడెన్షియల్స్ అన్నీ ఎవరూ చదవలేని సైఫర్‌టెక్స్ట్‌గా మారిపోతాయి. కాబట్టి ఈ వేరియబుల్‌ను స్పష్టంగా సెట్ చేయండి, మరియు క్యూ మోడ్‌లో రన్ చేసేటప్పుడు ప్రతి వర్కర్‌పై అదే విలువను సెట్ చేయండి.

Node-RED పరిస్థితి కూడా ఇదే. క్రెడెన్షియల్స్ ఒక ఎన్‌క్రిప్టెడ్ ఫైల్‌లో ఉంటాయి, మరియు కీ credentialSecret అనేది settings.js లో ఉంటుంది. మీరు దీనిని సెట్ చేయకపోతే, రన్‌టైమ్ ఒక రాండమ్ కీని సృష్టించి, దానిని /data లోని సెట్టింగ్స్ స్టోర్‌లో _credentialSecret పేరుతో సేవ్ చేస్తుంది. స్టాక్ సెట్టింగ్స్ ఫైల్ దీని పర్యవసానాన్ని ఇలా చెబుతుంది: "ఈ ప్రాపర్టీని సెట్ చేసిన తర్వాత, దానిని మార్చవద్దు - అలా చేస్తే Node-RED మీ ప్రస్తుత క్రెడెన్షియల్స్‌ను డిక్రిప్ట్ చేయలేక వాటిని కోల్పోతారు." కాబట్టి కేవలం flows ఫైల్‌ను మాత్రమే కాకుండా, మొత్తం /data వాల్యూమ్‌ను బ్యాకప్ చేయండి.

Activepieces లో AP_ENCRYPTION_KEY అనేది మీ .env లో ఉంటుంది, దీనిని "కనెక్షన్‌లను ఎన్‌క్రిప్ట్ చేయడానికి ఉపయోగించే 32-క్యారెక్టర్ (16-byte) హెక్సాడెసిమల్ కీ" అని డాక్యుమెంట్ చేశారు. Huginn లో APP_SECRET_TOKEN దాని ఎన్విరాన్‌మెంట్‌లో ఉంటుంది. Automatisch లో మూడు కీలు ఉంటాయి: ENCRYPTION_KEY, WEBHOOK_SECRET_KEY మరియు APP_SECRET_KEY. ప్రతి సందర్భంలోనూ ఈ రహస్యాలు (secrets) ఒక ఎన్విరాన్‌మెంట్ ఫైల్‌లో ఉంటాయి, అంటే ఆ ఎన్విరాన్‌మెంట్ ఫైల్ కూడా బ్యాకప్‌లో భాగమే.

Windmill దీనికి మినహాయింపు. దీని వేరియబుల్స్ మరియు సీక్రెట్స్ వర్క్‌స్పేస్-నిర్దిష్ట సిమెట్రిక్ కీతో ఎన్‌క్రిప్ట్ చేయబడతాయి. Windmill ఈ కీని తన సొంత డేటాబేస్‌లోనే దాచుకుంటుంది, కాబట్టి ఒకే Postgres డంప్ రెండు భాగాలను కలిగి ఉంటుంది. ఇది రీస్టోర్ చేయడానికి సౌకర్యంగా ఉంటుంది, కానీ దీని అర్థం ఆ డంప్ ఫైల్ ఉంటే చాలు అన్ని సీక్రెట్స్‌ను చదవవచ్చు. కాబట్టి ఆ ఫైల్‌ను సీక్రెట్స్ లాగే జాగ్రత్తగా కాపాడండి.

పైన పేర్కొన్న Activepieces స్టాక్ కోసం, బ్యాకప్ అంటే ఈ రెండు ఫైళ్లు:

cd /srv/activepieces
docker compose exec -T postgres pg_dump -U postgres -Fc activepieces > "ap-$(date +%F).dump"
cp .env "ap-env-$(date +%F).bak"
chmod 600 ap-*.dump ap-env-*.bak

ఆ తర్వాత బ్యాకప్ పనిచేస్తుందో లేదో పరీక్షించండి, ఎందుకంటే పరీక్షించని బ్యాకప్ కేవలం ఒక ఊహ మాత్రమే. ఉద్దేశపూర్వకంగా వేరే AP_ENCRYPTION_KEY ను ఉపయోగించే ఒక స్క్రాచ్ కంపోజ్ ప్రాజెక్ట్‌లోకి డంప్‌ను రీస్టోర్ చేయండి, ఆపై సేవ్ చేసిన కనెక్షన్‌ను ఉపయోగించే ఒక ఫ్లోను రన్ చేయండి. అది విఫలమవుతుంది, ఎందుకంటే డేటాబేస్‌లోని సైఫర్‌టెక్స్ట్ వేరే కీతో తయారైంది. ఇప్పుడు .env లోని అసలైన కీతో రీస్టోర్ ప్రక్రియను మళ్ళీ చేయండి, అప్పుడు అదే ఫ్లో రన్ అవుతుంది. ఆ రెండు రన్‌లు మాత్రమే మీ బ్యాకప్ సరైనదని నిరూపించే సాక్ష్యాలు. VPS నుండి restic బ్యాకప్‌లు ఉపయోగించి ఈ రెండు ఫైళ్లను సర్వర్ బయటకు పంపండి, ఎందుకంటే ఒకే డిస్క్‌లో ఉన్న బ్యాకప్ ఆ డిస్క్ పాడైతే పోతుంది.

n8n లో ఎప్పుడు కొనసాగాలి

మీ పని మీ సొంత కంపెనీ అంతర్గత అవసరాలకు సంబంధించినదైతే, n8n లోనే కొనసాగండి. ఎందుకంటే Sustainable Use License సరిగ్గా దీనికే అనుమతిస్తుంది. మీకు విస్తృతమైన ఫీచర్లు అవసరమైతే కూడా ఇక్కడే ఉండండి; n8n 1500 కంటే ఎక్కువ integrations ను అందిస్తుంది. అలాగే, LangChain పై నిర్మించిన దీని AI Agent node, సిద్ధంగా ఉన్న agent steps విషయంలో మరే ఇతర సాధనంతోనూ సాటిరాదు. Claude తో n8n workflows ను నడపడం అనే అంశం ఇది ఆచరణలో ఎలా ఉంటుందో చూపిస్తుంది.

ఒకవేళ మీకు automation core పై సరళమైన లైసెన్స్ కావాలన్నా, మీరు పూర్తిగా అర్థం చేసుకోగలిగే stack కావాలన్నా Activepieces కు మారండి. మీ workflows నిజానికి user interface కలిగిన code అయితే Windmill కు మారండి. మీ సర్వర్ సామర్థ్యం తక్కువగా ఉండి, పని event-based పద్ధతిలో ఉంటే Node-RED కు మారండి. కేవలం ఏదో ఒక benchmark లో n8n బరువుగా ఉందని చెప్పినంత మాత్రాన మారకండి. ముందుగా మీ సొంత instance పనితీరును కొలవండి, ఆపై 2026లో దేనిని self-host చేయడం విలువైనది అనే అంశాన్ని చదివి ఒక నిర్ణయానికి రండి. ఎందుకంటే, రెండోసారి migration చేయడం కూడా మొదటిసారి చేసినంత ఖర్చుతో కూడుకున్నదే.

FAQ

n8n కు ప్రత్యామ్నాయంగా ఏ self-hosted సాధనం n8n కు దగ్గరగా ఉంటుంది?

Activepieces. ఇది కూడా అదే తరహాలో పనిచేస్తుంది: ఒక trigger తో flow ప్రారంభమై, ప్రతి step ఒక సేవను పిలిచే visual builder ఇది. ఇందులో connectors యొక్క పెద్ద జాబితా ఉంటుంది. దీని core MIT లైసెన్స్‌తో లభిస్తుంది, ఇది Docker లో Postgres మరియు Redis లపై నడుస్తుంది, మరియు దీని pieces LLM క్లయింట్ల కోసం MCP servers గా కూడా పనిచేస్తాయి. గమనించాల్సిన విషయం ఏమిటంటే, API access మరియు agent ఫీచర్లు వాణిజ్యపరమైన enterprise directories లో ఉన్నాయి, కాబట్టి Community Edition ను ప్రోగ్రామాటిక్‌గా కాకుండా కేవలం web interface ద్వారానే నిర్వహించాల్సి ఉంటుంది.

Activepieces నిజంగా open source ఆ?

దీని core, MIT లైసెన్స్ కింద open source. రెండు directories, packages/ee/ మరియు packages/server/api/src/app/ee, వాణిజ్యపరమైన లైసెన్స్‌ను కలిగి ఉన్నాయి. ఆ ఫీచర్లను మీ సర్వర్‌లో ఉపయోగించాలంటే చెల్లింపు లైసెన్స్ అవసరం. వెండర్ యొక్క pricing పేజీ ప్రకారం Agents మరియు Chat, Projects, API access, single sign-on, user roles, audit logs, secret managers, branding మరియు Git sync వంటివి Community Edition లో లేవు, కానీ runs, users మరియు flows పై ఎటువంటి పరిమితులు లేవు. కాబట్టి, ఆటోమేషన్లను నిర్మించడానికి మరియు రన్ చేయడానికి ఇది నిజంగా open source, కానీ టీమ్ మరియు గవర్నెన్స్ లేయర్ పరంగా ఇది open source కాదు.

VPS పై Activepieces కు ఎంత RAM అవసరం?

Activepieces డాక్యుమెంటేషన్ ప్రకారం ప్రతి worker కు 0.5 vCPU మరియు 1 GB RAM, app container కు 1 vCPU మరియు 1 GB RAM, Postgres కు 4 GB మరియు Redis కు 1 GB RAM అవసరం. ఒక worker ఒక సమయంలో ఒక flow ను మాత్రమే నిర్వహిస్తుంది, కాబట్టి మీరు triggers ఎంత తరచుగా వస్తాయనే దానికంటే, గరిష్టంగా ఎన్ని flows ఒకేసారి నడుస్తాయనే దానిపై ఆధారపడి sizing నిర్ణయించుకోవాలి. రిపోజిటరీలోని compose ఫైల్ ఐదు workers తో వస్తుంది, అంటే సుమారు 11 GB sizing అవసరం. 4 GB RAM ఉన్న VPS పై రెండు workers తో ప్రారంభించడం సరైన పద్ధతి, మరియు మీ flows నడుస్తున్నప్పుడు వాస్తవ వినియోగాన్ని docker stats --no-stream ద్వారా తెలుసుకోవచ్చు.

restore విజయవంతం కావాలంటే దేనిని బ్యాకప్ తీసుకోవాలి?

database dump మరియు encryption key రెండింటినీ కలిపి బ్యాకప్ తీసుకోవాలి. Activepieces కోసం, activepieces డేటాబేస్ యొక్క pg_dump మరియు AP_ENCRYPTION_KEY ను కలిగి ఉన్న .env ఫైల్‌ను బ్యాకప్ తీసుకోవాలి. n8n కోసం, డేటాబేస్ మరియు N8N_ENCRYPTION_KEY ను బ్యాకప్ తీసుకోవాలి; మీరు సెట్ చేయకపోతే, n8n దీనిని ~/.n8n ఫోల్డర్‌లో సృష్టిస్తుంది. Node-RED కోసం, మొత్తం /data వాల్యూమ్‌ను బ్యాకప్ తీసుకోండి, ఎందుకంటే credentials ఫైల్ మరియు దానిని decrypt చేసే key రెండూ అక్కడే ఉంటాయి. Windmill ఒక మినహాయింపు: దీని workspace key దాని స్వంత Postgres డేటాబేస్ లోనే ఉంటుంది, కాబట్టి dump లోనే మొత్తం సమాచారం ఉంటుంది మరియు దానిని secrets లాగే భద్రంగా ఉంచాలి.

నా n8n workflows ను మరొక సాధనంలోకి import చేయవచ్చా?

లేదు. ఈ ప్రాజెక్ట్‌లు వాటి స్వంత flow ఫార్మాట్‌లను మాత్రమే import/export చేస్తాయి, n8n ఫార్మాట్‌ను కావు. మైగ్రేషన్ అంటే ప్రతి flow ను కొత్త builder లో మళ్ళీ నిర్మించడం మరియు ప్రతి credential ను మళ్ళీ సృష్టించడం. ఈ పనే మారడానికి అయ్యే అసలైన ఖర్చు, కాబట్టి నిర్ణయం తీసుకునే ముందు మీ flows ఎన్ని ఉన్నాయో లెక్కించుకోండి. పన్నెండు flows అయితే ఒక మధ్యాహ్నంలో పూర్తవుతాయి. రెండు వందల flows అయితే అది ఒక పెద్ద ప్రాజెక్ట్, మరియు వాటిని మళ్ళీ నిర్మించడం కంటే queue mode మరియు Postgres ఉపయోగించి n8n యొక్క memory వినియోగాన్ని సరిచేయడం చౌకైనది.

#n8n#activepieces#windmill#workflows#self-hosting