معرفی n8n
n8n ابزاری برای اتوماسیون گردشکار (workflow) بهصورت بصری است. نودها (وبهوکها، درخواستهای HTTP، پایگاههای داده، ایمیل، سرویسهای SaaS) را روی یک بوم به هم وصل میکنید و هرگاه یک نود کافی نبود، کد JavaScript یا Python اضافه میکنید. در حالت خودمیزبان، دادهها و اطلاعات ورود شما بهجای شخص ثالث روی ماشین خودتان میمانند.
هنگام تحویل، اسکریپت این روش در صورت نبود Docker آن را نصب میکند، سپس با Docker Compose از مسیر /opt/n8n دو کانتینر را راهاندازی میکند: n8n (ایمیج docker.n8n.io/n8nio/n8n:latest) و Caddy 2. n8n فقط روی 127.0.0.1:5678 گوش میدهد. Caddy در حالت شبکه میزبان، سرویس را روی پورت 443 با HTTPS منتشر میکند و درخواستها را به n8n هدایت میکند.
گواهی خودامضا است (دستور tls internal در Caddy) و به آدرس IP عمومی سرور متصل است. بنابراین مرورگر شما در اولین بازدید یک هشدار نمایش میدهد که تا زمانی که دامنهای متصل نشده عادی است. دادههای n8n در یک ولوم Docker (n8n_data) نگهداری میشوند و منطقه زمانی روی Europe/Paris تنظیم شده است.
با n8n چه کارهایی میتوانید انجام دهید
ویرایشگر بصری گردشکار
محرکها، شرطها و اقدامها را روی یک بوم کنار هم میچینید. هر اجرا را میتوان نود به نود بررسی کرد، که اشکالزدایی را بسیار آسان میکند.
وبهوک و فراخوانی HTTP
یک گردشکار میتواند با یک درخواست ورودی شروع شود یا هر API از نوع REST را فراخوانی کند. سرور از قبل طوری پیکربندی شده که نشانیهای وبهوک خود را با HTTPS بسازد.
کد JavaScript یا Python
نود Code به شما اجازه میدهد دادهها را تبدیل کنید یا منطقی بنویسید که نودهای استاندارد پوشش نمیدهند، بدون اینکه از گردشکار خارج شوید.
دادهها روی سرور شما
گردشکارها، اطلاعات ورود و تاریخچه اجرا در ولوم Docker با نام
n8n_dataروی VPS شما در پاریس یا فرانکفورت میمانند.HTTPS با Caddy از همان ابتدا
n8n به
127.0.0.1محدود میماند و فقط Caddy روی پورت 443 در دسترس است. رفتن به یک گواهی معتبر فقط به ویرایش یک فایل خلاصه میشود.شروع خودکار
هر دو کانتینر با
restart: alwaysتعریف شدهاند. پس از ریبوت سرور، n8n و Caddy بدون دخالت شما دوباره اجرا میشوند.
شروع کار با n8n
از سفارش تا راهاندازی نهایی، در چند دقیقه.
- 1
سفارش VPS همراه با n8n
یک VPS لینوکس در پاریس یا فرانکفورت انتخاب کنید، سپس n8n را در تب «Applications» فرم سفارش تیک بزنید. Debian 12، Debian 13 و Ubuntu 20.04، 22.04 و 24.04 ارائه میشوند.
- 2
منتظر تحویل بمانید و بررسی کنید
اسکریپت در اولین بوت اجرا میشود: Docker را نصب میکند و سپس کانتینرها را راه میاندازد، که چند دقیقه طول میکشد. با اطلاعات تحویل از طریق SSH وارد شوید و بررسی کنید که n8n و Caddy در حال اجرا هستند.
Bashcd /opt/n8n && docker compose ps - 3
ساخت حساب مالک
https://SERVER_IP را در مرورگر باز کنید و هشدار مربوط به گواهی خودامضا را بپذیرید. n8n از شما میخواهد حساب مالک را بسازید: این حساب است که نمونه را مدیریت میکند.
- 4
رفتن به یک دامنه با HTTPS
یک رکورد DNS از نوع A برای YOUR_DOMAIN به SERVER_IP بسازید، سپس Caddyfile و متغیرهای n8n را جایگزین کنید. Caddy آنگاه بهطور خودکار یک گواهی معتبر میگیرد، به شرط اینکه پورتهای 80 و 443 در دسترس باشند.
Bashcd /opt/n8n cat > Caddyfile <<'EOF' YOUR_DOMAIN { reverse_proxy 127.0.0.1:5678 } EOF sed -i 's|N8N_HOST=.*|N8N_HOST=YOUR_DOMAIN|; s|WEBHOOK_URL=.*|WEBHOOK_URL=https://YOUR_DOMAIN/|' docker-compose.yml docker compose up -d docker compose restart caddy
کاربردهای n8n
همگامسازی ابزارهای کسبوکار
یک سرنخ (lead) جدید در یک فرم، یک پرونده در CRM شما ایجاد میکند، ایمیل تأیید میفرستد و تیم را از طریق یک پیامرسان مطلع میکند. همه اینها در یک گردشکار جا میگیرد.
پردازش وبهوکهای ورودی
پرداختها، مخزنهای Git یا هشدارهای مانیتورینگ میتوانند گردشکارهایی را فعال کنند که رویدادها را فیلتر، غنیسازی و دوباره توزیع میکنند. این کار به یک دامنه با گواهی معتبر نیاز دارد، چون بیشتر سرویسها گواهی خودامضا را نمیپذیرند.
خودکارسازی وظایف زمانبندیشده
خروجی گرفتن از پایگاه داده، گزارشهای هفتگی، پاکسازی دادهها: یک محرک cron جایگزین اسکریپتهای پراکنده روی چند ماشین میشود.
اتصال مدلهای هوش مصنوعی
n8n میتواند از داخل یک گردشکار API مدلهای زبانی را فراخوانی کند، مثلاً برای دستهبندی تیکتها یا خلاصهکردن ایمیلها پیش از ارجاع به فرد مناسب.
پرسشهای متداول درباره n8n
گواهی توسط Caddy (tls internal) برای آدرس IP سرور تولید میشود: در این پیکربندی هیچ مرجع عمومی نمیتواند برای یک IP گواهی صادر کند. رمزنگاری فعال است، اما گواهی شناختهشده نیست. یک دامنه متصل کنید تا Caddy گواهی معتبر بگیرد.
درباره n8n بیشتر بدانید
فایلهای نصبشده
همهچیز در /opt/n8n است: اسکریپت install-n8n.sh، فایل docker-compose.yml و Caddyfile. سه ولوم Docker ساخته میشود: n8n_data (دادههای n8n، از جمله کلید رمزنگاری اطلاعات ورود)، caddy_data و caddy_config.
متغیرهای N8N_HOST و WEBHOOK_URL حاوی آدرس IP عمومی شناساییشده هنگام نصب هستند. اگر آدرس یا دامنه را عوض کردید، آنها را بهروز کنید، وگرنه نشانیهای وبهوک که در رابط نمایش داده میشوند اشتباه خواهند بود.
فایروال
n8n مستقیم در دسترس نیست، اما پورت 443 توسط Caddy باز است. بقیه را محدود کنید: SSH، پورت 80 (برای صدور گواهی Let's Encrypt لازم است) و 443 کافیاند.
Bashufw allow 22/tcp ufw allow 80/tcp ufw allow 443/tcp ufw enable
پیش از فعالسازی فایروال، SSH را مجاز کنید، وگرنه نشست خود را از دست میدهید.
بکاپها
مهمترین بخش در ولوم دادههای n8n است. Docker Compose نام آن را با نام پوشه پروژه پیشوند میکند: با docker volume ls بررسی کنید (معمولاً n8n_n8n_data نام دارد)، سپس آن را آرشیو کنید.
Bashdocker run --rm -v n8n_n8n_data:/data -v /root:/backup alpine \ tar czf /backup/n8n-data-$(date +%F).tar.gz -C /data .
آرشیو را به خارج از سرور کپی کنید. بدون کلید رمزنگاری موجود در این ولوم، اطلاعات ورودی که در n8n ذخیره شدهاند قابل بازیابی نیستند.
بهروزرسانیها
فایل Compose از تگ latest استفاده میکند. برای بهروزرسانی:
Bashcd /opt/n8n docker compose pull docker compose up -d
پیش از آن بکاپ بگیرید. برای یک نمونه عملیاتی (production)، میتوانید latest را در docker-compose.yml با یک شماره نسخه مشخص جایگزین کنید و هر زمان که تصمیم گرفتید، پس از مطالعه یادداشتهای انتشار، نسخه را ارتقا دهید.
