discord-bot/restic/README.md
2025-12-16 21:13:39 +09:00

1.8 KiB

📦 Restic Backup Discord Bot

restic 백업 결과를 디스코드로 알려주는 봇입니다.

Python Discord


주요 기능

  • 성공 알림 - 백업 성공 시 지정 채널로 알림
  • 실패 알림 - 백업 실패 시 별도 채널로 알림
  • 📊 상세 정보 - 파일 수, 크기, 소요 시간, 스냅샷 ID 표시

🛠️ 기술 스택

기술 설명
Python 런타임
discord.py 디스코드 API
aiohttp 비동기 HTTP 서버

📡 웹훅 엔드포인트

엔드포인트 설명
POST /success 백업 성공 알림
POST /failure 백업 실패 알림

요청 형식

성공:

{
  "files": "1382",
  "size": "316.110 MiB",
  "duration": "0:01",
  "snapshot_id": "8042b460"
}

실패:

{
  "error": "에러 메시지"
}

🚀 실행 방법

docker compose up -d --build

⚙️ 환경 변수

변수 설명
DISCORD_BOT_TOKEN 디스코드 봇 토큰
DISCORD_SUCCESS_CHANNEL_ID 성공 알림 채널 ID
DISCORD_FAILURE_CHANNEL_ID 실패 알림 채널 ID
WEBHOOK_PORT 웹훅 포트 (5001)

📁 구조

restic/
├── main.py              # 봇 메인 로직
├── docker-compose.yml   # Docker Compose 설정
├── Dockerfile           # 컨테이너 빌드
├── requirements.txt     # Python 의존성
└── .env                 # 환경 변수