Giter Club home page Giter Club logo

dmoj-judge-server's Introduction

Readme

Docker compose stack for running the dmoj judge.

Initialization

  1. Generate the configuration files for the scripts.
bash setup-judges-config.sh
  1. Generate the environment files (.env) and the aliases.
bash init-judges-files.sh

The default configuration for this command can be changed in the init-judges.conf file.

  1. Show the project directory tree to see the new files created by the setupenv.sh script. Using -a to show hidden files and -I to ignore the git hidden directory.
tree -a -I .git .
  1. Load the aliases in the current shell session
source bash_aliases

Or, install the aliases for the current user

cat < bash_aliases >> ~/.bash_aliases

For example, the alias judge1dc allows the execution of the docker compose command in the environment of the judge one.

Build

  1. Build the judge image. If you want to change the image tag, modify the environment variable in the .env file.
docker compose build --pull
  1. Run the judge tests.
docker compose run app test

This command runs the available tests for each language run time.

Judge

  1. Define the judge key in the .env file for the judge one and review the other environment variables.
nano judge1/.env 
  1. Review the environment variables substitution in the docker compose.
judge1dc config
  1. Execute the judge, the -d option runs it in the background.
judge1dc up -d
  1. See the logs for the judge, the -f option waits for the judge output.
judge1dc logs -f

Recreate the judges

  1. Tag the latest image as active.
bash tag-latest-image-as-active.sh
  1. Recreate the judges to use the latest image.
perl recreate-judges.pl

If a judge is not running, it is starting during this process.

dmoj-judge-server's People

Contributors

osmanirosado avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.