Public Repository

Last pushed: a year ago
Short Description
Expertiza Rails environment, part of docker-compose. -Zhewei
Full Description

If you think it is useful, please star this repo. Happy coding! XD


Expertiza is a web application where students can submit and peer-review learning objects (articles, code, websites, etc). It is used in select courses at NC State and by professors at several other colleges and universities.

Install Docker and Docker-compose

Docker Engine is supported on Linux, Cloud, Windows, and OS X. Please follow the corresponding docker installation instruction and docker-compose installation instruction.

Manage Docker as a Non-root User

Download Expertiza Scrubbed Database

Download Expertiza Scrubbed Database from this link. And unzip the file.

Fork, Clone and Run Setup Script

Fork Expertiza master branch, git clone Expertiza code base. And run the command bash ./

Copy docker-compose.yml.example and Modify

  • Copy docker-compose.yml.example to docker-compose.yml.
  • Modify Line 25 in docker-compose.yml (/your/database/folder/path) to the directory where you store Expertiza Scrubbed Database.
  • [Optional] Change the MYSQL_ROOT_PASSWORD (Line 27 in docker-compose.yml).

Modify config/database.yml

Modify host and password based on database service name (Line 21 in docker-compose.yml) and MYSQL_ROOT_PASSWORD (Line 27 in docker-compose.yml).

Start Docker Compose at Backend

Run docker-compose up &. Please wait for MySQL to setup (2-3 minutes), then you should be able to access Expertiza via on the host machine.

Database Migration

  • docker exec -it [container_id] RAILS_ENV=development rake db:migrate.
  • Run docker ps and replace the [container_id] in above command to current container id of winbobob/expertiza:ruby-2.2.7 image.

Login Expertiza

  • Instructor account: instructor6, password password;
  • Student account: student5432, password password.
    -You can find more usernames in Users table, and all passwords are password.

Common commands

docker images
docker ps 
docker exec -it [container_id] bash
docker stop [container_id]
docker-compose up
docker-compose down
docker-compose logs

If you have any questions, please post on Piazza!

Docker Pull Command