blob: d47c7d7b47e660cf39bc94f7eb1f5dd156bb3153 [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.
################################################################################
version: '3'
services:
postgresql:
image: postgres
ports:
- "5432:5432"
container_name: beampostgresql
volumes:
- beam-postgresql-data:/var/lib/postgresql/data
- ./postgres:/docker-entrypoint-initdb.d
environment:
- POSTGRES_USER=admin
- POSTGRES_PASSWORD=<PGPasswordHere>
- POSTGRES_DB=beam_metrics
influxdb:
image: influxdb:1.8.0
ports:
- "8086:8086"
- "8088:8088"
expose:
- 8086
container_name: influxdb
volumes:
- beam-influxdb-storage:/var/lib/influxdb
environment:
- INFLUXDB_BIND_ADDRESS=:8088
influxdb-restore:
build: ./influxdb
depends_on:
- influxdb
container_name: restore-backup
entrypoint: "sh"
command: ["-c", "./wait-for-it.sh influxdb:8086 -t 60 && \
influxd restore -portable -host influxdb:8088 /backup"]
grafana:
image: beamgrafana
build: ./grafana
ports:
- "3000:3000"
container_name: beamgrafana
volumes:
- beam-grafana-libdata:/var/lib/grafana
- beam-grafana-etcdata:/etc/grafana
- beam-grafana-logdata:/var/log/grafana
environment:
- GF_SECURITY_ADMIN_PASSWORD=<GrafanaPasswordHere>
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_NAME=Beam
- PSQL_DB_HOST=beampostgresql
- PSQL_DB_PORT=5432
- PSQL_DB_DBNAME=beam_metrics
- PSQL_DB_DBUSERNAME=admin
- PSQL_DB_DBPWD=<PGPasswordHere>
- INFLUX_DB_HOST=influxdb
- INFLUX_DB_PORT=8086
- INFLUX_DB_DBNAME=beam_test_metrics
syncgithub:
image: syncgithub
container_name: beamsyncgithub
build:
context: ./sync/github
dockerfile: Dockerfile
environment:
- DB_HOST=beampostgresql
- DB_PORT=5432
- DB_DBNAME=beam_metrics
- DB_DBUSERNAME=admin
- DB_DBPWD=<PGPasswordHere>
- GH_ACCESS_TOKEN=<GithubAccessToken>
syncjenkins:
image: syncjenkins
container_name: beamsyncjenkins
build:
context: ./sync/jenkins
dockerfile: Dockerfile
environment:
- DB_HOST=beampostgresql
- DB_PORT=5432
- DB_DBNAME=beam_metrics
- DB_DBUSERNAME=admin
- DB_DBPWD=<PGPasswordHere>
syncjira:
image: syncjira
container_name: beamsyncjira
build:
context: ./sync/jira
dockerfile: Dockerfile
environment:
- DB_HOST=beampostgresql
- DB_PORT=5432
- DB_DBNAME=beam_metrics
- DB_DBUSERNAME=admin
- DB_DBPWD=<PGPasswordHere>
volumes:
beam-postgresql-data:
beam-grafana-libdata:
beam-grafana-etcdata:
beam-grafana-logdata:
beam-influxdb-storage: