셀프 호스팅 Node-RED: 로컬 자동화 구축 및 어디서든 접근

발행: (2026년 2월 2일 오후 06:14 GMT+9)
9 분 소요
원문: Dev.to

Source: Dev.to

소개

센서, API, 대시보드 및 온라인 서비스를 처음부터 전체 백엔드를 작성하지 않고도 연결하고 싶다면, Node‑RED는 가장 쉽게 채택할 수 있는 도구 중 하나입니다. 흐름도처럼 블록( 노드 라고 함)을 연결하여 자동화 로직을 시각적으로 만들 수 있습니다.

실제 장점은 클라우드 플랫폼이 필요 없다는 점입니다. Node‑RED를 노트북, 데스크톱 또는 Raspberry Pi에 직접 호스팅하면 워크플로우가 여러분의 환경 안에 머무릅니다: 데이터는 사적으로 유지되고, 자동화 로직은 여러분이 제어하며, 모든 것을 제3자 서비스에 넘기지 않고 로컬 장치와 통합할 수 있습니다.

Node‑RED를 외부에 공개하여 원격 액세스나 웹훅을 사용하고 싶다면 Pinggy가 몇 초 만에 보안 터널을 만들어 줍니다.

구축할 내용

  • 로컬에서 실행되는 자체 호스팅 Node‑RED 인스턴스.
  • http://localhost:1880 에서 브라우저 기반 Node‑RED 편집기.
  • Pinggy를 통해 Node‑RED에 원격으로 접근할 수 있는 공개 URL.
  • 외부 서비스로부터 웹훅을 수신할 수 있는 기능.

왜 Node‑RED를 자체 호스팅해야 할까

Node‑RED를 로컬에서 실행하면 다음과 같은 실용적인 이점을 얻을 수 있습니다:

  • 프라이버시: 자동화 로직이 네트워크를 떠나지 않습니다.
  • 로컬 디바이스 접근: 동일 LAN에 있는 하드웨어를 직접 제어합니다.
  • 비용 절감: 지속적인 호스팅 비용이 없습니다.
  • 빠른 프로토타이핑: 배포 단계 없이 즉시 피드백을 받을 수 있습니다.
  • 실시간 디버깅: 자신의 머신에서 흐름을 실시간으로 검사합니다.

대표적인 사용 사례는 다음과 같습니다:

  • 웹훅 수신 (GitHub, Slack, Stripe, Twilio 등).
  • 부재 중 IoT 디바이스 제어.
  • 원격 팀과 대시보드 공유.
  • 프로덕션 전 안전한 통합 테스트.

Node‑RED 개요

Node‑RED는 IBM이 처음 만든 오픈소스 흐름 기반 프로그래밍 도구로, 다음을 연결하도록 설계되었습니다:

  • 하드웨어 장치
  • 데이터베이스
  • HTTP API
  • 자동화 도구
  • 클라우드 서비스

주요 기능

  • 시각적 흐름 편집기(드래그, 드롭, 연결)
  • 방대한 커뮤니티 노드 라이브러리
  • UI 모니터링/제어를 위한 대시보드 지원
  • 사용자 정의 JavaScript 로직을 위한 Function 노드
  • 흐름을 JSON으로 가져오기/내보내기
  • Raspberry Pi에서도 원활히 실행

전제 조건

최근 Node.js 버전(v18 이상)이 설치되어 있는지 확인하세요.

node --version   # should show v18.x or higher

Node.js 설치 (Ubuntu/Debian 예시)

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
npm --version   # verify npm is installed

Node‑RED 설치

전역 설치 (권장)

npm install -g --unsafe-perm node-red

로컬 설치 (선택 사항)

mkdir node-red
cd node-red
npm init -y
npm install --unsafe-perm node-red

설치 확인

# Global
node-red --version

# Local
npx node-red --version

v4.x.x와 같은 버전이 표시됩니다.

Node‑RED 실행

# Global
node-red

# Local
npx node-red

로그는 다음과 비슷하게 표시됩니다:

Node-RED version: 4.x.x
Node.js version: v20.x.x
URL: http://127.0.0.1:1880/

브라우저를 열고 http://localhost:1880 로 이동하여 플로우 편집기에 접근하세요.

간단한 테스트 흐름 만들기

  1. 캔버스에 Inject 노드를 끌어다 놓습니다.
  2. 그 옆에 Debug 노드를 끌어다 놓습니다.
  3. Inject → Debug 를 연결합니다.
  4. Deploy 를 클릭합니다.

인젝트 버튼을 누르면 페이로드가 Debug 패널에 표시됩니다. 이는 Node‑RED가 로컬에서 정상적으로 작동함을 확인시켜 줍니다.

Pinggy로 Node‑RED를 인터넷에 노출하기

많은 프로젝트에서 결국 다음이 필요합니다:

  • 휴대폰이나 태블릿에서 원격 접근
  • 원격 모니터링 대시보드
  • 웹훅 수신 엔드포인트
  • 팀원을 위한 공유 대시보드

Pinggy는 라우터 설정 없이 보안 SSH 터널을 생성합니다.

ssh -p 443 -R0:localhost:1880 qr@free.pinggy.io

Pinggy는 공개 HTTPS URL을 출력합니다, 예:

https://randomstring.a.pinggy.link

그 URL을 브라우저에서 열어보세요. qr@ 옵션은 모바일에서 빠르게 접근할 수 있도록 QR 코드도 출력합니다.

Note: 무료 플랜에서는 재연결할 때마다 URL이 변경됩니다. 안정적인 주소(웹훅에 유용함)가 필요하면 Pinggy Pro의 영구 서브도메인을 고려하세요.

Node‑RED와 웹훅 사용

인터넷에서 접근 가능해지면, 다음과 같은 서비스의 웹훅 호출을 받기 위해 HTTP In 노드를 추가할 수 있습니다:

  • GitHub Actions
  • Slack
  • Stripe 결제
  • Twilio SMS
  • 기타 모든 REST API 제공자

일반적인 흐름 패턴:

  1. HTTP In (listen on /webhook) → Function (process payload) → Switch/Change (logic) → Output (예: 릴레이 토글, 데이터 저장, 알림 전송).

원격 대시보드 구축

Node‑RED Dashboard 노드는 UI 패널(차트, 스위치, 텍스트)을 만들 수 있게 해줍니다. Pinggy URL을 통해 접근하면 다음이 쉬워집니다:

  • 센서 판독값(온도, 습도, 움직임) 모니터링
  • 릴레이 또는 스위치를 원격으로 제어
  • 실시간으로 로그 또는 알림 보기

Development Workflow

  1. Build locally – design and test flows on your machine. → 로컬에서 빌드 – 머신에서 흐름을 설계하고 테스트합니다.
  2. Connect to real webhook providers – use the public Pinggy URL. → 실제 웹훅 제공자에 연결 – 공개 Pinggy URL을 사용합니다.
  3. Iterate quickly – deploy changes instantly, no cloud redeployments needed. → 빠르게 반복 – 변경 사항을 즉시 배포하고, 클라우드 재배포가 필요 없습니다.

This approach gives you the convenience of cloud‑style development while keeping everything under your control. → 이 접근 방식은 클라우드 스타일 개발의 편리함을 제공하면서도 모든 것을 직접 제어할 수 있게 합니다.

Conclusion

셀프‑호스팅 Node‑RED는 가볍고 유연한 자동화 플랫폼을 제공하며, 자체 하드웨어에서 실행됩니다. Pinggy와 함께 터널링하면 일반적인 네트워킹 장벽을 없앨 수 있습니다—라우터 설정도, 포트 포워딩도, 퍼블릭 호스팅 설정도 필요 없습니다.

  • Node‑RED 설치 → 로컬에서 실행 → Pinggy로 노출 → 언제 어디서든 자동화하고, 통합하고, 실험하세요.

플로우는 여러분의 것이고, 시스템은 프라이버시를 유지하며, 자동화는 실제 환경에서 진정으로 활용 가능해집니다.

Back to Blog

관련 글

더 보기 »