Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Development Environment

The first thing a developer will need to do is to setup the development environment. It is common for developers to be working in different environments (Windows, Linux, Mac OS etc..) especially on open source projects and distributed teams. In order to set up a development environment which typically would involve installing softwares like Java, MySQL, tomcat, PHP etc, it can take up anywhere from hours to days depending on what all is required. 


To minimize the effort and to ensure every developer is working with the same software versions (i.e development environment), SCSB uses Docker Containers.

Prerequisites

Docker

In order to install Docker, please visit https://docs.docker.com and follow the instructions available there for the relevant Operating System.

Github

Please visit https://github.com/ and create a new account.

Getting Started

Fork ReCAP SCSB Repository

The main repo is at https://github.com/ResearchCollectionsAndPreservation/docker.git
Once forked, clone the repository onto your local machine by following the steps below;

...

Code Block
languagebash
cd docker

Steps to build docker image and run docker container

Under the docker folder, the user will find the following folders. Each folder represents a separate container and will need to be built and initiated manually by the user. The below paragraphs would deal on the commands that are to be used along side the file location where these needs to be used.

scsb-mysql

This directory, as the name suggests, holds the MySQL instance and the SQL scripts that are to be run as part of setting up the database and the relevant tables. This will have the docker file, config file and script files. The below steps help in building the image and running the container resulting in a MySQL instance persisting data for SCSB application.

...

Executing the above commands will create an image and run the container resulting in a MySQL instance running on 3306 port. 

scsb-activemq

This directory holds the activemq instance that handles the queues to and from SCSB application. This will have the docker file and config files to build docker image. The below steps help in building the image and running the container that would help activemq handle the queues.

...

Executing the above commands will create an image and run the container resulting in an activemq instance accessible on port 8161, 61616 and 1099. 8161 is for administration, 61616 is tcp and 1099 is STOMP.

scsb-solr-server

This directory holds the solr server instance that holds solr indexed data from SCSB. This will have the docker file and script file to build docker image. The below steps help in building the image and running the container that would host the solr server that will handle the solr indexed SCSB data.

...

Executing the above commands will create image and run the container resulting in a solr server instance running on port 8983.

scsb-solr-client

This directory holds the solr client instance that would help in accessing the solr indexed data from SCSB. This will have the docker file and script file to build docker image. The below steps help in building the image and running the container that would host the solr client that will help in retrieving data from the solr server.

...

Executing the above commands will create image and run container running in a solr client application running on port 9090.

scsb

This directory holds the scsb project and will have the docker file and script file to build docker image. The below steps help in building the image and running the container that would host the scsb project.

...

Executing the above commands will create the image and run the container resulting in the scsb application running on port 9093.

scsb-shiro

This directory holds the shiro project that will help in authentication and authorization of requests into SCSB. This will have the docker file and script file to build docker image. The below steps help in building the image and running the container that would host the shiro module.

...

Executing the above commands will create an image and run the container resulting in SCSB Shiro application running on port 9092.

scsb-ui

This directory holds the UI module of the SCSB project and will have the docker file and script file to build docker image. The below steps help in building the image and running the container that would host the UI module.

...