lhci/Dockerfile

51 lines
1.9 KiB
Docker

FROM node:lts-alpine3.14@sha256:7964eefba059e1536cca5c8da0181457b62d32f88a66fa44cb52734cd3b28c29
LABEL maintainer="Robert Kaussow <mail@thegeeklab.de>"
LABEL org.opencontainers.image.authors="Robert Kaussow <mail@thegeeklab.de>"
LABEL org.opencontainers.image.title="lhci"
LABEL org.opencontainers.image.url="https://gitea.rknet.org/docker/lhci"
LABEL org.opencontainers.image.source="https://gitea.rknet.org/docker/lhci"
LABEL org.opencontainers.image.documentation="https://gitea.rknet.org/docker/lhci"
ARG BUILD_VERSION
ARG YQ_VERSION
# renovate: datasource=npm depName=@lhci/cli
ENV LHCI_VERSION="${BUILD_VERSION:-0.8.1}"
# renovate: datasource=github-releases depName=mikefarah/yq
ENV YQ_VERSION="${YQ_VERSION:-v4.12.1}"
ENV LHCI_BASE_DIR=/drone/src \
FORCE_COLOR=true \
NPM_CONFIG_LOGLEVEL=error \
PATH=/usr/bin:$PATH
ADD overlay/ /
RUN apk --update add --virtual .build-deps curl && \
echo @edge http://dl-cdn.alpinelinux.org/alpine/edge/main >> /etc/apk/repositories && \
echo @edge http://dl-cdn.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories && \
apk update && \
apk add --update --no-cache git chromium@edge harfbuzz@edge freetype@edge freetype-dev@edge jq && \
curl -SsL -o /usr/local/bin/yq "https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/yq_linux_amd64" && \
chmod 755 /usr/local/bin/yq && \
LHCI_VERSION="${LHCI_VERSION##v}" && \
LHCI_MAJOR="${LHCI_VERSION%%.*}" && \
if [ -z "${LHCI_MAJOR//[0-9]}" ] && [ -n "$LHCI_MAJOR" ]; then \
echo "Installing lhci version '$LHCI_VERSION' ..." && \
npm install -g @lhci/cli@"$LHCI_VERSION"; \
else \
echo "Installing latest lhci ..." && \
npm install -g @lhci/cli; \
fi && \
npm install -g lighthouse && \
apk del .build-deps && \
rm -rf /var/cache/apk/* && \
rm -rf /tmp/* && \
rm -rf /root/.cache/
USER root
CMD []
WORKDIR /drone/src
ENTRYPOINT ["/usr/bin/lhci", "autorun"]