spring-petclinic/docker-compose.yml
2025-11-23 15:27:03 -05:00

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