웹 주문 폼에서 요청이 들어오면 텔레그램으로 즉시 알림을 받는 시스템을 시놀로지 나스에 구축할 수 있습니다. 시놀로지 나스 텔레그램 알림 시스템은 Docker 컨테이너로 웹 서버를 띄우고, 주문이 접수되면 텔레그램 봇 API를 호출하는 구조입니다. 이 글에서는 로컬에서 개발하고 나스에 배포해서 실제 운영하는 과정을 5단계로 정리합니다.
전체 구조 — 웹 주문 → 나스 처리 → 텔레그램 알림
| 단계 | 구성요소 | 역할 |
|---|---|---|
| 1 | 웹 주문 페이지 | 고객이 이름·연락처·요청사항 입력 |
| 2 | 백엔드 API (나스 Docker) | 주문 데이터 수신 및 저장 |
| 3 | 텔레그램 봇 API | 관리자에게 즉시 알림 발송 |
| 4 | 텔레그램 앱 | 핸드폰·PC에서 주문 내용 확인 |
외부 서버 없이 나스 하나로 웹 서비스와 알림 시스템을 동시에 운영할 수 있습니다. 소규모 쇼핑몰, 상담 접수, 예약 시스템 등에 활용 가능합니다.
1단계. 텔레그램 봇 만들기
시놀로지 나스 텔레그램 알림을 받으려면 먼저 텔레그램 봇을 생성해야 합니다. 텔레그램 앱에서 5분이면 만들 수 있습니다.
봇 생성 절차
| 단계 | 위치 | 내용 |
|---|---|---|
| 1 | 텔레그램 앱 | @BotFather 검색 후 대화 시작 |
| 2 | BotFather 채팅 | /newbot 입력 |
| 3 | BotFather 채팅 | 봇 이름 입력 (예: 주문알림봇) |
| 4 | BotFather 채팅 | 봇 사용자명 입력 (예: myorder_notify_bot) |
| 5 | BotFather 응답 | API 토큰을 복사해서 보관 |
채팅 ID 확인
알림을 받을 대상(본인 또는 그룹)의 채팅 ID가 필요합니다.
- 생성한 봇에게 아무 메시지를 보냅니다
- 브라우저에서
https://api.telegram.org/bot{토큰}/getUpdates에 접속합니다 - 응답에서
"chat":{"id":숫자}부분의 숫자가 채팅 ID입니다
그룹 채팅에 봇을 초대하면 그룹 전체에 알림을 보낼 수도 있습니다.
2단계. 웹 주문 페이지 + 백엔드 API 개발
로컬 PC에서 Claude Code를 활용해 웹 주문 페이지와 백엔드 API를 개발합니다. Python Flask 기반으로 구성하면 코드가 간결하고 Docker 배포가 쉽습니다.
프로젝트 구조
| 파일 | 역할 |
|---|---|
| app.py | Flask 백엔드 — 주문 접수 API + 텔레그램 발송 |
| templates/order.html | 주문 입력 폼 (프론트엔드) |
| requirements.txt | Python 패키지 목록 (flask, requests) |
| Dockerfile | Docker 이미지 빌드용 |
| docker-compose.yml | 나스 배포용 구성 파일 |
주요 기능 흐름
- 고객이 웹 폼에서 이름, 연락처, 요청사항을 입력하고 제출합니다
- Flask API가 데이터를 수신하고 유효성을 검사합니다
- 텔레그램 봇 API(
sendMessage)를 호출하여 관리자에게 알림을 발송합니다 - 주문 데이터를 JSON 파일 또는 SQLite DB에 저장합니다
- 고객에게 접수 완료 페이지를 표시합니다
텔레그램 알림 메시지 예시
📦 새 주문이 접수되었습니다
이름: 홍길동
연락처: 010-1234-5678
요청사항: DS923+ 견적 문의
접수 시간: 2026-08-06 14:30
Claude Code에 “Flask 기반 주문 접수 API를 만들어줘, 텔레그램 봇으로 알림 보내는 기능 포함”이라고 요청하면 위 구조의 코드를 바로 생성할 수 있습니다.
3단계. 시놀로지 나스 Docker에 배포
개발이 완료되면 나스의 Container Manager(Docker)에 배포합니다.
배포 절차
| 단계 | 위치 | 내용 |
|---|---|---|
| 1 | 나스 공유 폴더 | 프로젝트 파일을 /volume1/docker/order-system에 업로드 |
| 2 | SSH 또는 Container Manager | docker-compose up -d로 컨테이너 실행 |
| 3 | 브라우저 | http://나스IP:5000으로 접속하여 정상 동작 확인 |
| 4 | 텔레그램 | 테스트 주문 제출 → 알림 수신 확인 |
docker-compose.yml 주요 설정
| 항목 | 설정값 | 설명 |
|---|---|---|
| 포트 | 5000:5000 | 웹 주문 페이지 접속 포트 |
| 환경 변수 | TELEGRAM_TOKEN | 봇 API 토큰 (외부 노출 금지) |
| 환경 변수 | TELEGRAM_CHAT_ID | 알림 받을 채팅 ID |
| 볼륨 | /volume1/docker/order-system/data | 주문 데이터 영구 저장 |
| 재시작 정책 | always | 나스 재부팅 시 자동 시작 |
텔레그램 봇 토큰과 채팅 ID는 환경 변수로 분리해야 합니다. 코드에 직접 넣으면 보안 위험이 있습니다.
4단계. 도메인 연결 및 HTTPS 적용
실제 운영 환경에서는 도메인과 HTTPS를 적용해야 합니다.
방법 A: Web Station 역방향 프록시 활용
- DSM 제어판 → 로그인 포털 → 고급 → 역방향 프록시로 이동합니다
- 생성을 클릭합니다
- 소스:
https://order.도메인.com(포트 443) - 대상:
http://localhost:5000 - 나스에 Let’s Encrypt 인증서가 적용되어 있으면 자동으로 HTTPS가 적용됩니다
방법 B: Cloudflare Tunnel 활용
포트포워딩 없이 외부 접속을 허용하려면 Cloudflare Tunnel을 사용할 수 있습니다. 공유기 설정을 건드리지 않아도 되는 장점이 있습니다.
5단계. 운영 및 확장
기본 시스템이 완성되면 필요에 따라 기능을 확장할 수 있습니다.
| 확장 기능 | 설명 | 난이도 |
|---|---|---|
| 주문 목록 관리 페이지 | 관리자용 웹 대시보드에서 접수 내역 조회 | 보통 |
| 스팸 방지 | 같은 IP에서 반복 제출 차단, 캡차 추가 | 쉬움 |
| 첨부파일 | 고객이 이미지나 문서를 함께 제출 | 보통 |
| 자동 응답 | 접수 완료 이메일 또는 카카오 알림톡 발송 | 높음 |
| 주문 상태 관리 | 접수→확인→처리완료 단계별 상태 변경 | 보통 |
시놀로지 나스 텔레그램 알림, 주의사항
- 봇 토큰 관리: 봇 토큰이 유출되면 누구나 봇을 통해 메시지를 보낼 수 있습니다. 환경 변수로 관리하고 코드 저장소에 포함하지 않습니다
- 텔레그램 API 제한: 텔레그램 봇 API는 초당 30건, 같은 채팅에는 초당 1건으로 제한됩니다. 일반적인 주문 접수 시스템에서는 문제 없는 수준입니다
- Docker 자동 재시작:
restart: always설정을 해두면 나스 재부팅 후에도 자동으로 서비스가 시작됩니다 - 데이터 백업: 주문 데이터가 저장되는 볼륨 경로를 나스 자동 점검 설정의 스냅샷 대상에 포함시키면 데이터 유실을 방지할 수 있습니다
- 입력값 검증: 웹 폼에서 받는 데이터는 반드시 서버 측에서 유효성 검사를 해야 합니다. XSS, SQL 인젝션 등 보안 위협에 노출될 수 있습니다
시놀로지 나스 텔레그램 알림 시스템, 나스 하나로 구축합니다
시놀로지 나스 텔레그램 알림 시스템은 웹 주문 페이지, 백엔드 API, 텔레그램 봇을 나스 Docker에 올려서 구성합니다. Claude Code로 개발하면 코드 작성부터 배포까지 하루면 충분합니다. 외부 서버 비용 없이 나스 하나로 주문 접수와 실시간 알림을 동시에 처리할 수 있습니다.
나스에 초기 설정이 아직 안 되어 있거나 Docker 환경이 없다면 먼저 구성해야 합니다. 텔레그램 봇 API 공식 문서에서 sendMessage, sendPhoto 등 세부 기능도 확인할 수 있습니다.
주문 접수 시스템 개발이나 나스 자동화 구축이 필요하시면 상담 문의 페이지를 통해 편하게 연락해 주세요.
