version: '3.2' services: postgres: container_name: buffalogs_postgres image: postgres:15.1-alpine restart: always env_file: - config/buffalogs/buffalogs.env volumes: - postgres_data:/var/lib/postgresql/data ports: - "127.0.0.1:5432:5432" elasticsearch: container_name: buffalogs_elasticsearch image: docker.elastic.co/elasticsearch/elasticsearch:7.17.7 hostname: elasticsearch environment: - node.name=buffalogs_elastic - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms1g -Xmx1g" - discovery.type=single-node - cluster.routing.allocation.disk.watermark.low=99% - cluster.routing.allocation.disk.watermark.high=99% - cluster.routing.allocation.disk.watermark.flood_stage=99% ulimits: memlock: soft: -1 hard: -1 expose: - "9200" ports: - "127.0.0.1:9200:9200" volumes: - elasticsearch_data:/usr/share/elasticsearch/data expose: - "9200" healthcheck: test: curl -XGET 'localhost:9200/_cluster/health?wait_for_status=yellow&timeout=180s&pretty' kibana: container_name: buffalogs_kibana image: docker.elastic.co/kibana/kibana:7.17.7 hostname: kibana environment: ELASTICSEARCH_URL: http://elasticsearch:9200 ELASTICSEARCH_HOSTS: http://elasticsearch:9200 links: - elasticsearch depends_on: - elasticsearch expose: - "5601" ports: - "127.0.0.1:5601:5601" healthcheck: test: curl -fs http://localhost:5601/ nginx: container_name: nginx image: nginx:mainline-alpine hostname: nginx depends_on: - buffalogs volumes: - ./config/nginx/conf.d:/etc/nginx/conf.d:ro # - ./config/nginx/certs:/etc/nginx/certs:ro - django_static:/var/www:ro - nginx_sockets:/var/run/nginx-sockets - nginx_logs:/var/log/nginx:rw ports: - "80:80" buffalogs: container_name: buffalogs build: context: . dockerfile: build/Dockerfile image: buffalogs:latest hostname: buffalogs env_file: - config/buffalogs/buffalogs.env volumes: - django_static:/var/www - nginx_sockets:/var/run/nginx-sockets depends_on: - postgres - elasticsearch - rabbitmq rabbitmq: container_name: rabbitmq image: rabbitmq:3.11-management-alpine hostname: rabbitmq volumes: - ./config/rabbitmq:/etc/rabbitmq:ro - rabbitmq_data:/var/lib/rabbitmq expose: - "5672" - "15672" ports: - "5672:5672" - "15672:15672" healthcheck: test: rabbitmqctl status celery: container_name: celery image: buffalogs:latest hostname: celery build: context: . dockerfile: build/Dockerfile env_file: - config/buffalogs/buffalogs.env command: - ./run_worker.sh volumes: - ./config:/opt/certego/config:ro depends_on: - postgres - elasticsearch - rabbitmq celery_beat: container_name: celery_beat build: context: . dockerfile: build/Dockerfile image: buffalogs:latest hostname: celery_beat env_file: - config/buffalogs/buffalogs.env command: - ./run_beat.sh volumes: - ./config:/opt/certego/config:ro depends_on: - postgres - elasticsearch - rabbitmq volumes: elasticsearch_data: driver: local postgres_data: driver: local nginx_sockets: driver: local django_static: driver: local nginx_logs: driver: local rabbitmq_data: driver: local