ใช้งาน n8n บน Docker แบบง่าย ๆ

n8n by Keptcode.com

Last Updated: 2025-05-15 19:24

Volume (Server/Mac/Windows)

Path: [skeleton]\n8n-101

Language: Command Line

docker volume create n8n_data

Client (Mac/Windows)

Path: [skeleton]\n8n-101

Language: Command Line

# Start
docker run -it --rm \
  --name n8n \ 
  -p 5678:5678 \ 
  -v n8n_data:/home/node/.n8n \ 
  docker.n8n.io/n8nio/n8n:1.93.0

# Stop
docker stop n8n

Server (Cloud, VPS, Linux)

Path: [skeleton]\n8n-101

Language: Command Line

# Start
docker run -d -it --rm \ 
  --name n8n \ 
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  -e N8N_RUNNERS_ENABLED=true \ 
  -e N8N_SECURE_COOKIE=false \ 
  -e N8N_PROTOCOL=http \ 
  -e N8N_HOST="n8n.keptcode.com" \
  -e TZ="Asia/Bangkok" \
  docker.n8n.io/n8nio/n8n:1.93.0

# Stop
docker stop n8n

Nginx (Server/Mac/Windows)

Path: [skeleton]\n8n-101\default.conf

Language: Nginx Config

upstream n8n {
  least_conn;
  server 127.0.0.1:5678;
}

server {

  add_header 'Access-Control-Allow-Origin' '*' always;
  add_header 'Access-Control-Allow-Credentials' 'true' always;
  add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
  add_header 'Access-Control-Allow-Headers' 'Content-Type' always;

  listen 80;
  listen [::]:80;

  server_name n8n.keptcode.com;
  charset utf-8;

  client_body_in_file_only clean;
  client_body_buffer_size 32K;
  client_max_body_size 25m;

  location / {

    proxy_pass http://n8n;

    proxy_connect_timeout 90;
    proxy_send_timeout 90;
    proxy_read_timeout 90;
    proxy_buffer_size 4k;
    proxy_buffers 4 32k;
    proxy_busy_buffers_size 64k;

  }

  access_log off;
  error_log /var/log/nginx/n8n.keptcode.com.error.log;
  error_page 401 403 404 /404.html;

}

Firewall (Server)

Path: [skeleton]\n8n-101

Language: Command Line

sudo ufw allow 5678/tcp comment 'N8N'