3.1 Installing Congame and Conscript
Below are step-by-step instructions for installing Congame and Conscript on your personal computer.
Conscript is not a distinct application. Rather, it’s a set of software packages that run on top of the Racket programming language environment.
3.1.1 Prerequisites
Congame/Conscript have not yet been tested on Windows.
You’ll need a computer running Linux, Mac OS, or Windows.
3.1.1.1 Install Racket
Download and install Racket for your OS. This will also install DrRacket: The Racket Programming Environment.
Once Racket is installed, update your PATH environment variable to include the directories that contain Racket executables. That way, when you issue common Racket commands, your shell will be able to find those executables.
The simplest way to do this: open DrRacket, then click the Help menu → Configure Command Line for Racket.
Or, if you are using Linux or Mac OS, you may prefer to edit the Bash/ZSH profile config file in your home directory.
To check that Racket and your PATH are set up properly, open a terminal and type this command:
> racket -v |
Welcome to Racket v8.14 [cs]. |
|
If everything went according to design, you should see the output as shown above.
3.1.1.2 Install Docker
To test your studies locally, you’ll need Docker installed. Use the link for your OS below:
Follow the instructions linked above to install and run Docker. On first run, the app may prompt you to create a Docker “account”, but you can safely skip this step if you wish.
3.1.2 Download Congame and Conscript
Download a copy of the Congame/Conscript source code:
You can get the source code as a ZIP file (that’s a direct download link for the most current version) and extract its contents to a suitable location.
Or, if you’re comfortable with Git, you can clone the GitHub repository — again, place the files somewhere permanent and easy to find.
3.1.3 Install the packages
Now the Congame/Conscript packages need to be installed into Racket.
In a terminal, cd into the main "congame" folder and run this command:
Note the trailing slashes! These tell raco pkg to use these local folders as the package source, rather than looking for the packages on the main package catalog.
> raco pkg install congame-core/ congame-web/ congame-cli/ conscript/ congame-doc/ |
If prompted Would you like to install these dependencies? [Y/n/a/c/?], answer a to install all required dependencies.
3.1.4 Build the Docker container
The Congame Docker container is a comparatively simple way to run an entire Congame server on your computer, so you can test your studies before uploading them to a “real” server accessible by other participants.
First, make sure the Docker desktop app is installed and running.
The docker compose terminal commands won’t work unless the Docker app is running.
Make sure you’re on a strong, stable internet connection.
In a terminal, run this command within the main "congame" folder:
> docker compose up |
This command will take 10–15 minutes to complete. This is still quite a bit faster than it would take most people to install, configure and run a web server and a database server, prepare the databases, and configure the web application. Automation is a beautiful thing.
When the command completes, a Congame server will be running on localhost:5100. You can stop it by typing CTRLC in the same terminal window, or by pressing the stop ⏹️ button for the congame container in the Docker desktop app.
3.1.5 Normal use: starting, stopping, and logging in
From this point, when you need to test your studies locally, simply open the Docker desktop app and press the play ▶️ button for the congame container. This will start the Congame server, at which point you should be able to browse to http://localhost:5100 in your browser to see the Congame home page.
If you prefer the command line, you can enter docker compose up from the main "congame" folder to start the Congame server, and press CTRLC in the same terminal window to stop it again. You’ll still need the Docker desktop app runnning in the background, however.
To log in, use the built-in user admin@congame.local with password admin.
When finished, you can stop the Congame server by pressing the stop ⏹️ button for the congame container in the Docker desktop app.
3.1.6 Updating the software
To update to a new version of Congame and Conscript:
Ensure your local Congame container isn’t running.
Update your local copy of the source code:
If you downloaded by cloning the GitHub repository: do a git pull from within the main "congame" folder.
If you downloaded Congame as a ZIP file: download a fresh copy using the download link in Download Congame and Conscript. Delete the old "congame" folder and replace it with the extracted contents of the new ZIP file.
Do raco setup congame conscript to compile the new versions of the packages.
Update the Docker container: with the Docker desktop app running on your computer, run these commands in the terminal:
> docker compose pull
> docker compose build
Unlike the initial setup, this will take only a couple of minutes.