Simple guide to run SonarQube locally and analyze your code.
Create a docker-compose.yml
:
version: "3.8"
services:
sonarqube:
image: sonarqube:lts
container_name: sonarqube
depends_on:
- sonarqube-db
environment:
- SONAR_JDBC_URL=jdbc:postgresql://sonarqube-db:5432/sonar
- SONAR_JDBC_USERNAME=sonar
- SONAR_JDBC_PASSWORD=sonar
- SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true
volumes:
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_logs:/opt/sonarqube/logs
ports:
- "9000:9000"
networks:
- sonarnet
ulimits:
nofile:
soft: 65536
hard: 65536
restart: unless-stopped
sonarqube-db:
image: postgres:13
container_name: sonarqube-db
environment:
- POSTGRES_USER=sonar
- POSTGRES_PASSWORD=sonar
- POSTGRES_DB=sonar
volumes:
- sonarqube_db:/var/lib/postgresql/data
networks:
- sonarnet
restart: unless-stopped
volumes:
sonarqube_data:
sonarqube_extensions:
sonarqube_logs:
sonarqube_db:
networks:
sonarnet:
driver: bridge
Start SonarQube:
docker-compose up -d
- Go to http://localhost:9000
- Login with admin/admin
- Go to My Account > Security
- Generate a new token and save it
In your project directory, run:
docker run --rm \
--network=sonar-qube_sonarnet \
-v $(pwd):/usr/src \
sonarsource/sonar-scanner-cli \
-Dsonar.projectKey=your-project-key \
-Dsonar.projectName="Your Project Name" \
-Dsonar.sources=. \
-Dsonar.host.url=http://sonarqube:9000 \
-Dsonar.login=YOUR_TOKEN
Replace:
your-project-key
with your project identifierYour Project Name
with your project's display nameYOUR_TOKEN
with the token from Step 2
View results at http://localhost:9000
When done:
docker-compose down