본문 바로가기
기술공부

Synology NAS와 Web Station으로 n8n 초간단 셀프 호스팅 구축하기

by 위카룬 2025. 6. 4.
반응형
반응형

안녕하세요! 자동화 매니아 여러분, 오늘은 코딩 없이도 강력한 자동화 워크플로우를 구축할 수 있는 n8n을 Synology NAS에 설치하고, 외부에서도 여러분의 Synology DDNS 주소(예: n8n.XXXX.synology.me)로 편리하게 접속할 수 있는 가장 간단한 방법을 공유하려고 합니다. 바로 Synology의 Web Station과 Container Manager의 연동 기능을 적극 활용하는 것입니다!

복잡한 설정 없이, Synology가 제공하는 편리한 기능들을 통해 나만의 자동화 서버를 빠르게 구축해 보세요!

 

오늘의 목표:

  1. Synology NAS에 Container Manager를 이용해 n8n 설치
  2. Container Manager 설정 시 "Web Station을 통한 웹 포털 설정 활성화" 옵션 사용
  3. Web Station에서 생성된 포털을 통해 Synology DDNS 주소로 n8n 접속 설정
  4. n8n 환경 변수 설정을 통해 외부 접속 및 웹훅(Webhook) 정상 작동 보장

준비물:

  • Synology NAS (DSM 최신 버전 권장)
  • Container Manager 패키지
  • Web Station 패키지
  • Synology DDNS 설정 완료 (예: XXXX.synology.me)
  • (선택 사항) SSL 인증서 (Let's Encrypt 등) - HTTPS 접속을 위해 강력 권장

단계 1: 필요한 패키지 다운로드

가장 먼저 Synology NAS에 필요한 패키지들을 설치합니다. 이미 설치되어 있다면 이 단계는 건너뛰셔도 됩니다.

  1. DSM에 로그인 후 패키지 센터를 실행합니다.
  2. 검색창에서 "Container Manager"를 검색하여 설치합니다. (이전 버전의 DSM에서는 "Docker"일 수 있습니다.)
  3. 같은 방법으로 "Web Station"을 검색하여 설치합니다.

Docker

이 두 가지 패키지만 설치하면 기본 준비는 끝입니다!


단계 2: Container Manager에서 n8n 다운로드, 설치 및 설정

이제 Container Manager를 이용해 n8n 이미지를 받고 컨테이너를 실행시켜 보겠습니다.

      • Container Manager를 실행합니다.
      • 왼쪽 메뉴에서 레지스트리를 선택합니다.
      • 상단 검색창에 n8n 또는 n8nio/n8n을 입력하고 검색합니다.
      • 검색 결과에서 n8nio/n8n을 찾아 더블 클릭하거나 선택 후 "다운로드" 버튼을 누릅니다.n8n 이미지 다운로드:
    • 태그 선택 창이 나타나면 latest를 선택하고 다운로드합니다.
    Container Manager 레지스트리에서 n8n 이미지 다운로드 화면 예시
  1. n8n 컨테이너 실행 및 설정:
    • 이미지 다운로드가 완료되면 왼쪽 메뉴의 이미지 탭으로 이동합니다.
    • 다운로드된 n8nio/n8n:latest 이미지를 선택하고 오른쪽 마우스 클릭 후 실행을 선택하거나, 상단의 실행 버튼을 누릅니다.

    • 이제 컨테이너 설정 창이 나타납니다. 아래 내용을 참고하여 설정해주세요.
      • 컨테이너 이름: 원하는 이름을 입력합니다 (예: my-n8n-server).
      • 자동 재시작 활성화: 체크합니다. (NAS가 재부팅될 때 n8n 컨테이너도 자동으로 실행됩니다.)
      • Web Station을 통한 웹 포털 설정 활성화: 반드시 체크합니다. 이 옵션이 활성화되면 Container Manager가 Web Station에 n8n 접속을 위한 기본 포털을 만들어줍니다.
      • 컨테이너 포트: 기본값 5678 (HTTP)로 설정되어 있을 것입니다. 이 포트는 n8n 컨테이너 내부에서 사용하는 포트입니다. (변경하지 않는 것을 권장합니다.)일반 설정: (아래 스크린샷 참고)

    • 고급 설정 버튼을 클릭합니다.
    • 볼륨 설정:
      • + 폴더 추가 버튼을 클릭합니다.
      • 파일/폴더: n8n 데이터를 저장할 NAS 내의 폴더를 선택합니다. (예: docker 공유 폴더 아래에 n8n_data 폴더를 미리 만들어두고 선택)
  1.  
    • ✨ 중요: n8n 데이터 폴더 권한 설정 (File Station)
      1. Synology DSM에서 File Station을 실행합니다.
      2. 왼쪽 탐색 창에서 n8n 데이터를 저장하기 위해 생성하고 선택했던 폴더 (예: docker 공유 폴더 내의 n8n_data 폴더)로 이동합니다.
      3. 해당 폴더(예: n8n_data)를 마우스 오른쪽 버튼으로 클릭한 후 속성을 선택합니다.
        n8n_data 폴더 우클릭 후 속성 선택 화면
         
      4. 권한 탭으로 이동합니다.
      5. 고급 옵션 드롭다운 메뉴를 클릭하고, 상속된 권한을 명시적 권한으로 만들기를 선택합니다. (이 단계를 통해 상위 폴더로부터 상속받는 권한 대신 이 폴더만의 독립적인 권한을 설정할 수 있게 됩니다. 이미 명시적 권한만 있다면 이 옵션이 비활성화되어 있을 수 있습니다.)
      6. 권한 목록에서 Everyone 사용자 (또는 그룹)를 찾습니다. 만약 Everyone이 보이지 않는다면, 생성 버튼을 눌러 사용자로 Everyone을 선택하고 추가할 수 있습니다.
      7. Everyone을 선택하고 편집 버튼을 클릭합니다.
      8. 권한 편집 창이 나타나면, 읽기 권한 그룹과 쓰기 권한 그룹에 있는 모든 체크박스를 선택하여 모든 읽기 및 쓰기 권한을 부여합니다.

      9. 창 하단의 이 폴더, 하위 폴더 및 파일에 적용 체크박스가 반드시 선택되어 있는지 확인합니다. 이 옵션이 선택되어야 n8n_data 폴더 내부의 모든 하위 항목에도 동일한 권한이 적용됩니다.
      10. 저장 (또는 확인) 버튼을 눌러 권한 설정을 완료합니다. 속성 창도 저장 (또는 확인) 버튼을 눌러 닫습니다.
       
      • 마운트 경로: /home/node/.n8n 을 정확히 입력합니다. (이 경로에 n8n의 모든 데이터, 워크플로우가 저장됩니다.)

      n8n 컨테이너 볼륨 설정 화면
    • n8n 컨테이너가 방금 설정한 NAS 내의 데이터 폴더(예: docker/n8n_data)에 정상적으로 워크플로우, 설정 등을 저장하고 읽어올 수 있도록 폴더 권한을 설정해야 합니다. 이 과정이 누락되면 n8n이 제대로 작동하지 않거나 데이터 저장에 실패할 수 있습니다.
  2.  
      • + 추가 버튼을 눌러 다음 환경 변수들을 하나씩 추가합니다.
        • 변수: N8N_HOST / 값: n8n.XXXX.synology.me ( 외부 액세스- DDNS 에서 주소 확인)
        • 변수: N8N_PROTOCOL / 값: https
        • 변수: WEBHOOK_URL / 값: https://n8n.XXXX.synology.me/ (반드시 https://로 시작하고, 주소 끝에 /를 포함해야 합니다.)
        • 변수: N8N_PORT / 값: 5678 (컨테이너 포트와 동일하게 설정)환경 변수 설정:
      n8n 컨테이너 환경 변수 4개 추가 화면
    • 네트워크 설정:
    • 네트워크 드롭다운 메뉴에서 host를 선택합니다. (사용자님의 원래 설명에 따라 'host' 모드로 설정합니다. 이렇게 하면 컨테이너가 NAS의 네트워크를 직접 사용하며, 5678 포트를 NAS에서 직접 사용하게 됩니다.)
    • 모든 설정이 완료되었으면 다음을 누르고 요약 정보를 확인한 후 완료 버튼을 눌러 컨테이너를 생성하고 실행합니다.

단계 3: Web Station 실행 및 연결 설정

Container Manager에서 "Web Station을 통한 웹 포털 설정 활성화" 옵션을 체크했기 때문에, Web Station에 n8n을 위한 기본적인 설정이 준비되었을 수 있습니다. 우리는 이것을 우리가 원하는 DDNS 주소와 연결할 것입니다.

  1. Web Station을 실행합니다.
  2. 왼쪽 메뉴에서 웹 포털을 선택합니다.
  3. 생성 버튼을 클릭하고 웹 서비스 포털을 선택합니다. (만약 Docker 컨테이너 실행 후 자동으로 포털이 생성되었다면, 해당 포털을 선택하고 "편집"을 눌러 아래 설정을 적용할 수도 있습니다.)
  4. 다음과 같이 설정합니다:
    • 서비스: 드롭다운 메뉴에서 Docker [컨테이너 이름] (예: Docker my-n8n-server) 또는 n8n 컨테이너와 관련된 항목을 선택합니다. 이것이 Container Manager에서 설정한 n8n 컨테이너를 가리킵니다.
    • 포털 유형: 이름 기반을 선택합니다.
    • 호스트 이름: 앞에서 환경 변수 N8N_HOST에 입력했던 주소와 동일하게 입력합니다 (예: n8n.XXXX.synology.me). (https:// 는 제외하고 도메인만 입력)
    • 포트:
      • HTTP: 활성화 여부를 선택합니다 (기본 80).
      • HTTPS: 활성화 여부를 선택합니다 (기본 443). SSL 인증서를 사용한다면 반드시 활성화합니다. 
    패키지 서버 포털 편집
    저장 (또는 확인/생성) 버튼을 눌러 설정을 완료합니다.

 

SSL 인증서 설정 (HTTPS 접속을 위해 중요!)

만약 https://n8n.XXXX.synology.me로 접속하고 싶다면 SSL 인증서가 필요합니다.

  1. 제어판 > 보안 > 인증서로 이동합니다.
  2. 추가를 눌러 새 인증서를 만듭니다. "Let's Encrypt에서 인증서 가져오기"를 선택하고 n8n.XXXX.synology.me 도메인에 대한 인증서를 발급받습니다. (이 과정에서 공유기에서 NAS로 80번 포트가 포트포워딩 되어 있어야 합니다.)
  3. 인증서가 발급되면, 구성 탭에서 n8n.XXXX.synology.me (또는 방금 Web Station에서 생성한 포털 이름) 서비스에 해당 인증서를 할당합니다.


단계 4: 접속 확인 및 n8n 초기 설정

모든 설정이 완료되었습니다! 이제 웹 브라우저를 열고 주소창에 https://n8n.XXXX.synology.me (또는 SSL 설정을 안 했다면 http://n8n.XXXX.synology.me)를 입력하여 접속합니다.

n8n 초기 사용자 설정 화면



n8n 초기 설정 화면이 나타나면 성공입니다! 이제 관리자 계정을 만들고 로그인하여 다양한 자동화 워크플로우를 구축해보세요. WEBHOOK_URL 환경 변수 덕분에 외부 서비스와의 웹훅 연동도 문제없이 작동할 것입니다.


마치며

Synology NAS의 Container Manager와 Web Station의 자동 포털 기능을 활용하면, 복잡한 네트워크 설정 없이도 매우 간편하게 n8n 셀프 호스팅 환경을 구축할 수 있습니다. 이 방법을 통해 외부 유료 서비스에 의존하지 않고 자유롭게 자동화 시스템을 운영할 수 있다는 큰 장점이 있습니다.

반응형