lhci/Dockerfile

46 lines
1.6 KiB
Docker

FROM node:10-alpine
# due to https://github.com/http-party/http-server/issues/537
LABEL maintainer="Robert Kaussow <mail@geeklabor.de>" \
org.label-schema.name="lhci" \
org.label-schema.vcs-url="https://gitea.rknet.org/docker/lhci" \
org.label-schema.vendor="Robert Kaussow" \
org.label-schema.schema-version="1.0"
ARG BUILD_VERSION=latest
ENV LHCI_VERSION="${BUILD_VERSION:-latest}" \
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 jq && \
curl -SsL -o /usr/local/bin/yq https://github.com/mikefarah/yq/releases/download/3.3.2/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"]