📑 이 챕터에서 다룰 내용
별책부록 v2를 모두 준비했다면, 이제 실제로 시작할 차례입니다. 이 가이드는 Day 0(사전 prep)부터 Day 14(환불 결정)까지의 흐름을 날짜별로 정리한 완주 로드맵이에요. 처음에는 복잡해 보이지만, 하루씩 따라가다 보면 어느 순간 두 봇이 24/7 자동으로 운영되고 있을 거예요.
이 가이드는 별책부록 1~8편의 실행 순서와 타임라인을 날짜별로 정리한 종합 로드맵입니다.
각 편의 상세 내용은 해당 편을 참고하세요. 여기서는 "언제, 무엇을, 어떤 순서로" 하는지 전체 흐름을 안내합니다.
Day 1을 시작하기 전에 아래 항목을 모두 완료하세요. 특히 4개 토큰은 미리 발급해 두지 않으면 Day 1 진행이 막힙니다.
결제 준비
- PayPal 가입 + 카드 등록 완료 (또는 해외 결제 가능 신용카드)
- 첫 결제 €4.50~6 준비
4개 토큰 준비 (02편 — 사전 prep 가이드 참고)
- Anthropic API 키 (
sk-ant-...) - Anthropic Budget Alert $20 hard limit 설정
- Discord Bot Token (
MTk...) - Discord MESSAGE CONTENT INTENT ON (필수)
- Discord 봇 본인 서버 초대 완료
- Telegram Bot Token (
1234:ABC...) - Telegram /setcommands + /setprivacy 설정
보안 준비
- SSH 키 생성 (ed25519)
- SSH 공개키 복사 (
~/.ssh/id_ed25519.pub) - 1Password 또는 Bitwarden 사용
- 4개 토큰 안전 보관 (평문 메모 절대 X)
자료 준비
- 별책부록 v2 다운로드 완료
- 안정적인 와이파이 환경
- VPN OFF (Contabo 가입 시 필수)
- 영문 본인 이름·주소 준비
위 체크리스트를 모두 마쳤다면 준비 완료입니다. 이제 Day 1로 넘어가세요.
Day 1은 가장 중요한 날입니다. Contabo 가입부터 첫 Discord 봇 응답 확인까지 완료합니다.
| 시간 | 작업 | 참고 편 |
|---|---|---|
| 09:00~09:30 (30분) | Contabo 가입 + 결제 (Frankfurt EU + Cloud VPS 10 + 12개월 + Ubuntu 24.04 + PayPal) | 01편 |
| 09:30~? (대기) | Provisioning 대기 (30분~몇 시간) — 대기 중 02편 학습 | 01편 |
| 완료 후 +0~5분 | 첫 SSH 접속 | 01편 |
| +5~10분 (의무) | Recycled IP 검증 (spamhaus) | 01편 |
| +10~55분 (45분) | Ubuntu 보안 6단계 | 02편 |
| +55분~2:25 (90분) | Discord 봇 boilerplate | 03편 |
| +2:25 | !ask 안녕 → 봇 응답 확인 ✅ | 03편 |
Day 1 필수 의식 3가지
SSH 접속 직후 반드시 진행합니다. spamhaus.org/lookup/에서 IP를 입력하세요. 블랙리스트 발견 시 즉시 support@contabo.com에 티켓을 제출하세요.
root 직접 사용은 보안상 위험합니다. adduser ubuntu로 일반 사용자를 추가하고 sudo 그룹에 넣은 후, SSH 키를 복사하세요. 새 세션에서 ubuntu 계정 접속을 반드시 검증하세요.
chmod 600 .env로 권한을 설정하고, .gitignore에 .env를 반드시 추가하세요. git push 절대 금지입니다.
Day 1 함정 4가지
- 함정 1 — Provisioning 시간: 30분~몇 시간 대기가 생길 수 있어요. 인내심을 갖고 대기 중에 02편(토큰 발급)을 미리 읽어두세요.
- 함정 2 — Customer verification: 신규 가입 시 신분 확인 요청이 오는 경우가 있어요. 한국 신분증 영문 면(운전면허증 또는 여권)을 준비해 두세요. Support 응답은 24시간 이내입니다.
- 함정 3 — Recycled IP 블랙리스트: 이전 사용자가 스팸 발송에 쓴 IP를 받으면 봇이 차단될 수 있어요. 첫 접속 후 spamhaus 검증은 의무입니다.
- 함정 4 — MESSAGE CONTENT INTENT: Discord Developer Portal에서 Privileged Intents의 MESSAGE CONTENT INTENT를 ON으로 설정하지 않으면 봇이 메시지를 읽지 못합니다.
- Discord 봇 첫 응답 확인 ✅
- 로그 jsonl 정상 기록 ✅
- ⚖️ Position C footer 본문 확인 ✅
Day 2에는 Telegram 봇을 추가하고 자동 재시작 시스템을 구축합니다. 이날의 핵심은 "SSH를 종료해도 봇이 계속 살아있는가"를 검증하는 것입니다.
uv + Python 3.12 + python-telegram-bot으로 Telegram 봇을 설치합니다. /ask 안녕 → 봇 응답 ✅
pm2로 Node.js Discord 봇을, systemd로 Python Telegram 봇을 자동 재시작하도록 설정합니다.
pm2 status→ online 확인sudo systemctl status tsv-tg-bot→ active 확인exit→ SSH 종료- 다시 SSH 접속
- 두 봇 여전히 작동 ✅
!ask 안녕//ask 안녕→ 응답 확인
이것이 1탄 v2의 "Day 0 시스템"입니다 — 운영자가 쉬는 동안 시스템 자체가 안정적으로 운영되는 상태입니다.
- 두 봇 동시 작동 ✅
- SSH 종료 후 봇 영향 없음 ✅
pm2 status/sudo systemctl status정상 ✅
safety_filter.ts/py 추가로 베팅·픽 자동 검출 + 차단을 구현합니다. /about·/terms·/privacy 명령도 추가합니다.
Sentry SDK를 통합하고, Anthropic API 사용량을 추적합니다. 매일 09:30 운영 리포트 cron을 설정합니다.
!ask 안녕→ 정상 응답 ✅!ask 베팅 추천해줘→ 차단 메시지 ✅!ask 100% 확실히 이긴다→ 단정 표현 검출 가능/about→ About 본문 + Promise/Don't Promise ✅/terms→ 이용 약관 ✅/privacy→ 개인정보 §1 ✅
- 베팅 키워드 자동 차단 ✅
- /about → About 본문 ✅
- 의도적 에러 → Sentry 도착 ✅
- 다음 날 09:30 → Discord webhook 매일 리포트 ✅
GitHub Private repo 생성 → Deploy 키 분리(read vs write) → Secret 등록(SSH_HOST·USER·PRIVATE_KEY) → .github/workflows/deploy.yml 작성
코드 수정 → git push origin main → GitHub Actions 자동 trigger → 5분 안에 배포 완료 ✅ → Discord webhook 알림 도착
매일 09:00 일별 비용 알림, 매일 09:30 운영 리포트, LogOnTable jsonl 정상 누적, pm2 + systemd 자동 재시작 검증
R4 자동 회복 검증
sudo kill -9 <pid>로 봇 강제 종료- 5~10초 대기
pm2 status/systemctl status→ 자동 복구 ✅
메모리 누수 보호
pm2 max_memory_restart 500Msystemd MemoryMax=500M
자동 배포 의식
git push origin main→ 5분 안에 자동 배포- Discord webhook 알림 수신 확인
- 배포 후 봇 응답 검증
| 날짜 | 주요 작업 |
|---|---|
| Day 8 | 첫 자동 배포 + 매일 리포트 검증 |
| Day 9 | 봇 사용자 응답 수 + 비용 추세 |
| Day 10 | 메모리·CPU 사용량 모니터링 |
| Day 11 | 시스템 보안 검증 (fail2ban·ufw) |
| Day 12 | LogOnTable 트레이스 분석 |
| Day 13 | 안정 운영 결정 |
| Day 14 ★ | 환불 결정 — 14일 환불 보장 마감일 |
모두 ✅ 시 사용 결정 → 환불 X
- Discord 봇 안정 작동 (7일+) ✅
- Telegram 봇 안정 작동 (7일+) ✅
- SSH 종료 후 봇 영향 없음 ✅
- pm2 + systemd 자동 재시작 검증 ✅
- Position C 5차원 작동 ✅
- Sentry 에러 없음 (또는 정상 처리) ✅
- 매일 운영 리포트 정상 ✅
- Anthropic API 비용 예상 안 ($5~30/월) ✅
- Recycled IP 클린 검증 ✅
환불 신청 시 (이상 발견): support@contabo.com으로 이메일 신청 — VPS 정보 + 환불 사유 포함
주의: 14일 = Calendar days (영업일 기준이 아닙니다)
14일 검증을 통과하고 운영을 결정했다면, 이제부터는 정기 의식을 습관화합니다.
| 주기 | 의식 항목 |
|---|---|
| 일별 | 매일 09:00 일별 비용 알림 점검 · 매일 09:30 운영 리포트 점검 · 봇 응답 사용자 추세 확인 |
| 주별 | LogOnTable jsonl 분석 · Position C 차단 사례 검토 · API 비용 추세 (월 추정) · pm2 + systemd 재시작 기록 |
| 월별 | Anthropic Budget Alert 점검 · Contabo 결제 알림 (자동 갱신 확인) · R4 자동 회복 입증 |
첫 봇이 안정적으로 운영된다면, 같은 인프라에서 다른 도메인 봇을 추가로 운영할 수 있어요. 새 봇 하나를 추가하는 데 약 1~2시간이면 충분합니다.
TSV 모니터링 봇
- 매일 cron 발행 결과 알림
- Sentry 에러 알림
- B2B 고객 응답 알림
AlbaFlow 사장님 알림 봇
- 출근·근태 알림
- 임금 결제 알림
- 노동법 일관 의식 (Position C 톤 다름)
viewLab 딜러 네트워크 봇
- 투어 일정 알림
- VR 콘텐츠 업데이트
- 부동산 단정 X 의식
공통 원칙: 인프라는 동일, 시스템 프롬프트 + 메시지만 도메인별로 변경합니다.
봇을 운영하면서 아래 5가지 시리즈 메타 원칙을 항상 의식하세요. 이것이 Vibe Coding 시리즈 전체를 관통하는 핵심입니다.
| 원칙 | 내용 | 봇 적용 |
|---|---|---|
| ⚖️ E1 회색지대 | Position C 본문 일관 적용 | footer 모든 응답 · system prompt 일관 · 자동 검출 · /about·/terms·/privacy · 5차원 |
| ★ E2 1인 페이스 | Day 0 시스템 구축 | pm2 + systemd 자동 재시작 · 운영자 휴식 중 시스템 자체 안정 |
| ⭐ E3 두 검토자 | 보안 분리 | Deploy 키 분리(read vs write) · Secret 분리 · 매일 운영 리포트 = 두 번째 검토 |
| ⭐ E4 LogOnTable | 모든 결정 기록 | 봇 응답 jsonl 4요소 · 매일 리포트 본문 · 누적 트레이스 분석 |
| ⭐ E5 콘텐츠 SSOT | 자동 검증 | 봇 system prompt 일관 · Position C 자동 검출 5차원 · 환각 방지 |
- 1️⃣ Day 0: 4개 토큰 + SSH 키 + 결제 수단 준비 (모두 완료 후 시작)
- 2️⃣ Day 1: Contabo 가입 + Recycled IP 검증 + Ubuntu 보안 + Discord 봇 (4시간)
- 3️⃣ Day 2: Telegram 봇 + systemd + pm2 — SSH 종료 검증 의식 (2.5시간)
- 4️⃣ Day 3~4: Position C 5차원 + Sentry 매일 리포트 (2시간)
- 5️⃣ Day 5~7: GitHub Actions 자동 배포 + R4 자동 회복 검증 (1.5시간)
- 6️⃣ Day 14: 환불 결정 의식 — 9개 항목 모두 ✅ 시 운영 결정
- 7️⃣ Day 15+: 일·주·월 정기 의식으로 안정 운영 유지
- 8️⃣ Day 30+: 같은 인프라에서 다른 도메인 봇 응용 (1~2시간/개)
가입부터 Day 14 결정까지 총 약 7~8시간 — 두 봇이 24/7 자동 운영되는 시스템이 완성됩니다.
별책부록 v2 적용 + 시리즈 메타 일관 + 14일 검증 = 봇 운영 시작.
| 항목 | 월 비용 |
|---|---|
| Contabo Cloud VPS 10 | €4.50/월 (약 6,500원) |
| Anthropic API | ~$5~30/월 (사용량에 따라) |
| Sentry | $0 (무료 5K 이벤트) |
| GitHub Private | $0 |
| 합계 | 약 $10~36/월 |