Just add those lines to your docker-compose.yml
:
sonar_db:
image: postgres
environment:
- POSTGRES_USER=sonar
- POSTGRES_PASSWORD=sonar
volumes:
- ./sonar/db/:/var/lib/postgresql
- ./sonar/db/data/:/var/lib/postgresql/data
sonarqube:
image: sonarqube:5.6-alpine
ports:
- 9000:9000
- 9002:9002
links:
- sonar_db
environment:
- SONARQUBE_JDBC_URL=jdbc:postgresql://sonar_db:5432/sonar
volumes:
- ./sonar/conf/:/opt/sonarqube/conf
- ./sonar/data/:/opt/sonarqube/data
- ./sonar/extensions/:/opt/sonarqube/extensions
- ./sonar/bundled_plugins/:/opt/sonarqube/lib/bundled-plugins
sonar_runner:
image: pierrevincent/sonar-runner
volumes:
- .:/data
links:
- sonarqube
- sonar_db
And add a sonar-project.properties
at the root of your project.
A basic one :
# Required metadata
sonar.host.url=http://sonarqube:9000
sonar.projectKey=my-awesome-project
sonar.projectName=Aweseome project
sonar.projectVersion=1.0
# Comma-separated paths to directories with sources (required)
sonar.sources=rezdy
# Language
sonar.language=php
# Encoding of the source files
sonar.sourceEncoding=UTF-8
And just run docker-compose run --rm sonar_runner