blob: 3ec1954e321e7ae39096f6040fef6a6a3a5d7302 [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
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
- DB_HOST=beampostgresql
- DB_PORT=5432
- DB_DBNAME=beam_metrics
- DB_DBUSERNAME=admin
- DB_DBPWD=<PGPasswordHere>
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>
prometheus:
image: prom/prometheus
ports:
- 9090:9090
container_name: prometheus
volumes:
- ./prometheus/prometheus/config:/etc/prometheus:ro
- prometheus-storage:/prometheus
command:
- --config.file=/etc/prometheus/prometheus.yml
- --web.console.libraries=/etc/prometheus/console_libraries
- --web.console.templates=/etc/prometheus/consoles
- --storage.tsdb.path=/prometheus
- --storage.tsdb.retention.time=365d
pushgateway:
image: prom/pushgateway
container_name: pushgateway
ports:
- 9091:9091
alertmanager:
image: prom/alertmanager
container_name: alertmanager
ports:
- 9093:9093
volumes:
- ./prometheus/alertmanager/config:/etc/alertmanager:ro
volumes:
beam-postgresql-data:
beam-grafana-libdata:
beam-grafana-etcdata:
beam-grafana-logdata:
prometheus-storage: