* support for replay via replayweb.page embed, fixes #124 backend: - pre-sign all files urls - cache pre-signed urls in redis, presign again when expired (default duration 3600, settable via PRESIGN_DURATION_SECONDS env var) - change files output -> resources to confirm to Data Package spec supported by replayweb.page - add CrawlFileOut which contains 'name' (file id), 'path' (presigned url), 'hash', and 'size' - add /replay/sw.js endpoint to import sw.js from latest replay-web-page release - update to fastapi-users 9.2.2 - customize backend auth to allow authentication to check 'auth_bearer' query arg if 'Authorization' header not set - remove sw.js endpoint, handling in frontend frontend: - add <replay-web-page> to frontend, include rwp ui.js from latest release in index.html for now - update crawl api endpoint to end in json - replay-web-page loads the api endpoint directly! - update Crawl type to use new format, 'resources' -> instead of 'files', each file has 'name' and 'path' - nginx: add endpoint to serve the replay sw.js endpoint - add defer attr to ui.js - move 'Download' to 'Download Files' * frontend: support customizing replayweb.page loading url via RWP_BASE_URL env var in Dockerfile - default prod value set in frontend Dockerfile (set to upcoming 1.5.8 release needed for multi-wacz-file support) (can be overridden during image build via --build-arg) - rename index.html -> index.ejs to allow interpolation - RWP_BASE_URL defaults to latest https://replayweb.page/ for testing - for local testing, add sw.js loading via devServer, also using RWP_BASE_URL (#131) Co-authored-by: sua yoo <sua@suayoo.com>
28 lines
577 B
Docker
28 lines
577 B
Docker
# central place to configure the production replayweb.pgae loading prefix
|
|
ARG RWP_BASE_URL=https://cdn.jsdelivr.net/npm/replaywebpage@1.5.8/
|
|
|
|
FROM node:16 as build
|
|
ARG RWP_BASE_URL
|
|
|
|
WORKDIR /app
|
|
COPY package.json .
|
|
COPY yarn.lock .
|
|
RUN yarn --frozen-lockfile
|
|
COPY *.* ./
|
|
COPY src ./src/
|
|
RUN yarn build
|
|
|
|
FROM nginx
|
|
|
|
ARG RWP_BASE_URL
|
|
ENV RWP_BASE_URL=${RWP_BASE_URL}
|
|
|
|
COPY --from=build /app/dist /usr/share/nginx/html
|
|
|
|
COPY ./nginx.conf.template /etc/nginx/templates/
|
|
|
|
RUN rm /etc/nginx/conf.d/*
|
|
|
|
RUN mkdir -p /etc/nginx/resolvers; echo "" > /etc/nginx/resolvers/resolvers.conf
|
|
|