Skip to content

Latest commit

 

History

History
40 lines (32 loc) · 1.4 KB

README.md

File metadata and controls

40 lines (32 loc) · 1.4 KB

mCTF

A platform to host as many CTF contests and problems as you want.

Features

  • Admin Interface to add Problems, Contests, Organizations, etc.
  • Contests for individuals, or enable participants to team up
  • Public Problems for everyone to view and solve outside of contests

Installation

Installation instructions are currently a work in progress. Feel free to join our Discord if you have any questions.

Development Setup

  1. Clone the repository

Using Poetry (Recommended)

  1. Run pip install poetry
  2. Run poetry install
  3. Run poetry shell
  4. Create a file called config.py with the contents of Docker Setup #2
  5. Run python manage.py migrate && python manage.py createsuperuser
  6. To start the server, run python manage.py runserver

Using Docker

  1. Go to mCTF/docker_config.py, Set DEBUG to True and root to "http://localhost:28730" as well as deleting import config2.
  2. docker build -t mctf .
  3. docker run -p 28730:28730 mctf
  4. docker exec -it <container_id> /bin/bash
. .venv/bin/activate
python manage.py migrate
python manage.py createsuperuser
  1. in the docker container, go to /public/scss and delete all *.css files (rm *.css)

Troubleshooting

  • If Django hangs while booting (e.g. no response comes from uWSGI, or worker is killed frequently in Gunicorn), it may be hanging trying to connect to the cluster.