You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ecmwf-dataset-crawl/docker-compose.yml

112 lines
2.1 KiB
YAML

version: '2.3'
services:
proxy:
image: abiosoft/caddy:0.11.0-no-stats
volumes:
- ./proxy/Caddyfile:/etc/Caddyfile
- caddycerts:/root/.caddy # cache lets encrypt certs
- frontend:/srv/frontend
#- ./frontend/dist:/srv/frontend
environment:
- WEB_DOMAIN
- ACME_AGREE
- API_PORT=9000
ports:
- "2015:2015"
- "80:80"
- "443:443"
networks:
- front
depends_on:
- frontend
- controller
- kibana
frontend:
build:
context: frontend/
volumes:
- frontend:/dist:ro
controller:
build:
context: controller/
environment:
- AZURE_SUBKEY
- GCS_SEARCHID
- GCS_APIKEY
- ELASTIC_HOST
- WEB_DOMAIN
- LOG_LEVEL
- ELASTIC_HOST=elasticsearch:9200
- API_PORT=9000
- NODE_ENV=production
depends_on:
- elasticsearch
networks:
- front
- back
crawler:
build:
context: crawler/
depends_on:
- elasticsearch
environment:
- FETCH_THREADS
- CRAWLER_MEMORY
- PROXY_HOST
- PROXY_PORT
- PROXY_TYPE
- ES_ADDRESS=http://elasticsearch:9200/
networks:
- back
restart: always
elasticsearch:
build:
context: elasticsearch/
volumes:
- ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
- ./elasticsearch/snapshots/:/mount/snapshots/
- elasticdata:/usr/share/elasticsearch/data
ports:
- "9200:9200"
- "9300:9300"
environment:
ES_JAVA_OPTS: "-Xmx256m -Xms256m"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9200"]
interval: 30s
timeout: 3s
retries: 3
start_period: 15s
networks:
- back
kibana:
build:
context: kibana/
volumes:
- ./kibana/config/:/usr/share/kibana/config:ro
ports:
- "5601:5601"
networks:
- front
- back
depends_on:
- elasticsearch
networks:
back:
driver: bridge
front:
driver: bridge
volumes:
elasticdata:
frontend:
caddycerts: