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

✨ 주요 기능
- ✅ 성공 알림 - 백업 성공 시 지정 채널로 알림
- ❌ 실패 알림 - 백업 실패 시 별도 채널로 알림
- 📊 상세 정보 - 파일 수, 크기, 소요 시간, 스냅샷 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 # 환경 변수