Cytomine is an open-source RESTful web platform composed of multiple services encapsulated in Docker containers.
Leveraging Docker power, you can install the whole Cytomine platform on a personal laptop (without collaborative tools), on a virtual machine or a dedicated server in your lab or at large scale, by hosting containers on different machines to increase performance and stability (horizontal scaling).
# Cytomine Bootstrap
Cytomine-bootstrap is the Cytomine installer. Using a single command, the installer runs all required services as Docker containers. The services managed by Cytomine-bootstrap are given in the next figure.
# Cytomine containers
|Nginx||Yes||Main HTTP(S) proxy dispatching incoming requests.|
|Core||Yes||Main Cytomine server. Provide the REST API.|
|Postgres||Yes||Main database. Store most of data.|
|MongoDB||Yes||Secondary database. Store activity data.|
|IMS||Yes||Main image server.|
|IIP||Yes||Fast image extractor.|
|Memcached||Yes||Fast cache for images.|
|Bioformat||No||Support for additional image formats.|
|Software router||No||Manage algorithms and their execution. Required to use algorithms.|
|RabbitMQ||No||Communication between Core and Software router. Required to use algorithms.|
|Slurm||No||Execution server for algorithms. Required to use algorithms.|
|Web UI||No||Web graphical user interface. Required to use a GUI.|