Elle permet d’analyser la qualité du code source et d’identifier les problèmes techniques dans vos projets. SonarQube offre une vue d'ensemble de la santé de vos projets, avec des informations sur les bugs, les vulnérabilités et les mauvaises pratiques.
sonarqube.monsite.fr
).env
contenant les variables suivantes :SERVICE=sonarqube
SERVICE_DB=sonarqube_db
DB=sonar
DB_USER=sonar
DB_PASSWORD=motdepasse_db
URL=sonarqube.monsite.fr
docker-compose.yml
services:
sonarqube:
container_name: ${SERVICE}
image: sonarqube:9.9.8-community
depends_on:
- ${SERVICE_DB}
environment:
SONAR_JDBC_URL: jdbc:postgresql://${SERVICE_DB}:5432/${DB}
SONAR_JDBC_USERNAME: ${DB_USER}
SONAR_JDBC_PASSWORD: ${DB_PASSWORD}
volumes:
- sonarqube_conf:/opt/sonarqube/conf
- sonarqube_data:/opt/sonarqube/data
- sonarqube_extensions:/opt/sonarqube/extensions
- sonarqube_logs:/opt/sonarqube/logs
- sonarqube_temp:/opt/sonarqube/temp
networks:
- sonarqube_net
- traefik_net
labels:
- "traefik.enable=true"
- "traefik.http.routers.sonarqube.rule=Host(${URL})"
- "traefik.http.routers.sonarqube.entrypoints=web"
- "traefik.http.services.sonarqube.loadbalancer.server.port=9000"
- "traefik.docker.network=traefik_net"
sonarqube_db:
container_name: ${SERVICE_DB}
image: postgres:13
environment:
POSTGRES_DB: ${DB}
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes:
- sonarqube_db:/var/lib/postgresql
- sonarqube_db_data:/var/lib/postgresql/data
networks:
- sonarqube_net
volumes:
sonarqube_conf:
sonarqube_data:
sonarqube_extensions:
sonarqube_logs:
sonarqube_temp:
sonarqube_db:
sonarqube_db_data:
networks:
sonarqube_net:
name: sonarqube_net
driver: bridge
traefik_net:
external: true
Lancez les services en arrière-plan avec la commande suivante :
docker-compose up -d
Une fois le processus terminé, vous pourrez accéder à SonarQube via votre domaine configuré :
🔗 http://sonarqube.monsite.fr
(ou https://sonarqube.monsite.fr
si HTTPS est configuré avec Traefik)
sonarqube/
├── docker-compose.yml
└── .env
sonarqube.monsite.fr
pointe vers l'IP de votre serveur.Pour arrêter les services sans supprimer les volumes (les données de SonarQube seront conservées) :
docker-compose down
Pour arrêter et supprimer les volumes, ce qui efface les données :
docker-compose down -v