Docker

[Docker] n8n 으로 노코딩 workflow 자동화 툴로 이용하자

IT-PAPA 2023. 8. 18. 15:35
728x90
반응형

n8n은 오픈 소스 워크플로 자동화 도구로, 비전문가들도 워크플로우를 구성하고 실행할 수 있도록 도와주는 시각적인 플로우 빌더입니다. n8n은 다양한 애플리케이션 및 서비스 간에 데이터 및 정보를 전송하고 처리하는 데 사용됩니다. 이를 통해 다양한 업무와 작업을 자동화하고 효율성을 향상시킬 수 있습니다.

주요 특징 및 구성 요소:

  1. 시각적 플로우 빌더: n8n은 사용자 친화적인 시각적 인터페이스를 제공하여 노드와 연결을 통해 복잡한 워크플로우를 구성할 수 있습니다. 노드는 데이터를 가져오고 변환하며 다른 서비스로 전달하는 작업을 담당합니다.
  2. 다양한 노드: n8n은 다양한 애플리케이션 및 서비스 간에 연결할 수 있는 다양한 노드를 제공합니다. 예를 들어, 이메일, 스프레드시트, 웹 서비스, 데이터베이스 등 다양한 서비스와 통합이 가능합니다.
  3. 웹훅 및 트리거: 특정 이벤트가 발생했을 때 워크플로우를 자동으로 시작할 수 있는 웹훅 및 트리거를 설정할 수 있습니다. 이를 통해 실시간으로 데이터를 처리하거나 반응하는 작업을 만들 수 있습니다.
  4. 데이터 변환 및 처리: n8n은 데이터를 가져와서 변환하거나 조작하는 다양한 도구와 기능을 제공합니다. 데이터의 형식을 변경하거나 조건에 따라 데이터를 필터링하거나 변환할 수 있습니다.
  5. 인증 및 보안: n8n은 다양한 보안 기능을 제공하여 안전한 환경에서 작업을 수행할 수 있도록 지원합니다. OAuth 및 API 키를 사용하여 연동된 서비스에 안전하게 접근할 수 있습니다.
  6. 커스텀 노드: n8n은 커스텀 노드를 작성하여 사용자의 특별한 요구에 맞게 기능을 확장할 수 있는 확장성을 제공합니다.

n8n은 주로 다음과 같은 상황에서 사용됩니다:

  • 데이터 통합: 여러 서비스에서 데이터를 가져와 중앙 집중식으로 처리하고 저장합니다.
  • 알림 및 통지: 이벤트 발생 시 특정 액션을 수행하도록 자동화된 통지 및 알림 시스템을 구축합니다.
  • 업무 자동화: 반복적이고 시간 소모적인 작업을 자동화하여 생산성을 향상시킵니다.
    n8n은 커뮤니티에 의해 개발되고 유지되는 오픈 소스 프로젝트이므로 무료로 사용하고 수정할 수 있습니다. 자세한 내용은 n8n의 공식 웹사이트나 문서를 참조하시기 바랍니다.

 

환영 | n8n 문서

 

Welcome | n8n Docs

Welcome This is the documentation for n8n, a fair-code licensed node-based workflow automation tool. It covers everything from setup to usage and development. It is a work in progress and all contributions are welcome. Where to start Quickstarts Jump in wi

docs.n8n.io

 

[Docker] 도커의 모든 것, 도커 추천 이미지!!! (tistory.com)

 

[Docker] 도커의 모든 것, 도커 추천 이미지!!!

필자는 이때까지 docker로 구축한 모든 목록을 이 블로그에 담았다. 앞으로도 이 페이지는 필자가 도커를 구축할 때마다 업데이트하려고 하니, 즐겨찾기 해두면 나쁘지 않을 거 같다. 유용하게 사

betwe.tistory.com

 

docker-compose.yml 파일

docker-compose.yml
version: "3"

services:
  traefik:
    image: "traefik"
    restart: always
    command:
      - "--api=true"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.web.http.redirections.entryPoint.to=websecure"
      - "--entrypoints.web.http.redirections.entrypoint.scheme=https"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.mytlschallenge.acme.tlschallenge=true"
      - "--certificatesresolvers.mytlschallenge.acme.email=${SSL_EMAIL}"
      - "--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ${DATA_FOLDER}/letsencrypt:/letsencrypt
      - /var/run/docker.sock:/var/run/docker.sock:ro

  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    labels:
      - traefik.enable=true
      - traefik.http.routers.n8n.rule=Host(`${SUBDOMAIN}.${DOMAIN_NAME}`)
      - traefik.http.routers.n8n.tls=true
      - traefik.http.routers.n8n.entrypoints=web,websecure
      - traefik.http.routers.n8n.tls.certresolver=mytlschallenge
      - traefik.http.middlewares.n8n.headers.SSLRedirect=true
      - traefik.http.middlewares.n8n.headers.STSSeconds=315360000
      - traefik.http.middlewares.n8n.headers.browserXSSFilter=true
      - traefik.http.middlewares.n8n.headers.contentTypeNosniff=true
      - traefik.http.middlewares.n8n.headers.forceSTSHeader=true
      - traefik.http.middlewares.n8n.headers.SSLHost=${DOMAIN_NAME}
      - traefik.http.middlewares.n8n.headers.STSIncludeSubdomains=true
      - traefik.http.middlewares.n8n.headers.STSPreload=true
      - traefik.http.routers.n8n.middlewares=n8n@docker
    environment:
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
    volumes:
      - ${DATA_FOLDER}/.n8n:/home/node/.n8n

 

.env 파일

# Folder where data should be saved
DATA_FOLDER=/root/n8n/

# The top level domain to serve from
DOMAIN_NAME=example.org

# The subdomain to serve from
SUBDOMAIN=n8n

# DOMAIN_NAME and SUBDOMAIN combined decide where n8n will be reachable from
# above example would result in: https://n8n.example.com

# Optional timezone to set which gets used by Cron-Node by default
# If not set New York time will be used
GENERIC_TIMEZONE=Europe/Berlin

# The email address to use for the SSL certificate creation
SSL_EMAIL=example@gmail.com

 

docker-compose 시작

chmod -R 777 .n8n
docker-compose up -d

서비스 확인
서비스 확인

 

서비스 URL 접속

http://n8n.example.org

서비스 URL 접속
서비스 URL 접속

 

로그인 후 설정 팝업

로그인 후 설정 팝업
로그인 후 설정 팝업

 

로그인 완료 후 메인 화면

로그인 완료 후 메인 화면
로그인 완료 후 메인 화면

 

docker-comopse 중지

docker-compose down
728x90
반응형
LIST