컴퓨터/n8n

n8n 셀프호스팅 ngrok 이용해서 성공 telegram trigger 셋팅

풍경소리^^ 2025. 6. 25. 16:18

start_n8n.bat

@echo off
chcp 65001 >nul
echo ngrok URL을 가져오는 중...

python get_ngrok_url.py > ngrok_url.txt

set /p NGROK_URL=<ngrok_url.txt
del ngrok_url.txt

if "%NGROK_URL%"=="ERROR" (
    echo ngrok가 실행되지 않았습니다.
    echo 수동으로 ngrok URL을 입력해주세요.
    set /p NGROK_URL="ngrok URL: "
)

if "%NGROK_URL%"=="" (
    echo URL이 입력되지 않았습니다.
    pause
    exit /b 1
)

echo WEBHOOK_URL: %NGROK_URL%
set WEBHOOK_URL=%NGROK_URL%
echo n8n을 시작합니다...
npx n8n

 

get_ngrok_url.py

# get_ngrok_url.py
import requests
import json
import sys

try:
    response = requests.get('http://localhost:4040/api/tunnels')
    tunnels = response.json()['tunnels']
    
    for tunnel in tunnels:
        if tunnel['proto'] == 'https':
            print(tunnel['public_url'])
            sys.exit(0)
    
    print('ERROR')
except:
    print('ERROR')

 

필요한 모듈 설치

pip install requests

 

실행 순서

  1. ngrok 실행: ngrok http 5678
  2. 배치 파일 실행: start_n8n.bat

두 개의 파일 한 번에 실행하는 배치파일

n8n_run_file.bat

@echo off
REM ngrok 실행 (새 창에서)
start "" cmd /k "ngrok http 5678"

REM 대기 시간 설정 (예: 5초)
echo [1단계] ngrok 실행 중... 5초간 대기합니다.
timeout /t 5 /nobreak >nul

REM n8n 실행 (start_n8n.bat 실행)
echo [2단계] n8n 실행 시작
start "" cmd /k "start_n8n.bat"

 

ngrok으로 생성된 주소 (예: https://cbda-200-000-000-000.ngrok-free.app) 로  

웹브라우저 접속

로그인 후

워크플로우 에서 Telegram-message 노드 추가

Telegram account 추가후

Message 라고 설정

 

Execute step 실행

 

빠져나와서

워크플로우 Active 활성화

 

위 3개의 파일 만든 후

실행할 때

n8n_run_file.bat 만 실행하고
"o"만 누르면 웹브라우저 실행됨

이메일 넣고
패스워드 넣고 접속하면 끝