- Database: MongoDB
- Web server: Apache
- Web application: Laravel framework (PHP)
- Docker to run the database and the web application in contained environments
Nothing is installed directly on your machine, except for Docker. The database and the web application run in Docker containers, which are plain Linux processes running them as child processes. The Docker containers communicate across a virtual private network. When importing data, a third Docker container is temporarily created and runs a Python script sending data to the Docker database container.
The Docker containers are created from Docker images downloaded from Docker Hub during the installation of the iReceptor turnkey. Here are the Docker Hub links for each Docker container:
- Docker image for ireceptor-dataloading: https://hub.docker.com/r/ireceptor/dataloading-mongo
- Docker image for ireceptor-database: https://hub.docker.com/r/ireceptor/repository-mongodb
- Docker image for ireceptor-api: https://hub.docker.com/r/ireceptor/service-php-mongodb
Each Docker image on Docker Hub is generated from a GitHub repository. Here are the GitHub repositories for each Docker image:
- https://github.com/sfu-ireceptor/dataloading-mongo
- https://github.com/sfu-ireceptor/repository-mongodb
- https://github.com/sfu-ireceptor/service-php-mongodb
In each GitHub repository, there's a file named Dockerfile
which contains the instructions to build the proper environment for the source code.