| # 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.8' |
| services: |
| elasticsearch: |
| profiles: |
| - "elasticsearch" |
| image: ${ELASTICSEARCH_IMAGE:-docker.elastic.co/elasticsearch/elasticsearch-oss:7.4.2} |
| container_name: elasticsearch |
| ports: |
| - "9200:9200" |
| networks: |
| - demo |
| healthcheck: |
| test: [ "CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1" ] |
| interval: 30s |
| timeout: 10s |
| retries: 3 |
| start_period: 10s |
| environment: |
| - discovery.type=single-node |
| - bootstrap.memory_lock=true |
| - "ES_JAVA_OPTS=-Xms512m -Xmx512m" |
| ulimits: |
| memlock: |
| soft: -1 |
| hard: -1 |
| |
| banyandb: |
| profiles: |
| - "banyandb" |
| image: ${BANYANDB_IMAGE:-ghcr.io/apache/skywalking-banyandb:84f32b3969cdcc676aaee428383b34b3b67dbdf5} |
| container_name: banyandb |
| networks: |
| - demo |
| expose: |
| - 17912 |
| ports: |
| - 17913:17913 |
| command: standalone --stream-root-path /tmp/stream-data --measure-root-path /tmp/measure-data |
| healthcheck: |
| test: [ "CMD", "sh", "-c", "nc -nz 127.0.0.1 17912" ] |
| interval: 5s |
| timeout: 60s |
| retries: 120 |
| |
| oap-base: &oap-base |
| profiles: [ "none" ] |
| image: ${OAP_IMAGE:-ghcr.io/apache/skywalking/oap:latest} |
| ports: |
| - "11800:11800" |
| - "12800:12800" |
| networks: |
| - demo |
| healthcheck: |
| test: [ "CMD-SHELL", "curl http://localhost:12800/internal/l7check" ] |
| interval: 30s |
| timeout: 10s |
| retries: 3 |
| start_period: 10s |
| environment: &oap-env |
| SW_HEALTH_CHECKER: default |
| SW_TELEMETRY: prometheus |
| JAVA_OPTS: "-Xms2048m -Xmx2048m" |
| |
| oap-es: |
| <<: *oap-base |
| profiles: |
| - "elasticsearch" |
| container_name: oap |
| depends_on: |
| elasticsearch: |
| condition: service_healthy |
| environment: |
| <<: *oap-env |
| SW_STORAGE: elasticsearch |
| SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200 |
| |
| oap-bdb: |
| <<: *oap-base |
| profiles: |
| - "banyandb" |
| container_name: oap |
| depends_on: |
| banyandb: |
| condition: service_healthy |
| environment: |
| <<: *oap-env |
| SW_STORAGE: banyandb |
| SW_STORAGE_BANYANDB_TARGETS: banyandb:17912 |
| |
| ui: |
| image: ${UI_IMAGE:-ghcr.io/apache/skywalking/ui:latest} |
| container_name: ui |
| ports: |
| - "8080:8080" |
| networks: |
| - demo |
| environment: |
| SW_OAP_ADDRESS: http://oap:12800 |
| SW_ZIPKIN_ADDRESS: http://oap:9412 |
| |
| networks: |
| demo: |