Skip to content

Basic Setup

This description uses docker-compose as orchestration tool. You can find further documentation for that here.

A basic setup needs containers for:

  • Database
  • Elasticsearch
  • Middleware
  • Clients

Environment

# .env-file
INSIGHT_VERSION=13.4.0
DB_USER=insight
DB_PASS=<fill_with_a_secure_password>
DB_ROOT_PASS=<fill_with_a_secure_password>

Compose

# docker-compose.yaml
version: "3"

volumes:
 data-db:
  driver: local
 data-elastic:
  driver: local
 data-insight:
  driver: local

services:
 db:
  environment:
   - MYSQL_ROOT_PASSWORD=${DB_ROOT_PASS}
   - MYSQL_USER=${DB_USER}
   - MYSQL_PASSWORD=${DB_PASS}
  image: gismbh/insight-db:${INSIGHT_VERSION}
  ports:
   - 3306:3306
  restart: always
  volumes:
   - data-db:/var/lib/mysql

 elastic:
  image: elasticsearch:7.17.1
  ports:
   - 9200:9200
  restart: always
  volumes:
   - data-elastic:/usr/share/elasticsearch/data

 middleware:
  environment:
   - INSIGHT_JDBC_PASS=${DB_PASS}
  image: gismbh/insight:${INSIGHT_VERSION}
  links:
   - db:insight-db
   - elastic:insight-es
  ports:
   - 8080:8080
  restart: always
  volumes:
   - data-insight:/insight

 clients:
  ports:
   - 80:80
  image: gismbh/insight-clients:${INSIGHT_VERSION}