|
|
|
version: '2.1'
|
|
|
|
services:
|
|
|
|
server:
|
|
|
|
image: hastic/server:latest
|
|
|
|
build:
|
|
|
|
dockerfile: server/Dockerfile
|
|
|
|
context: .
|
|
|
|
environment:
|
|
|
|
HASTIC_API_KEY: ${HASTIC_API_KEY?"HASTIC_API_KEY variable is required"}
|
|
|
|
GRAFANA_URL: ${GRAFANA_URL?"GRAFANA_URL variable is required"}
|
|
|
|
|
|
|
|
HASTIC_DB_CONNECTION_STRING: ${HASTIC_MONGO_USER:-hastic}:${HASTIC_MONGO_PASSWORD:-password}@mongo:27017/${HASTIC_MONGO_DB:-hastic}
|
|
|
|
|
|
|
|
HASTIC_ALERT_TYPE: ${HASTIC_ALERT_TYPE}
|
|
|
|
HASTIC_ALERTMANAGER_URL: ${HASTIC_ALERTMANAGER_URL}
|
|
|
|
HASTIC_WEBHOOK_URL: ${HASTIC_WEBHOOK_URL}
|
|
|
|
HASTIC_INSTANCE_NAME: ${HASTIC_INSTANCE_NAME}
|
|
|
|
HASTIC_ALERT_IMAGE: ${HASTIC_ALERT_IMAGE}
|
|
|
|
HASTIC_TIMEZONE_OFFSET: ${HASTIC_TIMEZONE_OFFSET}
|
|
|
|
|
|
|
|
HASTIC_DB_CONNECTION_TYPE: mongodb
|
|
|
|
|
|
|
|
ports:
|
|
|
|
- ${HASTIC_PORT:-8000}:8000
|
|
|
|
networks:
|
|
|
|
- hastic-network
|
|
|
|
restart: always
|
|
|
|
depends_on:
|
|
|
|
- mongo
|
|
|
|
|
|
|
|
analytics:
|
|
|
|
image: hastic/analytics:latest
|
|
|
|
build: analytics
|
|
|
|
environment:
|
|
|
|
# TODO: use any port for server connection
|
|
|
|
HASTIC_SERVER_URL: "ws://server:8002"
|
|
|
|
HS_AN_LOGGING_LEVEL: ${HS_AN_LOGGING_LEVEL}
|
|
|
|
networks:
|
|
|
|
- hastic-network
|
|
|
|
restart: always
|
|
|
|
|
|
|
|
mongo:
|
|
|
|
image: mongo:4.2.1-bionic
|
|
|
|
environment:
|
|
|
|
MONGO_INITDB_ROOT_USERNAME: ${HASTIC_MONGO_ADMIN_USER:-admin}
|
|
|
|
MONGO_INITDB_ROOT_PASSWORD: ${HASTIC_MONGO_ADMIN_PASSWORD:-password}
|
|
|
|
MONGO_INITDB_DATABASE: ${HASTIC_MONGO_DB:-hastic}
|
|
|
|
networks:
|
|
|
|
- hastic-network
|
|
|
|
restart: always
|
|
|
|
volumes:
|
|
|
|
- hastic_mongo:/data/db
|
|
|
|
- hastic_mongo_config:/data/configdb
|
|
|
|
- ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
hastic_mongo:
|
|
|
|
hastic_mongo_config:
|
|
|
|
|
|
|
|
networks:
|
|
|
|
hastic-network:
|