blob: ceed4e4b814652612f061aecfa13549b62bdf46b [file] [log] [blame]
# 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.
# ============================================================
# NOTICE
# ============================================================
# This docker-compose file is for validating releases only. To use StreamPipes, use the installation instructions
# provided on https://streampipes.apache.org/download
#
# global logging
x-logging: &default-logging
options:
max-size: "12m"
max-file: "5"
driver: json-file
services:
#### apache/streampipes
backend:
build:
context: ./streampipes-service-core
dockerfile: Dockerfile
image: streampipes_backend:release-validation
depends_on:
- couchdb
volumes:
- backend:/root/.streampipes
logging: *default-logging
networks:
spnet:
ui:
build:
context: ./ui
dockerfile: Dockerfile
image: streampipes_ui:release-validation
environment:
- SP_HTTP_SERVER_ADAPTER_ENDPOINT=extensions-all-jvm:8090
ports:
- "80:8088"
depends_on:
- couchdb
- backend
volumes:
- nginx:/etc/nginx/
logging: *default-logging
networks:
spnet:
extensions-all-jvm:
build:
context: ./streampipes-extensions/streampipes-extensions-all-jvm
dockerfile: Dockerfile
image: streampipes_pipeline-elements-all-jvm:release-validation
logging: *default-logging
networks:
spnet:
couchdb:
image: couchdb:2.3.1
environment:
- COUCHDB_USER=admin
- COUCHDB_PASSWORD=admin
logging: *default-logging
volumes:
- couchdb:/opt/couchdb/data
networks:
spnet:
kafka:
image: bitnami/kafka:3.9.0
hostname: kafka
environment:
- KAFKA_CFG_NODE_ID=0
- KAFKA_CFG_PROCESS_ROLES=controller,broker
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093,OUTSIDE://:9094
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,OUTSIDE://localhost:9094
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,OUTSIDE:PLAINTEXT
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT
- KAFKA_CFG_MESSAGE_MAX_BYTES=5000012
- KAFKA_CFG_FETCH_MESSAGE_MAX_BYTES=5000012
- KAFKA_CFG_REPLICA_FETCH_MAX_BYTES=10000000
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
volumes:
- kafka3:/bitnami
logging: *default-logging
networks:
spnet:
influxdb:
image: influxdb:2.6
environment:
- INFLUXDB_DATA_ENGINE=tsm1
- INFLUXDB_REPORTING_DISABLED=false
- INFLUXDB_ADMIN_ENABLED=true
- DOCKER_INFLUXDB_INIT_USERNAME=admin
- DOCKER_INFLUXDB_INIT_PASSWORD=sp-admin
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=sp-admin
- DOCKER_INFLUXDB_INIT_ORG=sp
- DOCKER_INFLUXDB_INIT_BUCKET=sp
- DOCKER_INFLUXDB_INIT_MODE=setup
volumes:
- influxdb:/var/lib/influxdb
- influxdb2:/var/lib/influxdb2
logging: *default-logging
networks:
spnet:
mosquitto:
image: eclipse-mosquitto:1.5.4
logging: *default-logging
networks:
spnet:
opcua:
image: mcr.microsoft.com/iotedge/opc-plc
logging: *default-logging
command: --ut=true
networks:
spnet:
volumes:
kafka3:
couchdb:
influxdb:
influxdb2:
backend:
nginx:
networks:
spnet:
name: spnet
driver: bridge
ipam:
config:
- subnet: 172.31.0.0/16