# https://github.com/dependency-check/dependency-check-sonar-plugin services: sonarqube: image: sonarqube:community hostname: sonarqube container_name: sonarqube read_only: true depends_on: db: condition: service_healthy environment: SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar SONAR_JDBC_USERNAME: sonar SONAR_JDBC_PASSWORD: sonar volumes: - sonarqube_data:/opt/sonarqube/data - sonarqube_extensions:/opt/sonarqube/extensions - sonarqube_logs:/opt/sonarqube/logs - sonarqube_temp:/opt/sonarqube/temp ports: - "50002:9000" networks: - ${NETWORK_TYPE:-ipv4} db: image: postgres:17 healthcheck: test: [ "CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}" ] interval: 10s timeout: 5s retries: 5 hostname: postgresql container_name: postgresql environment: POSTGRES_USER: sonar POSTGRES_PASSWORD: sonar POSTGRES_DB: sonar volumes: - postgresql:/var/lib/postgresql - postgresql_data:/var/lib/postgresql/data networks: - ${NETWORK_TYPE:-ipv4} volumes: sonarqube_data: sonarqube_temp: sonarqube_extensions: sonarqube_logs: postgresql: postgresql_data: networks: ipv4: driver: bridge enable_ipv6: false dual: driver: bridge enable_ipv6: true ipam: config: - subnet: "192.168.2.0/24" gateway: "192.168.2.1" - subnet: "2001:db8:2::/64" gateway: "2001:db8:2::1"