Judo [Justchess-Docker] provides the easy way to set up a local development
environment using Docker.
First install the Docker Engine or Desktop (see https://docs.docker.com/engine/install).
Secondly make sure that docker compose CLI tool is installed.
Once everything is ready, clone this repository:
git clone https://github.com/treepeck/judo
cd judo
Finally, execute ./judo.sh download (works via WSL on Windows) script that
will download the source code from GitHub repos.
The JustChess project consists of the following services:
mysql- database that stores player's credentials, active sessions and
completed games.testdb- disposable database that provides an isolated layer for running
tests.justchess- HTTP and WebSocket server, written in Go.
See docker-compose.yaml for details about the network ports used by these services.
docker-compose.yaml expects the following configuration files to be located in
the config folder:
mysql.env- defines the MySQL user credentials and database name.mysql.conf- enables the MySQL event scheduler to clean up expired sessions.testdb.env- defines the MySQL user credentials and database name for testdb.justchess.env- defines the URL for connecting to the database.
To run all services, execute this command in the judo folder:
./judo.sh start
You might need to prefix this command with sudo if you haven’t configured
the system permissions for the Docker.
Changes to Go files require service restart, while changes to frontend files are
displayed automatically.
To restart the service, execute this command:
./judo.sh restart <service>
To create a disposable MySQL database and run all tests, start the justchess
service and execute this command:
./judo.sh test
The following commands will delete all resources, allocated by judo services:
./judo.sh stop
./juso.sh remove
You can also run docker system prune to clean the image build cache.
Copyright (c) 2025 The JustChess Authors.
This project is available under the Mozilla Public License, v. 2.0.
See the LICENSE file for details.