Docker Compose for SonarQube: A Simple YAML Template
Published:
Docker Compose for SonarQube Community
services:
sonarqube:
image: sonarqube:community
restart: unless-stopped
depends_on:
- db
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
ports:
- "9000:9000"
networks:
- sonarnet
db:
image: postgres:15
restart: unless-stopped
environment:
- POSTGRES_USER=sonar
- POSTGRES_PASSWORD=sonar
- POSTGRES_DB=sonar
volumes:
- postgresql_data:/var/lib/postgresql/data
networks:
- sonarnet
networks:
sonarnet:
volumes:
sonarqube_data:
sonarqube_extensions:
sonarqube_logs:
postgresql_data:
Then, we pull the images:
docker compose pull
And run the server:
docker compose up -d
To setup Sonar, we access to <ip>:9000 and update the password. The default is:
- User:
admin - Password:
admin
Update the docker image for Sonar
docker compose down
docker compose pull
docker compose up -d