# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. version: "3.7" networks: hertzbeat: driver: bridge volumes: greptime-tsdb-data: services: postgres: image: postgres:15 container_name: compose-postgresql hostname: postgresql restart: always healthcheck: test: [ "CMD", "pg_isready" ] interval: 10s timeout: 5s retries: 5 start_period: 30s ports: - '15432:5432' environment: POSTGRES_USER: root POSTGRES_PASSWORD: 123456 TZ: Asia/Shanghai PGDATA: /var/lib/postgresql/data/pgdata volumes: - ./dbdata/pgdata:/var/lib/postgresql/data - ./conf/sql:/docker-entrypoint-initdb.d/ networks: - hertzbeat greptime: image: greptime/greptimedb:v0.14.3 container_name: compose-greptimedb hostname: greptime restart: always healthcheck: test: [ "CMD", "curl", "-f", "http://localhost:4000/health" ] interval: 10s retries: 5 timeout: 5s start_period: 30s environment: TZ: Asia/Shanghai ports: - "14000:4000" - "14001:4001" - "14002:4002" - "14003:4003" volumes: - greptime-tsdb-data:/greptimedb_data command: - "standalone" - "start" - "--user-provider=static_user_provider:cmd:greptime=greptime" - "--http-addr" - "0.0.0.0:4000" - "--rpc-bind-addr" - "0.0.0.0:4001" - "--mysql-addr" - "0.0.0.0:4002" - "--postgres-addr" - "0.0.0.0:4003" - "--data-home=/greptimedb_data" networks: - hertzbeat hertzbeat: image: apache/hertzbeat:1.8.0 container_name: compose-hertzbeat hostname: hertzbeat restart: always environment: HERTZBEAT_COLLECTOR_MYSQL_QUERY_ENGINE: auto TZ: Asia/Shanghai LANG: zh_CN.UTF-8 depends_on: postgres: condition: service_healthy greptime: condition: service_healthy volumes: - ./conf/application.yml:/opt/hertzbeat/config/application.yml - ./conf/sureness.yml:/opt/hertzbeat/config/sureness.yml - ./logs:/opt/hertzbeat/logs - ./ext-lib:/opt/hertzbeat/ext-lib ports: - "1157:1157" - "1158:1158" networks: - hertzbeat