Deploy on Bare Metal

Requirements This guide assumes you have access to a command-line environment or shell such as bash, zsh, etc. or Linux or Mac OS X or PowerShell on Microsoft Windows. This guide also assumes that your command-line environment has access to the tar utility. Please review additional requirements listed in the subsections below.

OpenMetadata is built using Java, DropWizard, and Jetty.

Type the following command to verify that you have a supported version of the Java runtime installed.

java --version

To install Java or upgrade to Java 11 or greater, see the instructions for your operating system at How do I install Java?.

To install MySQL see the instructions for your operating system (OS) at Installing and Upgrading MySQL or visit one of the following OS-specific guides.


Make sure to configure required databases and users for OpenMetadata.

You can refer a sample script here.

To install or upgrade Elasticsearch to a supported version please see the instructions for your operating system at Installing ElasticSearch.

We do not support ElasticSearch 8.x yet.

Please follow the instructions here to install ElasticSearch.

OpenMetadata performs metadata ingestion using ingestion

connectors designed to run in Airflow or another workflow scheduler. To install Airflow, please see the Airflow Installation guide.


Visit the releases page and download the latest binary release.

Release binaries follow the naming convention of openmetadata-x.y.z.tar.gz. Where x, y, and z represent the major, minor, and patch release numbers.

Once the tar file has downloaded, run the following command, updated if necessary for the version of OpenMetadata that you downloaded.

tar -zxvf openmetadata-*.tar.gz
cd openmetadata-*

Review and update the openmetadata.yaml configurations to match your environment. Specifically, consider aspects such as the connection to the MySQL database or ElasticSearch. You can find more information about these configurations here.

The command below will generate all the necessary tables and indexes in ElasticSearch.


Note that if there's any data in that database, this command will drop it!

./bootstrap/ drop-create-all
./bin/ start

We recommend configuring serviced to monitor the OpenMetadata command to restart in case of any failures.

You may put one or more OpenMetadata instances behind a load balancer for reverse proxying. To do this you will need to add one or more entries to the configuration file for your reverse proxy.

To use the Apache mod_proxy module as a reverse proxy for load balancing, update the VirtualHost tag in your Apache config file to resemble the following.

<VirtualHost *:80>
    <Proxy balancer://mycluster>
        BalancerMember <!-- First OpenMetadata server -->
        BalancerMember <!-- Second OpenMetadata server -->

    ProxyPreserveHost On

    ProxyPass / balancer://mycluster/
    ProxyPassReverse / balancer://mycluster/

To use OpenMetadata behind an Nginx reverse proxy, add an entry resembling the following the http context of your Nginx configuration file for each OpenMetadata instance.

server {
    access_log /var/log/nginx/stage-reverse-access.log;
    error_log /var/log/nginx/stage-reverse-error.log;         
    location / {

Please follow our Enable Security Guide to configure security for your OpenMetadata installation.

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