System Installation & Running with Docker¶
The recommended way to quickly install Unidata MDM is by using Docker.
See Docker documentation: https://docs.docker.com/.
Installing with Docker¶
Clone the repository from Gitlab or Docker. Links: https://gitlab.com/unidata-community-group/unidata-platform-deploy or https://hub.docker.com/u/unidatacommunity. The command:
git clone https://gitlab.com/unidata-community-group/unidata-platform-deploy.git
Go to the directory with code using the command:
cd unidata-platform-deploy
Run Unidata system:
docker-compose up -d
By default, you can see UI on localhost:8081
.
Default login/password: admin
/ admin
. After the first logging in, you will need to change the password.
Pulling Image¶
Run the
docker pull
command for Unidata Docker. Select needed version:docker pull repo.tddev.ru/unidata-ce/backend:latest
To run Unidata in a container, set the following environment variables:
POSTGRES_ADDRESS: postgres database address;
POSTGRES_USERNAME: postgres username;
POSTGRES_PASSWORD: postgres password;
ELASTICSEARCH_CLUSTER_ADDRESS: elasticsearch address;
ELASTICSEARCH_CLUSTER_NAME: elasticsearch cluster name.
Launching Unidata with Docker Compose¶
Note
The version of docker-compose should be at least 1.29.0
If necessary, use docker-compose.yaml
to create your own image. The .env
file contains the list of available variables.
Create docker-compose.yml file.
Create hunspell folder with dictionaries:
version: '2.4' services: unidata-postgres: image: postgres:12 environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres ports: - "5432:5432" networks: - unidata healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 10s timeout: 1s retries: 20 unidata-elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.8.0 environment: - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - "discovery.type=single-node" volumes: - ./hunspell:/usr/share/elasticsearch/config/hunspell/ ulimits: memlock: soft: -1 hard: -1 ports: - 9200:9200 - 9300:9300 networks: - unidata healthcheck: test: > bash -c "curl http://localhost:9200 | grep '\"cluster_name\"'" interval: 10s timeout: 2s retries: 20 unidata: image: repo.tddev.ru/unidata-ce/backend:latest ports: - 9080:8080 - 5005:5005 networks: - unidata environment: POSTGRES_ADDRESS: unidata-postgres:5432 POSTGRES_USERNAME: postgres POSTGRES_PASSWORD: postgres ELASTICSEARCH_CLUSTER_ADDRESS: unidata-elasticsearch:9300 ELASTICSEARCH_CLUSTER_NAME: docker-cluster depends_on: unidata-postgres: condition: service_healthy unidata-elasticsearch: condition: service_healthy ui: image: repo.tddev.ru/unidata-ce/frontend:latest ports: - 8081:80 networks: - unidata links: - unidata networks: unidata: driver: bridge