This guide will help you set up the OpenMetadata Application using Docker Deployment.
Before starting with the deployment make sure you follow all the below Prerequisites.
Configure External Orchestrator Service (Ingestion Service)
OpenMetadata requires connectors to be scheduled to periodically fetch the metadata, or you can use the OpenMetadata APIs to push the metadata as well
OpenMetadata Ingestion Framework is flexible to run on any orchestrator. However, we built an ability to deploy and manage connectors as pipelines from the UI. This requires the Airflow container we ship.
If your team prefers to run on any other orchestrator such as prefect, dagster or even GitHub workflows. Please refer to our recent webinar on How Ingestion Framework works
Docker is an open-source platform for developing, shipping, and running applications. It enables you to separate your applications from your infrastructure, so you can deliver software quickly using OS-level virtualization. It helps deliver software in packages called Containers.To check what version of Docker you have, please use the following command.
docker --version
If you need to install Docker, please visit Get Docker.
The Docker compose package enables you to define and run multi-container Docker applications. The compose command integrates compose functions into the Docker platform, making them available from the Docker command-line interface ( CLI). The Python packages you will install in the procedure below use compose to deploy OpenMetadata.
MacOS X: Docker on MacOS X ships with compose already available in the Docker CLI.
Linux: To install compose on Linux systems, please visit the Docker CLI command documentation and follow the
instructions.
To verify that the docker compose command is installed and accessible on your system, run the following command.
docker compose version
Upon running this command you should see output similar to the following.
This command installs Compose V2 for the active user under $HOME directory. To install Docker Compose for all users
on your system, replace ~/.docker/cli-plugins with /usr/local/lib/docker/cli-plugins.
2. Download Docker Compose Files from GitHub Releases
Download the Docker Compose files from the Latest GitHub Releases.The Docker compose file name will be docker-compose-openmetadata.yml.This docker compose file contains only the docker compose services for OpenMetadata Server. Bring up the dependencies as mentioned in the prerequisites section.You can also run the below command to fetch the docker compose file directly from the terminal -
3. Update Environment Variables required for OpenMetadata Dependencies
In the previous step, we download the docker-compose file.Identify and update the environment variables in the file to prepare openmetadata configurations.For MySQL Configurations, update the below environment variables -
...# Database configuration for MySQLDB_DRIVER_CLASS="com.mysql.cj.jdbc.Driver"DB_SCHEME="mysql"DB_PARAMS="allowPublicKeyRetrieval=true&useSSL=true&serverTimezone=UTC"DB_USER="<SQL_DATABASE_USERNAME>"DB_USER_PASSWORD="<SQL_DATABASE_PASSWORD>"DB_HOST="<SQL_DATABASE_ENDPOINT>"DB_PORT="<SQL_DATABASE_PORT>"OM_DATABASE="<SQL_DATABASE_NAME>"
For ElasticSearch Configurations, update the below environment variables -
Run the below command to deploy the OpenMetadata -
docker compose --env-file ./env-mysql up --detach
You can validate that all containers are up by running with command docker ps.
❯ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES470cc8149826 openmetadata/server:2.0.1 "./openmetadata-star…" 45 seconds ago Up 43 seconds 3306/tcp, 9200/tcp, 9300/tcp, 0.0.0.0:8585-8586->8585-8586/tcp openmetadata_server
In a few seconds, you should be able to access the OpenMetadata UI at http://localhost:8585.