Skip to content

Maintenance & Best Practices

  • ✅ Monitor bot health
  • ✅ Check error logs
  • ✅ Review suspicious users
  • ✅ Verify payment processing
  • ✅ Backup database
  • ✅ Review user access logs
  • ✅ Check resource usage
  • ✅ Test recovery procedures
  • ✅ Update Docker images
  • ✅ Review security settings
  • ✅ Audit user permissions
  • ✅ Plan improvements
  • ✅ Full security audit
  • ✅ Review and rotate keys
  • ✅ Performance tuning
  • ✅ Compliance check
  1. Manual Backup

    Terminal window
    docker compose exec postgres pg_dump \
    -U remnawave \
    -d remnawave \
    > backup_$(date +%Y%m%d_%H%M%S).sql
  2. Automated Backup Create /usr/local/bin/backup-bot.sh:

    #!/bin/bash
    DATE=$(date +%Y%m%d_%H%M%S)
    docker compose -f /path/to/docker-compose.yaml exec postgres \
    pg_dump -U remnawave -d remnawave \
    > /backups/bot_$DATE.sql
    gzip /backups/bot_$DATE.sql
  3. Add to Cron

    Terminal window
    crontab -e
    # Run daily at 2 AM
    0 2 * * * /usr/local/bin/backup-bot.sh
  4. Test Restore

    Terminal window
    # Verify backup is valid
    gunzip -c backup_20241110_020000.sql.gz | head -100
Terminal window
# Check for updates
docker pull ghcr.io/jolymmiels/remnawave-telegram-shop-bot:latest
# Update
docker compose pull
docker compose down
docker compose up -d
# Verify
docker compose logs -f remnawave-telegram-shop-bot

Monitor for security updates:

Terminal window
# Check for vulnerabilities
docker scout cves ghcr.io/jolymmiels/remnawave-telegram-shop-bot
# Update base image if issues found
docker compose build --pull

Always check compatibility before updating:

RemnawaveBot
1.62.3.6
2.0.0 - 2.1.93.2.4
2.2.*3.2.5
2.3.*3.5.*
Terminal window
# Never commit .env
echo ".env" >> .gitignore
# Restrict file permissions
chmod 600 .env
# Use strong passwords
openssl rand -base64 32
Terminal window
# Every 90 days
1. Generate new key in payment/Remnawave dashboard
2. Update .env file
3. Restart bot
4. Delete old key after verification
  • Limit admin Telegram IDs
  • Use strong authentication
  • Enable 2FA where available
  • Monitor access logs
Terminal window
# Connect to PostgreSQL
docker compose exec postgres psql -U remnawave -d remnawave
# Check table sizes
SELECT
schemaname,
tablename,
pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename))
FROM pg_tables
ORDER BY pg_total_relation_size(schemaname||'.'||tablename) DESC;
# Vacuum and analyze
VACUUM ANALYZE;
# Check index usage
SELECT * FROM pg_stat_user_indexes ORDER BY idx_scan DESC;

Monitor and adjust:

Terminal window
# Check usage
docker stats remnawave-telegram-shop-bot
# Update limits in docker-compose.yaml
services:
remnawave-telegram-shop-bot:
deploy:
resources:
limits:
cpus: '1'
memory: 1G
Terminal window
# Stop services
docker compose down
# Restore database
gunzip -c backup_latest.sql.gz | \
docker compose exec -T postgres \
psql -U remnawave -d remnawave
# Start services
docker compose up -d
Terminal window
# Check data integrity
docker compose exec postgres psql -U remnawave -d remnawave \
-c "SELECT COUNT(*) FROM subscriptions;"
# Test bot
docker compose logs -f remnawave-telegram-shop-bot

Plan for growth:

Current Users: 1,000
Growth Rate: 20% per month
Estimate: 3,200 users in 6 months
Resource Needs:
- Database: +50GB
- Bot Memory: +200MB
- Network: +100Mbps

Keep detailed records:

  • ✅ Configuration changes
  • ✅ Security incidents
  • ✅ Performance issues
  • ✅ User complaints
  • ✅ System upgrades
IssueCauseSolution
Bot slowHigh trafficScale up resources
DB fullLarge tablesArchive old data
Payments failAPI issueCheck connectivity
Memory leakBuggy versionUpdate bot
  • GitHub Issues: Report bugs
  • Documentation: This site
  • Telegram Community: Join group
  • Commercial Support: Available (contact)