sonarqube-community (75a41785e400b35ace14246330c3af432d9ce913)

Published 2025-11-10 15:28:22 +00:00 by GuillaumeHemmen

Installation

docker pull git.van-hemmen.com/guillaumehemmen/sonarqube-community:75a41785e400b35ace14246330c3af432d9ce913
sha256:cf684c667af3acba500405264f15eab591dd712b0457264bc911097861a158d8

Image layers

ARG RELEASE
ARG LAUNCHPAD_BUILD_ARCH
LABEL org.opencontainers.image.ref.name=ubuntu
LABEL org.opencontainers.image.version=24.04
ADD file:d9cb8116905a82675c3c2cbb4782e50ef8cacfc16be3654bc070281a3c8ce646 in /
CMD ["/bin/bash"]
ENV JAVA_HOME=/opt/java/openjdk
ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
RUN /bin/sh -c set -eux; apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends curl wget gnupg fontconfig ca-certificates p11-kit tzdata locales ; echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen; locale-gen en_US.UTF-8; rm -rf /var/lib/apt/lists/* # buildkit
ENV JAVA_VERSION=jdk-21.0.8+9
RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='968c283e104059dae86ea1d670672a80170f27a39529d815843ec9c1f0fa2a03'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jre_x64_linux_hotspot_21.0.8_9.tar.gz'; ;; arm64) ESUM='f54f6e2a907c4aef95ce6d7388474c6d5d87ae87899dd309561672bcfda9121e'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jre_aarch64_linux_hotspot_21.0.8_9.tar.gz'; ;; ppc64el) ESUM='12c351c7a6906ca4ddd3f158cbd9ebf2733bab2dc432dc3f9d5685476b16b7bc'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jre_ppc64le_linux_hotspot_21.0.8_9.tar.gz'; ;; riscv64) ESUM='1c87410971cd7c3cd175bfe81cfecbe83462a64291caf1055cdcc0feb56e907d'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jre_riscv64_linux_hotspot_21.0.8_9.tar.gz'; ;; s390x) ESUM='7f2f9e48cc0e970b671b4ee8c69bf98002e27e4546e0c33071a2ecac38a8154c'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jre_s390x_linux_hotspot_21.0.8_9.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; wget --progress=dot:giga -O /tmp/openjdk.tar.gz ${BINARY_URL}; wget --progress=dot:giga -O /tmp/openjdk.tar.gz.sig ${BINARY_URL}.sig; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 3B04D753C9050D9A5D343F39843C48A565F8F04B; gpg --batch --verify /tmp/openjdk.tar.gz.sig /tmp/openjdk.tar.gz; rm -rf "${GNUPGHOME}" /tmp/openjdk.tar.gz.sig; echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; mkdir -p "$JAVA_HOME"; tar --extract --file /tmp/openjdk.tar.gz --directory "$JAVA_HOME" --strip-components 1 --no-same-owner ; rm -f /tmp/openjdk.tar.gz; find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; ldconfig; java -Xshare:dump; # buildkit
RUN /bin/sh -c set -eux; echo "Verifying install ..."; echo "java --version"; java --version; echo "Complete." # buildkit
COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh # buildkit
ENTRYPOINT ["/__cacert_entrypoint.sh"]
LABEL io.k8s.description=SonarQube Community Build is a self-managed, automatic code review tool that systematically helps you deliver Clean Code.
LABEL io.openshift.min-cpu=400m
LABEL io.openshift.min-memory=2048M
LABEL io.openshift.non-scalable=true
LABEL io.openshift.tags=sonarqube,static-code-analysis,code-quality,clean-code
LABEL org.opencontainers.image.url=https://github.com/SonarSource/docker-sonarqube
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
ARG SONARQUBE_VERSION=25.9.0.112764
ARG SONARQUBE_ZIP_URL=https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-25.9.0.112764.zip
ENV DOCKER_RUNNING=true JAVA_HOME=/opt/java/openjdk SONARQUBE_HOME=/opt/sonarqube SONAR_VERSION=25.9.0.112764 SQ_DATA_DIR=/opt/sonarqube/data SQ_EXTENSIONS_DIR=/opt/sonarqube/extensions SQ_LOGS_DIR=/opt/sonarqube/logs SQ_TEMP_DIR=/opt/sonarqube/temp
ENV ES_TMPDIR=/opt/sonarqube/temp
RUN |2 SONARQUBE_VERSION=25.9.0.112764 SONARQUBE_ZIP_URL=https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-25.9.0.112764.zip /bin/sh -c set -eux; deluser ubuntu; useradd --system --uid 1000 --gid 0 sonarqube; apt-get update; apt-get --no-install-recommends -y install bash curl fonts-dejavu gnupg unzip; echo "networkaddress.cache.ttl=5" >> "${JAVA_HOME}/conf/security/java.security"; sed --in-place --expression="s?securerandom.source=file:/dev/random?securerandom.source=file:/dev/urandom?g" "${JAVA_HOME}/conf/security/java.security"; for server in $(shuf -e hkps://keys.openpgp.org hkps://keyserver.ubuntu.com) ; do gpg --batch --keyserver "${server}" --recv-keys 679F1EE92B19609DE816FDE81DB198F93525EC1A && break || : ; done; mkdir --parents /opt; cd /opt; curl --fail --location --output sonarqube.zip --silent --show-error "${SONARQUBE_ZIP_URL}"; curl --fail --location --output sonarqube.zip.asc --silent --show-error "${SONARQUBE_ZIP_URL}.asc"; gpg --batch --verify sonarqube.zip.asc sonarqube.zip; unzip -q sonarqube.zip; mv "sonarqube-${SONARQUBE_VERSION}" sonarqube; rm sonarqube.zip*; rm -rf ${SONARQUBE_HOME}/bin/*; ln -s "${SONARQUBE_HOME}/lib/sonar-application-${SONARQUBE_VERSION}.jar" "${SONARQUBE_HOME}/lib/sonarqube.jar"; chown -R sonarqube:root ${SONARQUBE_HOME}; chown -R sonarqube:root "${SQ_DATA_DIR}" "${SQ_EXTENSIONS_DIR}" "${SQ_LOGS_DIR}" "${SQ_TEMP_DIR}"; chmod -R 550 ${SONARQUBE_HOME}; chmod -R 770 "${SQ_DATA_DIR}" "${SQ_EXTENSIONS_DIR}" "${SQ_LOGS_DIR}" "${SQ_TEMP_DIR}"; apt-get remove -y gnupg unzip; rm -rf /var/lib/apt/lists/*; # buildkit
VOLUME [/opt/sonarqube/data /opt/sonarqube/extensions /opt/sonarqube/logs /opt/sonarqube/temp]
COPY --chown=root:root --chmod=555 entrypoint.sh /opt/sonarqube/docker/ # buildkit
WORKDIR /opt/sonarqube
EXPOSE map[9000/tcp:{}]
USER sonarqube
STOPSIGNAL SIGINT
ENTRYPOINT ["/opt/sonarqube/docker/entrypoint.sh"]
RUN set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl unzip; rm -rf /var/lib/apt/lists/*
RUN set -eux; mkdir -p "${JAR_DIR}" "${ZIP_TARGET_DIR}" /tmp/build; if [ -n "${JAR_URL}" ]; then echo "Downloading plugin JAR from ${JAR_URL} ..."; curl -fsSL "${JAR_URL}" -o /tmp/build/plugin.jar; mv /tmp/build/plugin.jar "${JAR_DIR}/sonarqube-branch-plugin.jar"; else echo "JAR_URL not provided, skipping JAR download."; fi; if [ -n "${ZIP_URL}" ]; then echo "Downloading ZIP from ${ZIP_URL} ..."; curl -fsSL "${ZIP_URL}" -o /tmp/build/archive.zip; unzip -o /tmp/build/archive.zip -d "${ZIP_TARGET_DIR}"; else echo "ZIP_URL not provided, skipping ZIP download."; fi; rm -rf /tmp/build; chown -R 1000:0 "${JAR_DIR}" "${ZIP_TARGET_DIR}" || true; find "${JAR_DIR}" -type f -exec chmod 0644 {} \; ; find "${JAR_DIR}" -type d -exec chmod 0755 {} \; ; find "${ZIP_TARGET_DIR}" -type f -exec chmod 0644 {} \; ; find "${ZIP_TARGET_DIR}" -type d -exec chmod 0755 {} \;

Labels

Key Value
io.k8s.description SonarQube Community Build is a self-managed, automatic code review tool that systematically helps you deliver Clean Code.
io.openshift.min-cpu 400m
io.openshift.min-memory 2048M
io.openshift.non-scalable true
io.openshift.tags sonarqube,static-code-analysis,code-quality,clean-code
maintainer guillaume@van-hemmen.com
org.opencontainers.image.ref.name ubuntu
org.opencontainers.image.url https://github.com/SonarSource/docker-sonarqube
org.opencontainers.image.version 24.04
Details
Container
2025-11-10 15:28:22 +00:00
0
OCI / Docker
linux/amd64
935 MiB
Versions (5) View all