FROM golang:1.15 as envtpl

ARG HTTP_PROXY=
ARG HTTPS_PROXY=
ARG http_proxy=
ARG https_proxy=

RUN apt-get update -y && apt-get install -y git

RUN git clone https://github.com/subfuzion/envtpl /src \
  && cd /src \
  && git checkout v1.0.0 \
  && CGO_ENABLED=0 GOOS=linux go build \
    -ldflags "-X main.AppVersionMetadata=$(date -u +%s)" \
    -a -installsuffix cgo -o ./bin/envtpl ./cmd/envtpl/.

FROM alpine:3.13

ARG HTTP_PROXY=
ARG HTTPS_PROXY=
ARG http_proxy=
ARG https_proxy=

COPY --from=envtpl /src/bin/envtpl /usr/local/bin/envtpl

RUN apk add --no-cache \
    nss \
    freetype \
    freetype-dev \
    harfbuzz \
    ca-certificates \
    ttf-freefont \
    nodejs \
    npm \
    chromium

RUN npm install -g lighthouse

RUN adduser -D lighthouse   

COPY run-audit.sh /usr/local/bin/run-audit
RUN chmod +x /usr/local/bin/run-audit

COPY config.js.tmpl /home/lighthouse/config.js.tmpl

WORKDIR /home/lighthouse

RUN mkdir /home/lighthouse/reports

RUN chown -R lighthouse: /home/lighthouse

USER lighthouse

CMD /usr/local/bin/run-audit