version: "3.4" services: controller: image: ghcr.io/unicornunicode/fact-controller:${FACT_TAG:-main} command: - --listen-addr - 0.0.0.0:5123 - --elasticsearch-host - http://elasticsearch:9200 networks: - fact volumes: - controller-database:/var/lib/fact worker: image: ghcr.io/unicornunicode/fact-worker:${FACT_TAG:-main} restart: always command: - --controller-addr - controller:5123 networks: - fact volumes: - worker-data:/var/lib/fact privileged: true grpcwebproxy: image: ghcr.io/unicornunicode/fact-grpcwebproxy:${FACT_TAG:-main} command: - --backend_addr=controller:5123 - --server_http_debug_port=5124 networks: - fact ports: - 5124:5124 ui: image: ghcr.io/unicornunicode/fact-ui:${FACT_TAG:-main} environment: # Update to match the host IP address. This must be a valid, routed address # accessible throughout the Docker network and on your host. # You can get your host IP address by looking up your system's network # information. - MANAGEMENT_ENDPOINT=http://${HOST_IP}:5124 networks: - fact ports: - 3000:3000 elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.15.1 environment: - discovery.type=single-node - xpack.security.enabled=false - bootstrap.memory_lock=true # Consider tweaking this to match the amount of available memory, or # remove it entirely. See https://www.elastic.co/guide/en/elasticsearch/reference/7.15/docker.html - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 networks: - fact volumes: - elasticsearch:/usr/share/elasticsearch/data kibana: image: docker.elastic.co/kibana/kibana:7.15.1 environment: - SERVER_NAME=kibana - ELASTICSEARCH_HOSTS=http://elasticsearch:9200 networks: - fact ports: - 5601:5601 networks: fact: volumes: controller-database: worker-data: elasticsearch: # vim: set et ts=2 sw=2: