Please go to this repository for up-to-date deployment guidance. This repo is for experiments.
OMERO can be deployed easily through docker compose
Docker compose CLI (docker compose
is different from docker-compose
) can deploy containers to AWS ECS following this guide. Make sure you have proposer Amazon ECS account settings before deployment, like
You can generate an AWS CloudFormation (CFN) template from the docker-compose.yml file in this repo through docker compose convert
. The generated template will deploy on Amazon ECS Fargate with limited CPU and MEM requirements. To imporve the performance, a modified version of CFN template OMEROonFargate.yml can be used in 1-click deployment:
You can use your existing AWS VPC and Subnet. If you have HIPAA compliant requirement, you can use the VPC and Subnet created through this HIPAA Reference Architecture deployment.
After deployment, the DNS name can be obtained in the outputs of CFN stack:
The Web UI can be accessed through: http://DNSname:4080/
If you want to use EC2 launch type for OMERO server instead of Fargate, you can use a different CFN template OMEROonEC2.yml for 1-click deployment:
You can use Amazon EFS volumes as persistent storage for OMERO server container running on Amazon ECS, which can be available through CFN deployment as well.
A modifed CFN template OMEROonEC2EFSAccessPoint.yml can be used for 1-click deployment:
The PostgreSQL database can run on Amazon RDS. Another CFN template OMEROonEC2EFSRDS.yml can be used for 1-click deployment:
The Hight Availability (HA) deployment of OMERO with single read write server can be used for 1-click deployment:
The diagram of Architecture is here:
To install AWS CLI and omero-py on the EC2 instance running OMERO server container, run the following scriptsafter login the instance:
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
curl -LO https://anaconda.org/anaconda-adam/adam-installer/4.4.0/download/adam-installer-4.4.0-Linux-x86_64.sh
bash adam-installer-4.4.0-Linux-x86_64.sh -b -p ~/adam
echo -e '\n# Anaconda Adam\nexport PATH=~/adam/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
conda install -c anaconda libstdcxx-ng -y
conda install -c anaconda libgcc-ng -y
conda create -n myenv -c ome python=3.6 bzip2 expat libstdcxx-ng openssl libgcc zeroc-ice36-python omero-py -y
sudo yum install java-11-amazon-corretto-headless -y
source activate myenv
You can download image from AWS S3 using command:
aws s3 cp s3://xxxxxxxx.svs .
and then use OMERO client CLI on the EC2 instance to import the image to OMERO:
omero login
provide the DNSname:4046, root and omero
omero import ./xxxxxx.svs
The following blog posts and tutorials can be used for references: