version: "3.6" services: apiserver: command: - apiserver container_name: trains-apiserver image: allegroai/trains:latest restart: always volumes: - type: bind source: /opt/trains/logs target: /var/log/trains - type: bind source: /opt/trains/config target: /opt/trains/config links: - mongo:mongo - elasticsearch:elasticsearch - fileserver:fileserver environment: ELASTIC_SERVICE_SERVICE_HOST: elasticsearch MONGODB_SERVICE_SERVICE_HOST: mongo ports: - "8008:8008" networks: - backend elasticsearch: networks: - backend container_name: trains-elastic environment: ES_JAVA_OPTS: -Xms2g -Xmx2g bootstrap.memory_lock: "true" cluster.name: trains cluster.routing.allocation.node_initial_primaries_recoveries: "500" discovery.zen.minimum_master_nodes: "1" http.compression_level: "7" node.ingest: "true" node.name: trains reindex.remote.whitelist: '*.*' script.inline: "true" script.painless.regex.enabled: "true" script.update: "true" thread_pool.bulk.queue_size: "2000" thread_pool.search.queue_size: "10000" xpack.monitoring.enabled: "false" xpack.security.enabled: "false" ulimits: memlock: soft: -1 hard: -1 image: docker.elastic.co/elasticsearch/elasticsearch:5.6.16 restart: always volumes: - type: bind source: /opt/trains/data/elastic target: /usr/share/elasticsearch/data ports: - "9200:9200" fileserver: networks: - backend command: - fileserver container_name: trains-fileserver image: allegroai/trains:latest restart: always volumes: - type: bind source: /opt/trains/logs target: /var/log/trains - type: bind source: /opt/trains/data/fileserver target: /mnt/fileserver ports: - "8081:8081" mongo: networks: - backend container_name: trains-mongo image: mongo:3.6.5 restart: always command: --setParameter internalQueryExecMaxBlockingSortBytes=196100200 volumes: - type: bind source: /opt/trains/data/mongo/db target: /data/db - type: bind source: /opt/trains/data/mongo/configdb target: /data/configdb ports: - "27017:27017" webserver: networks: - backend command: - webserver container_name: trains-webserver image: allegroai/trains:latest restart: always volumes: - type: bind source: /opt/trains/logs target: /var/log/trains links: - apiserver ports: - "8080:80" networks: backend: driver: bridge