Setting up WizBot on Docker

WizBot is written in C# and Discord.Net. For more information visit https://github.com/Wizkiller96/WizBot

Before you start

If your PC falls under any of the following cases, please grab Docker Toolbox instead.

For Windows [Download Link] - Any Windows version without Hyper-V Support - Windows 10 Home Edition - Windows 8 and earlier

For Mac [Download Link] - Any version between 10.8 “Mountain Lion” and 10.10.2 "Yosemite"

Prerequisites

Get a default credentials.json

You can use the following instructions to get a usable credentials.json. You then just have to edit the file with the Discord identifiers you got from the prerequisites.

  • [Windows] Open a command prompt by opening the Start menu, typing cmd then selecting Command Prompt
  • [*nix] Open a terminal
  • [Windows] Go on your home folder by typing cd %userprofile%
  • [*nix] Go on your home folder by typing cd ~
  • Type the following commands
docker run --name _wizbot wizkiller96/wizbot sh
docker stop _wizbot
docker cp _wizbot:/app/credentials_example.json credentials.json
docker rm _wizbot

Start the bot

  • Creates an empty folder. It will contain all WizBot's data, including the credentials.json
  • Download the file docker-compose.yml and place it on the previously created folder.
  • Edit the docker-compose.yml by uncommenting the line image: and commenting the line build:
  • Put your credentials.json in this folder
  • Open a command line, go to the folder with this command line: cd "your_folder"
  • Type the following command to start the bot
docker-compose up -d wizbot

By default, the bot will automatically restart with the Docker daemon with the instruction restart: unless-stopped.

You can see what's going on with the following command. This is very recommanded the first time you run the bot or if something goes south to help you diagnose the issue:

docker-compose logs -ft --tail=50 wizbot

Watchtower

Watchtower is a small utility that monitors Docker containers and update them if a new release is available on the upstream. It can be used to automatically update WizBot.

You will find a configuration sample on the docker-compose.yml. You just have to remove the comment symbol and then docker-compose up -d watchtower to spin it up.

WARNING: as the docker.sock is mount into this container, this means in fact that this container have a full control not only on all containers but also on your computer. You can read more here

Additional Info

If you have any issues with the docker setup, please ask in #help channel on our Discord server but indicate you are using the docker.

For information about configuring your bot or its functionality, please check the documentation.