← 블로그로

Docker에 n8n 설치하는 방법 (수동과 원클릭)

· MyPanel

n8n은 오픈소스 워크플로 자동화 플랫폼으로 Zapier/Make의 자체 호스팅 대안입니다. 가장 일반적이고 안정적인 실행 방법은 Docker를 쓰는 것입니다. 이 가이드는 Docker에 n8n 설치하는 법을 처음부터(docker rundocker compose 모두) 보여주고, 이어서 MyPanel로 같은 일을 한 번의 클릭으로 하는 법을 소개합니다.

왜 Docker로 n8n을 실행하나요?

사전 준비

방법 1 — docker run으로 빠르게

데이터 볼륨을 만들고 n8n 컨테이너를 시작합니다:

Terminal window
docker volume create n8n_data
docker run -d --name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n

http://서버IP:5678을 열어 첫 소유자 계정을 만드세요. 데이터(워크플로, 자격 증명)는 n8n이 /home/node/.n8n — 즉 n8n_data 볼륨 — 에 저장하므로 업데이트해도 사라지지 않습니다.

방법 2 — docker compose 사용(권장)

docker-compose.yml을 만듭니다:

services:
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=n8n.example.com
- N8N_PROTOCOL=https
- N8N_PORT=5678
- WEBHOOK_URL=https://n8n.example.com/
- GENERIC_TIMEZONE=Asia/Ho_Chi_Minh
- TZ=Asia/Ho_Chi_Minh
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:

시작: docker compose up -d. 이후 업데이트: docker compose pull && docker compose up -d.

중요: WEBHOOK_URL은 실제 HTTPS URL이어야 합니다. 그렇지 않으면 webhook 트리거(Telegram, GitHub…)가 제대로 동작하지 않습니다.

어려운 부분: 리버스 프록시 + SSL

위 컨테이너는 5678 포트에서 암호화 없이 동작할 뿐입니다. HTTPS 도메인으로 쓰려면 127.0.0.1:5678을 가리키는 리버스 프록시(nginx/Caddy/Traefik)와 Let’s Encrypt SSL 인증서(certbot)가 필요합니다. nginx에서는 WebSocket도 켜야 합니다(n8n은 실시간 UI에 WS 사용):

location / {
proxy_pass http://127.0.0.1:5678;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}

바로 이 부분이 가장 시간이 많이 들고 실수하기 쉽습니다: 프록시 구성, SSL 갱신, 올바른 포트 개방, WebSocket 유지.

Docker로 n8n을 직접 설치할 때 흔한 실수

더 쉬운 방법: MyPanel로 원클릭 n8n

프록시, SSL, 볼륨을 직접 관리하고 싶지 않다면 MyPanelMarketplacen8n이 준비돼 있습니다 — 원클릭 설치:

  1. Marketplace를 열고 n8n을 선택한 뒤 설치를 클릭.
  2. 도메인 입력(서버로 지정 완료).
  3. 설치 클릭 — MyPanel이 이미지를 받아 격리된 Docker 컨테이너에서 실행하고 리버스 프록시 + WebSocket을 구성하며 Let’s Encrypt SSL을 자동 발급합니다.

이후에는 여느 웹사이트처럼 n8n을 관리합니다: 로그, 시작/중지, SSL, 백업. 데이터는 영구 볼륨에 있어 redeploy 후에도 남습니다. Marketplace 가이드 참고.

수동 DockerMyPanel Marketplace
컨테이너 시작명령 입력원클릭
리버스 프록시직접 구성자동
SSL직접 certbot자동 발급 + 갱신
WebSocket수동 추가기본 내장
백업 & 로그직접패널 내

결론

Docker로 n8n을 실행하면 강력한 자체 호스팅 자동화 엔진을 얻습니다. 수동으로도 충분히 가능하지만 프록시 + SSL + WebSocket 계층에서 초보자가 막히곤 합니다. 몇 분 만에 n8n을 HTTPS로 띄우고 싶다면:

👉 명령 한 줄로 무료 MyPanel 설치Marketplace를 열어 n8n을 원클릭 설치하세요 — 무료 플랜으로 시작하기 충분합니다.

MyPanel — 셀프 호스팅 컨트롤 패널: 당신의 Linux 서버에서 웹사이트, WordPress, 데이터베이스, SSL을 관리하세요.