Skip to content

RoboBetBot v1.1.0

Choose a tag to compare

@yzRobo yzRobo released this 25 Aug 19:51
· 8 commits to main since this release

RoboBetBot v1.1.0

Docker & NAS Support Release

This release brings comprehensive Docker containerization and native support for NAS devices, making RoboBetBot easier to deploy and manage across all platforms.

What's New

Major Features

Full Docker Support

  • Native Docker containerization for cross-platform deployment
  • Automated container builds with health monitoring
  • Resource management and limits for optimal performance
  • Non-root user execution for enhanced security

NAS Device Integration

  • GUI-based deployment via Dockge, Portainer, and native NAS interfaces
  • Native support for:
    • Synology DSM (Docker Package & Container Manager)
    • QNAP Container Station
    • Unraid (Docker Tab & Compose Manager)
    • TrueNAS SCALE (Apps & Dockge)
    • OpenMediaVault
  • Pre-configured compose files for each platform

New Deployment Options

  • Three deployment methods to suit any skill level:
    1. Portable (Windows) - Zero installation, perfect for sharing
    2. Docker - Professional deployment for servers and NAS
    3. Source - Direct installation for developers
  • Comprehensive comparison guide to help choose the right method

Docker-Specific Enhancements

Automated Setup

  • docker-compose.dockge.yml for one-click GUI deployment
  • Auto-clones from GitHub - no file uploads needed
  • Self-configuring with just a Discord token

Management Tools

  • docker.sh script for Linux/Mac with commands:
    • Build, start, stop, restart containers
    • View logs and status
    • Automated backup/restore
    • Shell access for debugging
  • Cross-platform Makefile for consistent commands

Professional Features

  • Persistent data volumes for database storage
  • Environment-based configuration
  • Health checks with auto-restart
  • Timezone support for proper logging
  • Build optimization with Alpine Linux (smaller images)

Documentation

New Guides

  • DOCKER.md - Complete Docker deployment guide with:

    • Platform-specific instructions for all major NAS brands
    • Volume path configuration for each system
    • Troubleshooting common Docker issues
    • Advanced configurations (external DB, multi-bot, Kubernetes)
  • DEPLOYMENT_OPTIONS.md - Comparison of all deployment methods

  • CONTRIBUTING.md - Guidelines for contributors

Enhanced Documentation

  • Expanded README with Docker quick start
  • Updated setup guide with Docker instructions
  • Migration guides between deployment methods

🛠️ Technical Improvements

  • Container Optimization

    • Alpine Linux base for minimal size (~100MB)
    • Multi-stage builds possible
    • Efficient dependency installation
  • Database Flexibility

    • Support for DATABASE_PATH environment variable
    • Docker volume management
    • Easy backup/restore procedures
  • Security Enhancements

    • Non-root container execution
    • Read-only file system compatibility
    • No exposed ports required

Installation

Docker Quick Start

Option 1: Standard Docker Compose

git clone https://github.com/yzRobo/RoboBetBot.git
cd RoboBetBot
cp .env.example .env
# Edit .env with your Discord token
docker-compose up -d

Option 2: GUI Deployment (NEW!)

For Dockge/Portainer/NAS users:

  1. Create new stack in your GUI
  2. Copy docker-compose.dockge.yml contents
  3. Change DISCORD_TOKEN to your token
  4. Deploy!

No command line or file uploads needed - the container auto-configures itself!

Portable Version (Windows)

Still available and unchanged:

  1. Download from [Releases](https://github.com/yzRobo/RoboBetBot/releases)
  2. Run Setup.bat and RunBot.bat

Developer Setup

npm install
npm start

Deployment Comparison

Method Best For Setup Time Technical Skill
Docker (NEW) NAS, VPS, Servers 2 minutes Basic
Portable Windows users, sharing 1 minute None
Source Development, customization 5 minutes Intermediate

Platform Support

Newly Supported Platforms

  • Synology NAS (DSM 6/7)
  • QNAP NAS
  • Unraid
  • TrueNAS SCALE/CORE
  • OpenMediaVault
  • Any Docker-capable Linux VPS
  • Raspberry Pi (ARM support)
  • macOS with Docker Desktop

Existing Support

  • Windows 10/11 (Portable)
  • Any system with Node.js 16.9+

Migration Guide

From v1.0.0 to v1.1.0

No breaking changes - just new deployment options!

  • Database compatible - Your bets.db works across all deployment methods
  • No code changes - Existing setups continue working
  • Optional upgrade - Switch to Docker when convenient

Switching Deployment Methods

# Portable → Docker
Copy bets.db to ./data/bets.db

# Docker → Portable  
docker cp robobetbot:/data/bets.db ./bets.db

# Any → Any
Just copy the bets.db file!

Bug Fixes

  • Fixed potential database path issues in containerized environments
  • Improved error handling for missing environment variables
  • Better timezone handling for international users

Development

New Scripts & Tools

  • docker.sh - Docker management script
  • Makefile - Cross-platform build commands
  • Enhanced build-portable.js with better error handling

Repository Structure

RoboBetBot/
├── 🆕 Dockerfile                # Container definition
├── 🆕 docker-compose.yml        # Standard Docker deployment
├── 🆕 docker-compose.dockge.yml # GUI deployment optimized
├── 🆕 docker.sh                 # Management script
├── 🆕 Makefile                  # Cross-platform commands
├── 🆕 DOCKER.md                 # Docker documentation
├── 🆕 DEPLOYMENT_OPTIONS.md     # Comparison guide
├── 🆕 CONTRIBUTING.md           # Contribution guidelines
├── bot.js                       # Core bot (unchanged)
├── database.js                  # Database (Docker-aware)
├── commands.js                  # Commands (unchanged)
└── scripts/
    └── build-portable.js        # Portable builder

Known Issues

  • First Docker pull takes 2-3 minutes (downloading dependencies)
  • Some NAS devices may need manual volume path configuration
  • TrueNAS CORE users should use TrueNAS SCALE for easier deployment

What's Next (v1.2.0)

  • Web dashboard for statistics
  • Docker Hub automated builds
  • ARM64 native images
  • Backup automation
  • Multi-server support in single container

Upgrade Instructions

For Existing Users

Currently using Portable (Windows):

No action needed - continue using as normal, or optionally try Docker

Currently using Source:

git pull origin main
npm install
# Optional: Switch to Docker
docker-compose up -d

Want to try Docker:

  1. Stop current bot
  2. Copy your bets.db to ./data/bets.db
  3. Follow Docker quick start above

System Requirements

Docker Deployment (NEW)

  • Docker Engine 20.10+ or Docker Desktop
  • 100MB disk space
  • 128MB RAM
  • Any OS with Docker support

Portable Version

  • Windows 10/11
  • 200MB disk space
  • No changes from v1.0.0

Source Installation

  • Node.js 16.9.0+
  • No changes from v1.0.0

Credits

  • Docker implementation and NAS guides by @yzRobo
  • Thanks to the community for platform testing

Checksums

Docker-Betting-Bot-Portable-v1.1.0.zip
SHA256: [Will be added after build]
MD5: [Will be added after build]

Docker Image: robobetbot:1.1.0
SHA256: [Will be added after build]

Support

License

GPL-3.0 - Ensuring RoboBetBot remains free and open source forever.


Full Changelog: [v1.0.0...v1.1.0](v1.0.0...v1.1.0)

Summary of Changes

  • Added complete Docker support
  • Added NAS device integration
  • Added comprehensive Docker documentation
  • Added Docker management tools
  • Added GUI deployment option
  • Improved security with non-root containers
  • No breaking changes - fully backward compatible