FROM golang:1.13 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.10

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 \
    bash

RUN PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 npm install -g pa11y pa11y-reporter-html@^1.0.0 pa11y-reporter-junit

RUN adduser -D pa11y   

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

COPY patty.json.tmpl /home/pa11y/patty.json.tmpl

WORKDIR /home/pa11y

RUN mkdir /home/pa11y/reports

RUN chown -R pa11y: /home/pa11y

USER pa11y

CMD /usr/local/bin/run-audit