browsertrix/frontend/Dockerfile
Ilya Kreymer 4428184aea
frontend: configure running with a fixed 'replay.json', auth headers passed via separate config (#899)
wabac.js will reload the replay.json on 403 with new token (will be in next version of wabac.js)
presign urls: make presign timeout configurable (in minutes), defaults to 60 mins
dockerfile: fix configuring RWP_BASE_URL
2023-06-08 11:26:26 -07:00

54 lines
1.3 KiB
Docker

# syntax=docker/dockerfile:1.4
FROM docker.io/library/node:16 as build_deps
WORKDIR /app
COPY yarn.lock package.json ./
# Uses `yarn cache clean` to let Docker cache layer instead
# of including yarn cache in the build image
RUN yarn --production --frozen-lockfile --network-timeout 1000000 && \
yarn cache clean
FROM build_deps as build
COPY --link lit-localize.json \
postcss.config.js \
tailwind.config.js \
tsconfig.json \
webpack.config.js \
webpack.prod.js \
index.d.ts \
./
COPY --link src ./src/
# Build variables used to show current app version
# in the UI. Note that this will invalidate all
# subsequent RUN steps.
ARG GIT_COMMIT_HASH
ARG GIT_BRANCH_NAME
ARG VERSION
ARG RWP_BASE_URL=https://cdn.jsdelivr.net/npm/replaywebpage/
ENV GIT_COMMIT_HASH=${GIT_COMMIT_HASH} \
GIT_BRANCH_NAME=${GIT_BRANCH_NAME} \
VERSION=${VERSION} \
RWP_BASE_URL=${RWP_BASE_URL}
# Prevent Docker caching node_modules
RUN yarn build && \
rm -rf ./node_modules
FROM docker.io/library/nginx:1.23.2
ARG RWP_BASE_URL
ENV RWP_BASE_URL=${RWP_BASE_URL}
COPY --link --from=build /app/dist /usr/share/nginx/html
#COPY ./nginx.conf /etc/nginx/nginx.conf
COPY --link ./frontend.conf.template /etc/nginx/templates/
COPY --link ./minio.conf /etc/nginx/includes/
ADD --link ./00-browsertrix-nginx-init.sh ./docker-entrypoint.d/