version: "3" services: mongodb: image: mongo container_name: mongodb environment: - PUID=1000 - PGID=1000 volumes: - db:/data/db ports: - 27017:27017 restart: unless-stopped minio: image: 'minio/minio' command: server /data --address ":9000" --console-address ":9001" ports: - 9000:9000 - 9001:9001 volumes: - files:/data elastic: image: 'elasticsearch:7.14.2' command: | /bin/sh -c "./bin/elasticsearch-plugin list | grep -q ingest-attachment || yes | ./bin/elasticsearch-plugin install --silent ingest-attachment; /usr/local/bin/docker-entrypoint.sh eswrapper" volumes: - elastic:/usr/share/elasticsearch/data ports: - 9200:9200 environment: - ELASTICSEARCH_PORT_NUMBER=9200 - BITNAMI_DEBUG=true - discovery.type=single-node - ES_JAVA_OPTS=-Xms1024m -Xmx1024m - http.cors.enabled=true - http.cors.allow-origin=http://localhost:8082 healthcheck: interval: 20s retries: 10 test: curl -s http://localhost:9200/_cluster/health | grep -vq '"status":"red"' account: image: hardcoreeng/account links: - mongodb - minio - transactor ports: - 3000:3000 environment: - SERVER_PORT=3000 - SERVER_SECRET=secret - MONGO_URL=mongodb://mongodb:27017 - TRANSACTOR_URL=ws://transactor:3333 - ENDPOINT_URL=ws://localhost:3333 - MINIO_ENDPOINT=minio - MINIO_ACCESS_KEY=minioadmin - MINIO_SECRET_KEY=minioadmin front: image: hardcoreeng/front links: - mongodb - minio - elastic - transactor ports: - 8081:8080 environment: - SERVER_PORT=8080 - SERVER_SECRET=secret - ACCOUNTS_URL=http://localhost:3000 - FRONT_URL=http://localhost:8081 - UPLOAD_URL=/files - TRANSACTOR_URL=ws://localhost:3333 - ELASTIC_URL=http://elastic:9200 - MINIO_ENDPOINT=minio - MINIO_ACCESS_KEY=minioadmin - MINIO_SECRET_KEY=minioadmin # tracker-front: # image: hardcoreeng/tracker-front # links: # - mongodb # - minio # - elastic # - transactor # ports: # - 8084:8080 # environment: # - SERVER_PORT=8080 # - SERVER_SECRET=secret # - ACCOUNTS_URL=http://localhost:3000 # - FRONT_URL=http://localhost:8084 # - UPLOAD_URL=/files # - TRANSACTOR_URL=ws://localhost:3333 # - ELASTIC_URL=http://elastic:9200 # - MINIO_ENDPOINT=minio # - MINIO_ACCESS_KEY=minioadmin # - MINIO_SECRET_KEY=minioadmin transactor: image: hardcoreeng/transactor links: - mongodb - elastic - minio # - apm-server ports: - 3333:3333 environment: - SERVER_PORT=3333 - SERVER_SECRET=secret - ELASTIC_URL=http://elastic:9200 - MONGO_URL=mongodb://mongodb:27017 - METRICS_CONSOLE=true - MINIO_ENDPOINT=minio - MINIO_ACCESS_KEY=minioadmin - MINIO_SECRET_KEY=minioadmin # - APM_SERVER_URL=http://apm-server:8200 # apm-server: # image: docker.elastic.co/apm/apm-server:7.14.2 # depends_on: # - "elastic" # - "kibana" # cap_add: ["CHOWN", "DAC_OVERRIDE", "SETGID", "SETUID"] # cap_drop: ["ALL"] # ports: # - 8200:8200 # command: | # apm-server -e # -E apm-server.rum.enabled=true # -E setup.kibana.host=kibana:5601 # -E setup.template.settings.index.number_of_replicas=0 # -E apm-server.kibana.enabled=true # -E apm-server.kibana.host=kibana:5601 # -E output.elasticsearch.hosts=["elastic:9200"] # healthcheck: # interval: 10s # retries: 12 # test: curl --write-out 'HTTP %{http_code}' --fail --silent --output /dev/null http://localhost:8200/ # kibana: # image: docker.elastic.co/kibana/kibana:7.14.2 # depends_on: # - "elastic" # environment: # ELASTICSEARCH_URL: http://elastic:9200 # ELASTICSEARCH_HOSTS: http://elastic:9200 # ports: # - 5601:5601 # healthcheck: # interval: 10s # retries: 20 # test: curl --write-out 'HTTP %{http_code}' --fail --silent --output /dev/null http://localhost:5601/api/status volumes: db: files: elastic: