2025년 04월 13일

Synology NAS Docker에 n8n 설치 및 HTTPS 설정 가이드

Synology NAS Docker에 n8n 설치 및 HTTPS 설정 가이드

IT 관련/AI

2025-02-18 16:32:14


(제 나스에 설정하기 위해 GPT에 여러번 물어본 답변. 안될수도 있음.)

본 가이드는 Synology NAS에서 Docker를 이용해 n8n을 설치하고, HTTPS를 적용하여 도메인 기반으로 접근하는 방법을 설명합니다.

1. Docker에서 n8n 컨테이너 생성 및 실행

이미지를 다운로드한 상태에서 컨테이너를 생성합니다.

1-1. 시놀로지 Docker에서 n8n 컨테이너 생성

  1. DSM에 로그인 후 Docker 앱 실행
  2. 이미지 탭에서 n8nio/n8n 이미지를 선택 후 “실행” 클릭
  3. 컨테이너 이름을 설정 (예: n8n_server)
  4. 고급 설정 클릭 후 아래 설정 적용

1-2. 환경 변수 설정

고급 설정 → 환경 변수 탭에서 아래 변수를 추가합니다.

환경 변수설명
N8N_HOSTaaa.bbb.ccc도메인 설정
N8N_PORT5678n8n 내부 포트
N8N_PROTOCOLhttpsHTTPS 사용 설정
WEBHOOK_URLhttps://aaa.bbb.ccc/n8n/웹훅 URL 설정

1-3. 포트 설정

포트 설정 탭에서

  • 로컬 포트: 5678
  • 컨테이너 포트: 5678

1-4. 볼륨 설정

n8n 데이터를 유지하기 위해 볼륨을 마운트합니다.

  1. 볼륨 탭에서 폴더 추가
  2. docker/n8n 폴더를 생성 후 추가
  3. 마운트 경로/home/node/.n8n

컨테이너 실행 후 적용합니다.


2. 리버스 프록시 설정 (aaa.bbb.ccc/n8n 연결)

Synology NAS에서는 Nginx 기반의 역방향 프록시를 설정해야 /n8n 경로에서 접근이 가능합니다.

2-1. 리버스 프록시 설정

  1. DSM → 제어판 → 응용 프로그램 포털 → 역방향 프록시 탭 이동
  2. 새로운 역방향 프록시 규칙 생성
    • 설명: n8n_proxy
    • 소스
      • 프로토콜: HTTPS
      • 호스트 이름: aaa.bbb.ccc
      • 포트: 443
    • 대상
      • 프로토콜: HTTP
      • 호스트 이름: localhost
      • 포트: 5678
  3. “고급 설정” 클릭 후 아래 체크
    • “웹소켓 허용” 체크
    • “HSTS 활성화” 체크

2-2. /n8n 서브 디렉토리 매핑 설정

SSH를 이용해 Nginx 설정 파일을 수정합니다.

SSH 접속 방법

  1. DSM → 제어판 → 터미널 및 SNMP
  2. SSH 서비스 활성화 체크 후 적용
  3. SSH 클라이언트를 사용하여 NAS에 접속ssh [email protected]
  4. 관리자 비밀번호 입력 후 로그인

Nginx 설정 파일 수정

sudo -i
vi /etc/nginx/app.d/server.ReverseProxy.conf

아래 내용을 추가합니다.

location /n8n/ {
    proxy_pass http://localhost:5678/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    rewrite ^/n8n(/.*)$ $1 break;
}

Nginx 설정 적용

nginx -t
synoservice --restart nginx

3. HTTPS 인증서 발급 및 적용

Let’s Encrypt 인증서를 발급하여 HTTPS를 활성화합니다.

3-1. Let’s Encrypt 인증서 발급

  1. DSM → 제어판 → 보안 → 인증서
  2. “새로운 인증서 추가”
  3. “Let’s Encrypt” 선택 후 도메인(aaa.bbb.ccc) 입력
  4. 이메일 입력 후 발급

3-2. HTTPS 적용

  1. DSM → 응용 프로그램 포털 → 역방향 프록시
  2. n8n_proxy 선택 후 “편집” 클릭
  3. SSL 인증서 탭에서 Let’s Encrypt 인증서 선택 후 적용

4. n8n 컨테이너 로그 확인 방법

SSH를 통해 컨테이너 상태를 확인할 수 있습니다.

실행 중인 컨테이너 목록 확인

docker ps

n8n 로그 확인

docker logs -f n8n_server

특정 오류 로그만 확인

docker logs n8n_server 2>&1 | grep "error"

5. 최종 확인 및 테스트

이제 웹 브라우저에서 https://aaa.bbb.ccc/n8n/ 로 접속하여 n8n이 정상적으로 실행되는지 확인합니다.

접속이 안 될 경우

  • nginx -t를 실행하여 설정 오류 확인
  • docker logs n8n_server를 실행하여 n8n 로그 확인

이제 Synology NAS에서 n8n을 HTTPS 기반으로 사용할 수 있습니다!

#n8n #시놀리지