services: jenkins: build: context: . dockerfile: Dockerfile.jenkins user: root container_name: jenkins privileged: true ports: - "8082:8080" - "50000:50000" environment: - JENKINS_OPTS=--prefix=/jenkins - CASC_JENKINS_CONFIG=/var/jenkins_home/casc_configs/jenkins.yaml volumes: - jenkins_home:/var/jenkins_home - ./jenkins.yaml:/var/jenkins_home/casc_configs/jenkins.yaml - /var/run/docker.sock:/var/run/docker.sock networks: - devops-net depends_on: - sonarqube sonarqube: image: sonarqube:lts-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