Skip to content

pxsit/cms-install-script

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Contest Management System Installation Script

This is a convenience script that is used to install CMS using the Python Virtual Environment (venv) method

Basic Installation

  1. Run the following command in the directory you want to install cms in
wget -O cms-install.sh https://raw.githubusercontent.com/pxsit/cms-install-script/refs/heads/main/cms-install.sh && bash cms-install.sh && rm cms-install.sh
  1. Follow the script instructions
  2. Access at https://localhost:8888 https://localhost:8889 https://localhost:8890
  3. To use scripts like cmsAddUser please activate venv at /usr/cmsuser/cms/target/bin/activate

Old Video Guide

Installation with Website Integration via Cloudflare

For ease of demonstration my websites name will be https://grader.cms.com, https://admin.cms.com, and https://leaderboard.cms.com

  1. Make sure that your domain have an Active status on Cloudflare and that you have port 443,80 Forwarded

  2. Go to DNS -> Records

  3. Add 3 type A records with the name of each records being the name you want your subdomain to be and the IPV4 address be your server's IPV4 address and with Proxied status DNS only. If you have finished you will have something that looked like this image

  4. Run the following command in the directory you want to install cms in

wget -O cms-install.sh https://raw.githubusercontent.com/pxsit/cms-install-script/refs/heads/main/cms-install.sh && bash cms-install.sh && rm cms-install.sh
  1. Follow the scripts instructions and when prompted to link you cms to a website answer Y
  2. Enter the subdomain of each Service, mine will be grader.cms.com, admin.cms.com, and leaderboard.cms.com respectively
  3. (Recommend) Add an SSL certificate using certbot
  4. Once certbot have finished or you decided you don't want an SSL certificate change the Proxied status to Proxied.

Ranking Web Server (RWS) usage

If your CMS only have one contest, RWS will work normally without configuration But if more than one contest is present, you need to configure RWS by editing resource-service.conf in your cms directory by changing the contest id to the contest id you want to have the RWS linked to (beware, other contest will not become accessible)

The contest id will be shown when editing a contest in the admin tab as shown in the image

image

After confiuration, restart the cms services by runnning the following command

sudo systemctl restart cms-log
sudo systemctl restart cms
sudo systemctl restart cms-ranking

Configuration

Configuration can be done at /home/cmsuser/cms/target/etc/cms.toml

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages