무료 봇 호스트는 컨테이너가 잠들거나 서비스가 이벤트 도중 꺼지기 전까지만 작동합니다. systemd가 있는 $3 VPS는 봇을 진짜로 온라인으로 유지합니다. 이것은 실행 가이드입니다. 더 자세한 안내와 음악 봇 노트는 VPS에서 Discord 봇 호스팅과 Discord 봇용 VPS 사용 사례를 보세요. 전용 IP 불필요 — Discord 봇은 아웃바운드 연결만 하므로 **NAT 요금제(월 $3부터)**가 이상적입니다.
1. 런타임과 봇 설치 (Node 예시)
apt update && apt install -y curl git
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install -y nodejs
git clone https://github.com/you/your-bot.git /opt/bot
cd /opt/bot && npm ci --omit=dev
2. 토큰을 env 파일에 두기
cat >/opt/bot/.env <<'EOF'
DISCORD_TOKEN=your_token_here
EOF
chmod 600 /opt/bot/.env
3. Restart=always인 systemd 서비스
# /etc/systemd/system/discordbot.service
[Unit]
Description=Discord Bot
After=network.target
[Service]
WorkingDirectory=/opt/bot
ExecStart=/usr/bin/node index.js
EnvironmentFile=/opt/bot/.env
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now discordbot
journalctl -u discordbot -f
Restart=always가 그것을 24/7로 만드는 것입니다 — 새벽 3시의 처리되지 않은 rejection은 봇을 죽은 채 두지 않고 재시작합니다. (자세한 내용은 systemd 서비스 만들기.)
대신 Python?
같은 패턴 — venv와 discord.py, 유닛이 venv의 Python을 가리키도록:
ExecStart=/opt/bot/.venv/bin/python bot.py
참고
- 봇 여러 개? 봇마다 유닛을 복사하거나(
discordbot-a.service, …), 각각을 Docker의--restart unless-stopped로 컨테이너에서 실행하세요. - 음악 봇?
ffmpeg를 추가하고 Micro/Small로 올리세요 — 오디오 인코딩이 여기서 CPU를 원하는 유일한 것입니다. 모든 요금제에서 트래픽은 무제한이므로 스트리밍이 청구서를 올리지 않습니다.
Nano는 월 $3, 약 1분이면 root, KYC 없음, 암호화폐로 결제 — 봇 프로젝트가 끝날 때 버릴 수 있을 만큼 저렴합니다. Telegram 봇도 같은 패턴.
댓글
아직 댓글이 없습니다. 첫 번째가 되세요.