mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-07-14 20:47:41 +00:00
100 lines
3.5 KiB
Markdown
100 lines
3.5 KiB
Markdown
---
|
|
title: Docker Deployment
|
|
slug: /deployment/docker
|
|
---
|
|
|
|
# Docker Deployment
|
|
|
|
Deploying OpenMetadata in Docker is a great start! Take a look at our
|
|
[Quickstart](/quick-start/local-deployment) 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 Named Volumes
|
|
for data persistence. Learn how to do so [here](/deployment/docker/volumes).
|
|
|
|
To test out your security integration, check out how to
|
|
[Enable Security](/deployment/docker/security).
|
|
|
|
## Changing ports
|
|
|
|
This docker deployment is powered by `docker compose`, and uses the `docker-compose.yml` files shipped during
|
|
each release [example](https://github.com/open-metadata/OpenMetadata/releases/tag/0.11.4-release).
|
|
|
|
As with the [Named Volumes](/deployment/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](https://docs.docker.com/compose/compose-file/#ports). As an example, You could
|
|
update the ports to serve Airflow at `1234` with:
|
|
|
|
```yaml
|
|
ports:
|
|
- "1234:8080"
|
|
```
|
|
|
|
## Run OpenMetadata with AWS Services
|
|
|
|
If you are running OpenMetadata in AWS, it is recommended to use [Amazon RDS](https://docs.aws.amazon.com/rds/index.html) and [Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/?id=docs_gateway).
|
|
|
|
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:
|
|
|
|
<InlineCalloutContainer>
|
|
<InlineCallout
|
|
color="violet-70"
|
|
icon="storage"
|
|
bold="Deploy on Bare Metal"
|
|
href="/deployment/bare-metal"
|
|
>
|
|
Deploy OpenMetadata directly using the binaries.
|
|
</InlineCallout>
|
|
<InlineCallout
|
|
color="violet-70"
|
|
icon="fit_screen"
|
|
bold="Deploy on Kubernetes"
|
|
href="/deployment/kubernetes"
|
|
>
|
|
Deploy and scale with Kubernetes
|
|
</InlineCallout>
|
|
</InlineCalloutContainer>
|