# Introduction
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.
To interact with Cytomine (that is what Cytomine-bootstrap launched), you can use a regular browser and access the graphical user interface (GUI). As a RESTful application, it is possible to interact external clients in different languages (Python, Javascript, Java).
# Cytomine containers
Name | Required | Goal |
---|---|---|
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. |
Install →