mbopm/sonarqube
Sonarqube with plugins and healthcheck
55
This is a sonarqube image based on original community image with various preinstalled plugins. It also defines a default healthcheck.
On first startup plugins from /opt/sonarqube/docker/plugins/*.jar
are copied to /opt/sonarqube/extensions/plugins/
and a file named /opt/sonarqube/extensions/plugins/initialised
is created to skip this step on future startups.
This way you can use a volume for /opt/sonarqube/extensions
and changes on the plugins aren't reset on every startup.
The following plugins are preinstalled:
Here is a sample docker-compose.yml
file:
services:
sonarqube:
image: mbopm/sonarqube:latest
ports:
- "127.0.0.1:9000:9000"
volumes:
- sonarqube_data:/opt/sonarqube/data:rw
- sonarqube_logs:/opt/sonarqube/logs:rw
- sonarqube_extensions:/opt/sonarqube/extensions:rw
- sonarqube_temp:/opt/sonarqube/temp:rw
environment:
SONAR_JDBC_URL: jdbc:postgresql://postgres:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar_pass
depends_on:
postgres:
condition: service_healthy
postgres:
image: postgres:17-alpine
environment:
POSTGRES_DB: sonar
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar_pass
PGDATA: /var/lib/postgresql/data/pgdata
volumes:
- postgres_data:/var/lib/postgresql/data:rw
healthcheck:
test: [ "CMD-SHELL", "sh -c 'pg_isready -U sonar -d sonar'" ]
interval: 5s
timeout: 5s
retries: 10
volumes:
sonarqube_data:
sonarqube_logs:
sonarqube_extensions:
sonarqube_temp:
postgres_data:
docker pull mbopm/sonarqube