Docker Deployment

Deploying OpenMetadata in Docker is a great start! Take a look at our Quickstart guide to learn how to get OpenMetadata up and running locally in less than 7 minutes!

If those steps are already done, you might want to bind Docker Volumes for data persistence. Learn how to do so here.

To test out your security integration, check out how to Enable Security.

This docker deployment is powered by docker compose, and uses the docker-compose.yml files shipped during each release example.

As with the Docker Volumes, you might want to tune a bit the compose file to modify the default ports.

We are shipping the OpenMetadata server and UI at 8585, and the ingestion container (Airflow) at 8080. You can take a look at the official Docker docs. As an example, You could update the ports to serve Airflow at 1234 with:

ports:
  - "1234:8080"

If you are running OpenMetadata in AWS, it is recommended to use Amazon RDS and Amazon OpenSearch Service.

We support

  • Amazon RDS (MySQL) engine version upto 8.0.29
  • Amazon OpenSearch (ElasticSearch) engine version upto 7.1 or Amazon OpenSearch engine version upto 1.3
  • Amazon RDS (PostgreSQL) engine version upto 14.2-R1

For Production Systems, we recommend Amazon RDS to be in Multiple Availibility Zones. For Amazon OpenSearch (or ElasticSearch) Service, we recommend Multiple Availibility Zones with minimum 3 Master Nodes.

Once you have the RDS and OpenSearch Services Setup, you can update the environment variables below for OpenMetadata Docker Compose backed systems to connect with Database and ElasticSearch.

# MySQL Environment Variables
DB_DRIVER_CLASS='com.mysql.cj.jdbc.Driver'
DB_SCHEME='mysql'
DB_USE_SSL='true'
MYSQL_USER_PASSWORD='<YOUR_RDS_USER_PASSWORD>'
DB_SCHEME='mysql'
MYSQL_HOST='<YOUR_RDS_HOST_NAME>'
MYSQL_USER='<YOUR_RDS_USER_NAME>'
MYSQL_DATABASE='<YOUR_RDS_DATABASE_NAME>'
MYSQL_PORT='<YOUR_RDS_PORT>'
# ElasticSearch Environment Variables
ELASTICSEARCH_SOCKET_TIMEOUT_SECS='60'
ELASTICSEARCH_USER='<ES_USERNAME>'
ELASTICSEARCH_CONNECTION_TIMEOUT_SECS='5'
ELASTICSEARCH_PORT='443'
ELASTICSEARCH_SCHEME='https'
ELASTICSEARCH_BATCH_SIZE='10'
ELASTICSEARCH_HOST='vpc-<random_characters>.<aws_region>.es.amazonaws.com'
ELASTICSEARCH_PASSWORD='<ES_PASSWORD>'

Replace the environment variables values with the RDS and OpenSearch Service ones and then provide this environment variable file as part of docker compose command.

docker compose --env-file ./config/.env.prod up -d openmetadata_server

Production Deployment

If you are planning on going to PROD, we also recommend taking a look at the following deployment strategies:

Still have questions?

You can take a look at our Q&A or reach out to us in Slack

Was this page helpful?

editSuggest edits