version: "3.8" services: # https://www.elastic.co/guide/en/elasticsearch/reference/7.12/docker.html elasticsearch: container_name: &es_server elasticsearch image: "docker.elastic.co/elasticsearch/elasticsearch:7.15.2" cap_drop: - ALL cap_add: - SYS_CHROOT - SETGID - SETUID - KILL environment: - discovery.type=single-node - node.name=*es_server - "ES_JAVA_OPTS=-Xms512m -Xmx512m" - bootstrap.memory_lock=true ulimits: memlock: soft: -1 hard: -1 ports: - "127.0.0.1:9200:9200" networks: - "jointops" volumes: - "elasticsearch-1-data:/usr/share/elasticsearch/data" - "elasticsearch-1-logs:/usr/share/elasticsearch/logs" # https://www.elastic.co/guide/en/kibana/7.12/docker.html kibana: container_name: &kibana_server kibana image: "docker.elastic.co/kibana/kibana:7.12.1" environment: SERVER_NAME: *kibana_server # ELASTICSEARCH_HOSTS: *es_server cap_drop: - ALL ports: - "5601:5601" networks: - "jointops" depends_on: - elasticsearch # https://hub.docker.com/_/redis redis: container_name: &redis_server redis-1 image: "redis:6.2-alpine" read_only: true cap_drop: - ALL cap_add: - SETGID - SETUID - KILL volumes: - "redis-1-data:/data" networks: - "jointops" # If data integrity is important leave the following, # if not, remove it. # command: ["redis-server", "--appendonly", "yes"] fastapi: # tty: true container_name: fastapi # user: &uid "1000:1000" build: context: api dockerfile: Dockerfile # args: # uid: *uid environment: REDIS_SERVER: *redis_server ES_SERVER: *es_server ES_INDEX_MAIN: "assess_remap" ES_INDEX_LOGS: "sys_logs" ES_INDEX_STATS: "user_stats" # read_only: true # cap_drop: # - ALL ports: - "8080:8080" networks: - "jointops" volumes: - "fastapi-log:/app/log" - "./api/data:/app/data" #tmpfs: # - /tmp:noexec,mode=666 depends_on: - redis - elasticsearch # !React app currently down. # react: # container_name: react # build: # context: dashboard # dockerfile: Docker-ui/Dockerfile # ports: # - "3000:3000" # networks: # - "jointops" networks: jointops: null volumes: # fastapi-data: fastapi-log: null redis-1-data: null elasticsearch-1-data: null elasticsearch-1-logs: null