version: '3'
services:
#CEPTD
suricata:
image: registry.curex-project.eu:443/curex-local/kea_suricata:1.0.1
container_name: kea_suricata
restart: always
network_mode: "host"
cap_add:
- NET_ADMIN
- SYS_NICE
- NET_RAW
command: ONLINE
volumes:
- ./data/suricata/log:/var/log/suricata
- ./data/pcap:/var/pcap
elasticsearch:
image: registry.curex-project.eu:443/curex-local/kea_elasticsearch:7.6.2
container_name: kea_elasticsearch
restart: always
environment:
- cluster.name=keacluster
- node.name=keacluster-node-01
- discovery.type=single-node
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"
- xpack.ml.enabled=false
- xpack.security.enabled=false
- xpack.ilm.enabled=false
- path.logs=/data/elk/log
- path.data=/data/elk/data
- http.host=0.0.0.0
- http.cors.enabled=true
- http.cors.allow-origin="*"
- indices.query.bool.max_clause_count=2000
ulimits:
memlock:
soft: -1
hard: -1
ports:
- "9200:9200"
volumes:
- ./data:/data #/usr/share/elasticsearch/data
logstash:
image: registry.curex-project.eu:443/curex-local/kea_logstash:1.0.1
container_name: kea_logstash
restart: always
volumes:
- ./data:/data
kibana:
image: registry.curex-project.eu:443/curex-local/kea_kibana:7.6.2
container_name: kea_kibana
restart: always
ports:
- "5601:5601"
#Controller
webserver:
image: registry.curex-project.eu:443/curex-local/kea_webserver:1.19
container_name: kea_webserver
restart: unless-stopped
tty: true
ports:
- "80:80"
- "443:443"
volumes:
- ./api:/var/www
- ./api/nginx/conf.d/:/etc/nginx/conf.d/
composer:
restart: 'no'
image: registry.curex-project.eu:443/curex-local/kea_composer:2.0.7
container_name: kea_composer
command: install
volumes:
- ./api:/app
api:
image: registry.curex-project.eu:443/curex-local/kea_api:1.0.1
container_name: kea_api
restart: unless-stopped
tty: true
working_dir: /var/www
volumes:
- ./api:/var/www
- ./api/php/local.ini:/usr/local/etc/php/conf.d/local.ini
#OD
od:
image: registry.curex-project.eu:443/curex-local/kea_od:1.0.1
container_name: kea_od
depends_on:
- timescaledb
restart: always
ports:
- "9091:9091"
#MLTD
mltd:
image: registry.curex-project.eu:443/curex-local/kea_mltd:1.0.1
container_name: kea_mltd
depends_on:
- timescaledb
- mosquitto
restart: always
ports:
- "5000:5000"
#MQTT
mosquitto:
image: registry.curex-project.eu:443/curex-local/kea_mqtt:1.6.9
container_name: kea_mqtt
ports:
- "1883:1883"
- "9001:9001"
volumes:
- ./data/mosquitto/data:/mosquitto/data
- ./data/mosquitto/log:/mosquitto/log
#Persistence
timescaledb:
image: registry.curex-project.eu:443/curex-local/kea_timescaledb:2.1.0-pg11-oss
container_name: kea_timescaledb
volumes:
- ./data/timescaledb:/var/lib/postgresql/data
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=kea
ports:
- "5432:5432"
#Visualization
grafana:
image: registry.curex-project.eu:443/curex-local/kea_grafana:7.4.3
container_name: kea_grafana
ports:
- "3001:3000"
environment:
- GF_SECURITY_ALLOW_EMBEDDING=true
- GF_SECURITY_COOKIE_SAMESITE=none
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
volumes:
- ./data/grafana-storage:/var/lib/grafana