platform/dev/docker-compose.yaml

170 lines
4.6 KiB
YAML
Raw Normal View History

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
collaborator:
image: hardcoreeng/collaborator
links:
- transactor
ports:
- 3078:3078
environment:
- COLLABORATOR_PORT=3078
- SECRET=secret
- MINIO_ENDPOINT=minio
- MINIO_ACCESS_KEY=minioadmin
- MINIO_SECRET_KEY=minioadmin
front:
image: hardcoreeng/front
links:
- mongodb
- minio
- elastic
- transactor
ports:
- 8087:8080
environment:
- SERVER_PORT=8080
- SERVER_SECRET=secret
- ACCOUNTS_URL=http://localhost:3000
- COLLABORATOR_URL=ws://localhost:3078
- FRONT_URL=http://localhost:8087
- 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: