본문 바로가기
카테고리 없음

n8n 설치하기

by 이뫼장 2025. 10. 28.
반응형

n8n 대표 이미지

 

n8n은 앱, API, 웹 서비스 등을 연결하여 반복적인 작업을 자동화 할 수 있도록 돕는  오픈소스 워크플로우 자동화 플랫폼이다. 

"nodemation"의 줄임말로 k8s 처럼 n과 n사이에 문자 8개가 있다고 하여 n8n으로 축약하여 부른다.

 

 

0. 들어가기에 앞서

워크플로우는 말 그대로 일의 흐름을 말하며 본인이 하고 있는 일을 정형화 할 수 있으면 일반적으로는 자동화가 가능하다.

예를 들어 "매일 아침 인프라 모니터링 시스템을 확인 해서 특이사항이 있는 부분을 보고 한다"라는 업무는

  1. 매일(1d) 아침(09:00 am)
  2. 모니터링 시스템(www.monitorinfra.com, 가칭)에 접속 후 모니터링 페이지로 이동
  3. 특이사항을 확인

등의 업무로 정형화 할 수 있으며, (3)번 항목의 특이사항은 아래와 같은 조건으로 정의할 수 있다. 

  1. 디스크 사용률이 80% 이상이다. 
  2. 네트워크 사용률이 80% 이상이다.
  3. CPU 최고 사용률이 5분 이상 90% 이상인 적이 있다. 

 

업무를 정형화 시킨 후 잘 생각해보면 사람의 개입 없이 업무(Work)를 흐름(Flow)대로만 수행하게 자동화하면 매일아침 10분을 줄일 수 있을 것이다. 

 

이것이 바로 n8n 과 같은 work flow 자동화 시스템의 역할이다.

거창하게 엄청난 일을 자동화 해주는 것이 아니고 일상 업무 중 5분, 10분짜리 단순 반복 업무를 자동화 해준다고 생각해야 할 것이다. 

 

 

1. Docker 이미지 확인

n8n의 설치 방법은 npn을 통해 설치하거나 docker로 설치가 가능하며 필자는 Docker(docker compose)로 사용할 예정이다. 

 

npm을 통한 설치는 아래 n8n Docs에서 확인하면 되며, npm 설치도 매우 쉽다. 

npm | n8n Docs

 

npm | n8n Docs

Hosting n8n Installation npm npm is a quick way to get started with n8n on your local machine. You must have Node.js installed. n8n requires a Node.js version between 20.19 and 24.x, inclusive. Latest and Next versions n8n releases a new minor version most

docs.n8n.io

 

현재 글 작성일(25.10월) 기준 lastest 버전은 1.117.2이며, next 버전은 1.118.0이다.

 

docker hub(Docker Hub Container Image Library | App Containerization)에서 n8n을 검색하면 n8n docker 설치에 대한 설명도 확인할 수 있다.

docker hub 사이트 캡쳐

 

사실 pull 경로만 알면 docker hub에 들어갈 필요는 없지만 docker hub 페이지도 자주 들어가야 나중에 이미지를 찾거나 선별하는 능력이 키워지므로 이런 기회에 한번 해보도록 하자!

 

2. n8n Docker 설치하기

필자의 OS 환경은 Rocky Linux 8.9이며 Docker 버전은 26.1.3 이다. 

Docker의 장점이 OS에 상관없이 Docker CLI를 통해 동일한 설치가 가능하단 점이니 OS에 상관 없이 Docker 버전만 유사하다면 필자와 동일한 명령어로 사용 가능하다.

 

각자에 맞게 설치 경로에서 아래 작업을 진행한다. 

 

docker compose 파일을 작성한다.

vim docker-compose.yaml
services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=n8n.yourdomain.com
      - N8N_LISTEN_ADDRESS=0.0.0.0
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - N8N_SECURE_COOKIE=false
      - N8N_RUNNERS_ENABLED=true
      - NODE_ENV=production
      - WEBHOOK_URL=http://n8n.yourdomain.com/
      - GENERIC_TIMEZONE=Asia/Seoul
      - TZ=Asia/Seoul
      - N8N_VERSION_NOTIFICATIONS_ENABLED=false
    volumes:
      - n8n_data:/home/node/.n8n
      - ./local-files:/files
volumes:
  n8n_data:
  • N8N_HOST : 접속 URL. n8n은 URL 기반으로 실행되기 때문에 이후 dns에 등록해주거나 윈도우 hosts 파일에 등록하여 접속 해야 한다. 
    • N8N_ LISTEN_ADDRESS : LISTEN IP 주소
    • N8N_PORT : 접속 포트
    • N8N_SECURE_COOKIE : 쿠키가 HTTPS를 통해서만 전송되게 하는 설정, HTTPS를 사용하기 위해서는 인증서 발급부터 해야한다. 본 글에서는 HTTP 접속으로 설정하므로 false로 설정
    • N8N_RUNNERS_ENABLED : runner (작업실행기)를 실행하는 설정.
    • WEBHOOK_URL : webhook에 접근하기 위한 url
    • N8N_VERSION_NOTIFICATIONS_ENABLED : n8n 접속 시 새 버전이 있는 경우 알림을 줄 것인지에 대한 설정

 

이제 실행하면 된다. (매우 쉬움)

docker compose up -d
  • -d : 데몬 모드로 실행
[root@vm-out-test-001 docker-n8n]# docker compose ps
NAME               IMAGE                     COMMAND                   SERVICE   CREATED         STATUS         PORTS
docker-n8n-n8n-1   docker.n8n.io/n8nio/n8n   "tini -- /docker-ent…"   n8n       4 seconds ago   Up 3 seconds   0.0.0.0:5678->5678/tcp

 

docker compose ps로 확인 시에 STATUS가 계속 초기화 되지 않으면 정상이다.

 

3. 접속하기

먼저 테스트 환경인점을 감안하여 DNS는 사용하지 않는다고 가정한다.

 

PC에 C:\Windows\System32\drivers\etc\hosts 파일에 아래 URL을 추가해줘야 한다. 

x.x.x.x		n8n.yourdomain.com

 

이후 브라우저를 통해 접속 한다.  (http://n8n.yourdomain.com)

n8n 로그인 화면
n8n 계정 생성 화면

"I want to receive security and product updates"는 소식지를 e-mail로 받겠다라는 설정이니 체크 해제 후 Next를 클릭하면 페이지로 진입할 수 있다.

 

진입 후 회사 정보나 포지션 정보를 묻는 창은 정보를 기입하지 않고 get started 를 하면 된다. 

 

그러면 아래와 같은 화면을 만날 수 있다.

n8n 로그인 후 첫 화면

 

Work Flow를 작성하는 법은 추후 다른 편에서 작성할 예정이다.

 

- 끝 -

반응형