A online platform for distributing exercise sheets and testing exercise submission within Docker
Ruby HTML CSS JavaScript CoffeeScript Gherkin
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
server mv compose file Jan 21, 2018
.gitignore gitignore Jan 21, 2018
.gitmodules init Sep 7, 2016
README.md update instructions Jan 21, 2018
install.txt start production docker compose Dec 15, 2017


The InfoMark application is based on:

  • RubyOnRails as a webframework
  • Resque for background processing of testing code submissions and zipping files for tutors
  • Redis for communications between the web-app and Resque
  • Docker for sandboxing the test environment of submissions


Please refer to the infomark-worker repository.


To configure infomark we need to setup several environment variables:

  • INFOMARK_DATADIR, this is the actual place where the submissions and uploads are stored
  • INFOMARK_DOMAIN_NAME, will be the sender for outgoing mails
  • INFOMARK_MAIL_REGEX, we just allowed to register accounts using mails matching /\A[^@]+@(?:student\.|)uni-tuebingen.de/
  • SECRET_KEY, for running the devise-gem and pre-compile assets

HowTo Run - Locally

First clone this repository to your place by

user@host $ git clone https://github.com/cgtuebingen/InfoMark.git

This package is shipped with a docker-compose configuration which allows you to use this app locally. Warning: This local version inside docker-compose uses Webrick which is single-threaded and not for production! Please refer to our Capistrano file for zero-deploy via Capistrano.

To build everything locally just run

user@host $ cd InfoMark/server
user@host $ sudo docker-compose build
user@host $ sudo docker-compose run web rake db:create
user@host $ sudo docker-compose run web rake db:migrate
user@host $ sudo docker-compose run web rake db:seed

Now everything is ready

user@host $ sudo docker-compose up

Now open http://localhost:3000 your web-browser. You should see the login-area. By default we add an user with login-credentials:

email: root@root.com
passwd: toor