mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-12-27 19:07:28 +00:00
116 lines
2.4 KiB
YAML
116 lines
2.4 KiB
YAML
services:
|
|
jenkins:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.jenkins
|
|
user: root
|
|
container_name: jenkins
|
|
privileged: true
|
|
ports:
|
|
- "8082:8080"
|
|
- "50000:50000"
|
|
environment:
|
|
- JENKINS_OPTS=--prefix=/jenkins
|
|
volumes:
|
|
- jenkins_home:/var/jenkins_home
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
networks:
|
|
- devops-net
|
|
|
|
sonarqube:
|
|
image: sonarqube:10.5.1-community
|
|
container_name: sonarqube
|
|
ports:
|
|
- "9000:9000"
|
|
environment:
|
|
- SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true
|
|
volumes:
|
|
- sonarqube_data:/opt/sonarqube/data
|
|
- sonarqube_extensions:/opt/sonarqube/extensions
|
|
- sonarqube_logs:/opt/sonarqube/logs
|
|
networks:
|
|
- devops-net
|
|
|
|
prometheus:
|
|
image: prom/prometheus:v2.53.1
|
|
container_name: prometheus
|
|
command:
|
|
- --config.file=/etc/prometheus/prometheus.yml
|
|
- --storage.tsdb.path=/prometheus
|
|
- --storage.tsdb.retention.time=15d
|
|
- --web.enable-lifecycle
|
|
volumes:
|
|
- ./monitoring/prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
|
- prometheus_data:/prometheus
|
|
ports:
|
|
- "9090:9090"
|
|
networks:
|
|
- devops-net
|
|
|
|
grafana:
|
|
image: grafana/grafana-oss:11.1.0
|
|
container_name: grafana
|
|
ports:
|
|
- "3030:3000"
|
|
environment:
|
|
- GF_SECURITY_ADMIN_USER=admin
|
|
- GF_SECURITY_ADMIN_PASSWORD=admin
|
|
- GF_INSTALL_PLUGINS=grafana-piechart-panel
|
|
volumes:
|
|
- grafana_data:/var/lib/grafana
|
|
networks:
|
|
- devops-net
|
|
depends_on:
|
|
- prometheus
|
|
|
|
zap:
|
|
image: ghcr.io/zaproxy/zaproxy:stable
|
|
platform: linux/amd64
|
|
container_name: zap
|
|
command:
|
|
[
|
|
"zap.sh",
|
|
"-daemon",
|
|
"-host",
|
|
"0.0.0.0",
|
|
"-port",
|
|
"8083",
|
|
"-config",
|
|
"api.disablekey=true",
|
|
]
|
|
ports:
|
|
- "8083:8081"
|
|
volumes:
|
|
- ./zap/wrk:/zap/wrk
|
|
networks:
|
|
- devops-net
|
|
|
|
petclinic:
|
|
image: petclinic:latest
|
|
container_name: petclinic
|
|
ports:
|
|
- "8081:8080"
|
|
networks:
|
|
- devops-net
|
|
|
|
maven-java25:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.maven-java25
|
|
image: maven-java25:latest
|
|
container_name: maven-java25-builder
|
|
command: ["tail", "-f", "/dev/null"]
|
|
networks:
|
|
- devops-net
|
|
|
|
volumes:
|
|
jenkins_home:
|
|
sonarqube_data:
|
|
sonarqube_extensions:
|
|
sonarqube_logs:
|
|
prometheus_data:
|
|
grafana_data:
|
|
|
|
networks:
|
|
devops-net:
|
|
driver: bridge
|