Installation & run with Docker

Recommended way: use Docker. See Docker documentation: https://docs.docker.com/

Clone the following repository https://gitlab.com/unidata-community-group/unidata-platform-deploy. Command:

git clone https://gitlab.com/unidata-community-group/unidata-platform-deploy.git

Go to the directory with code. Use the command:

cd unidata-platform-deploy

To run Unidata-platform:

docker-compose up -d

By default, you can see the UI on localhost:8081

The default login is admin and the default password is admin too. After the first login, you must change your password.

Pulling image

Obtaining Unidata for Docker is as simple as issuing a docker pull command against the Unidata Docker registry:

docker pull repo.tddev.ru/unidata-ce/backend:latest

To run unidata in a docker container, you need to 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

Starting unidata with docker compose

  1. Create docker-compose.yml file

  2. 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