From 3211c4c29e9f3cd1b58ee9bafa9f8da47ae07b53 Mon Sep 17 00:00:00 2001 From: ImBenji Date: Sat, 18 Apr 2026 06:43:07 +0100 Subject: [PATCH] add Google News integration and enhance crawler capabilities --- Dockerfile | 26 +------------------------- Dockerfile.base | 31 +++++++++++++++++++++++++++++++ rebuild-api.sh | 5 +++++ 3 files changed, 37 insertions(+), 25 deletions(-) create mode 100644 Dockerfile.base diff --git a/Dockerfile b/Dockerfile index a8136e8..75a5530 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,35 +1,11 @@ -FROM node:22-bookworm-slim +FROM duriin-api-base:latest ENV NODE_ENV=production -ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright - -RUN apt-get update && apt-get install -y --no-install-recommends \ - chromium \ - fonts-liberation \ - libasound2 \ - libatk-bridge2.0-0 \ - libatk1.0-0 \ - libcups2 \ - libdbus-1-3 \ - libdrm2 \ - libgbm1 \ - libgtk-3-0 \ - libnspr4 \ - libnss3 \ - libx11-xcb1 \ - libxcomposite1 \ - libxdamage1 \ - libxfixes3 \ - libxrandr2 \ - libxshmfence1 \ - xdg-utils \ - && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci --omit=dev \ - && npx playwright install chromium \ && npm cache clean --force \ && mkdir -p /data \ && ln -s /data/archive.sqlite /app/archive.sqlite diff --git a/Dockerfile.base b/Dockerfile.base new file mode 100644 index 0000000..f84505b --- /dev/null +++ b/Dockerfile.base @@ -0,0 +1,31 @@ +FROM node:22-bookworm-slim + +ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright + +RUN apt-get update && apt-get install -y --no-install-recommends \ + chromium \ + fonts-liberation \ + libasound2 \ + libatk-bridge2.0-0 \ + libatk1.0-0 \ + libcups2 \ + libdbus-1-3 \ + libdrm2 \ + libgbm1 \ + libgtk-3-0 \ + libnspr4 \ + libnss3 \ + libx11-xcb1 \ + libxcomposite1 \ + libxdamage1 \ + libxfixes3 \ + libxrandr2 \ + libxshmfence1 \ + xdg-utils \ + && rm -rf /var/lib/apt/lists/* + +COPY package.json package-lock.json /tmp/playwright-install/ +RUN cd /tmp/playwright-install \ + && npm ci --omit=dev \ + && npx playwright install chromium \ + && rm -rf /tmp/playwright-install diff --git a/rebuild-api.sh b/rebuild-api.sh index c811ff4..162105f 100755 --- a/rebuild-api.sh +++ b/rebuild-api.sh @@ -3,6 +3,11 @@ set -euo pipefail cd "$(dirname "$0")" +if [[ "${1:-}" == "--base" ]]; then + echo "Rebuilding base image (chromium + system deps)..." + sudo docker build -f Dockerfile.base -t duriin-api-base:latest . +fi + sudo docker compose down sudo env DOCKER_BUILDKIT=0 COMPOSE_DOCKER_CLI_BUILD=0 docker compose build --no-cache sudo docker compose up -d --no-build