docker-compose.yml
# Please refer https://aka.ms/HTTPSinContainer on how to setup an https developer certificate for your ASP .NET Core service.
version: "3.4"
services:
minitwitbackend:
build: ./minitwit-backend
container_name: minitwit-backend
ports:
- 3005:3005
- 3006:3006
environment:
- ASPNETCORE_HTTP_PORT=https://+:3006
- ASPNETCORE_URLS=http://+:3005
- ASPNETCORE_ENVIRONMENT=Development
volumes:
- type: bind
source: ./databasefile
target: /databasefile
networks:
- itu-minitwit-network
- elastic
depends_on:
- grafana
- prometheus
- kibana
minitwitfrontend:
build: ./minitwit-frontend
container_name: minitwit-frontend
ports:
- 3000:3000
networks:
- itu-minitwit-network
- elastic
depends_on:
- minitwitbackend
- prometheus
- grafana
prometheus:
image: prom/prometheus:latest
container_name: prometheus
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus-storage:/prometheus
ports:
- 9090:9090
networks:
- itu-minitwit-network
grafana:
image: grafana/grafana:latest
container_name: grafana
environment:
GF_SERVER_HTTP_PORT: 9099
volumes:
- ./grafana-storage:/var/lib/grafana
ports:
- 9099:9099
networks:
- itu-minitwit-network
depends_on:
- prometheus
elasticsearch:
container_name: elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:8.7.0
ports:
- 9200:9200
volumes:
- elasticsearch-data:/usr/share/elasticsearch/data
environment:
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
- "discovery.type=single-node"
- "xpack.security.enabled=false"
networks:
- elastic
kibana:
container_name: kibana
image: docker.elastic.co/kibana/kibana:8.7.0
ports:
- 5601:5601
depends_on:
- elasticsearch
environment:
- ELASTICSEARCH_URL=http://localhost:9200
- "elasticsearch.hosts='[\"http://elasticsearch:9200\"]'"
- "xpack.security.enabled=false"
networks:
- elastic
networks:
itu-minitwit-network:
elastic:
driver: bridge
volumes:
elasticsearch-data:
grafana-storage:
prometheus-storage: