It is recommended to build three Docker images on your hosted machine for proper functionality. Inside the docker_instance directory, you will find three subfolders:
main_workflow_docker - orchestrates the other microservicesmsconvert_docker - handles MS file conversionvalidation_docker - performs data validation and file convertSteps for Docker Based Mass Spectrometry File Converter Installation
git clone https://github.com/NFDI4Chem/cs-ms-converter.git
msconverter-dockercd msconverter-docker
To build the main workflow image, navigate inside the main_workflow_docker directory and run the following command (replace main_api with your desired image name if needed):
docker build -t main_api .
To build the msconvert image, navigate inside the msconvert_docker directory and execute the following command:
docker build -t msconvert_image .
To build the validation image, navigate inside the msconvert_docker directory and run the following command:
docker build -t validation_image .
Once the Docker images have been successfully built, the next step is to launch containers for each service. Before doing so, it is recommended to create a dedicated Docker network to enable seamless communication between these containers.
Use the command below to create a custom network named my_network (as example):
docker network create my_network
The main_workflow container functions as the central orchestrator for the microservices. The command line is used to create a container called nfdi4chem-ms-main-workflow with conditions mentioned above.
docker run -d -ti -p 5000:5000 -v /tmp/input_files:/app/input_files --name nfdi4chem-ms-main-workflow --network my_network main_api
The msconvert service is built upon the ProteWizard container, enhanced with added additional API endpoints to enable automated data conversion. It executes the standard msconvert command and accepts parameters as specified in the official documentation.
Like the main workflow container, this service should be connected to a shared host directory and the my_network Docker network to enable file exchange and inter-container communication. ✅ It is recommended to name the container nfdi4chem-ms-msconvert for consistent communication across the conatiner environment.
Launch the container with the following command:
docker run -d -ti -p 4000:4000 -v /tmp/input_files:/app/input_files --name nfdi4chem-ms-msconvert --network my_network msconvert_image
The validation microservice is based on the official OpenMS container, and has been extended with custom API endpoints to support validation of mzML files, as described in the FileInfo documentation. Additionally, it incorporates functionality to correct or reprocess mzML files using FileConverter.
🚨 For consistency and interoperability, it is recommended to name this container nfdi4chem-ms-validation.
Following the same volume and network setup as in Steps 1 and 2, the container can be launched using the command below
docker run -d -ti -p 3000:3000 -v /tmp/input_files:/app/input_files --name nfdi4chem-ms-validation --network my_network validation_image