|
|
|
|
|
FROM ubuntu:latest |
|
|
|
|
|
|
|
|
RUN apt -y update && \ |
|
|
apt -y install curl unzip nodejs npm xubuntu-desktop && \ |
|
|
|
|
|
curl -fsSL https://deno.land/x/install/install.sh | sh |
|
|
|
|
|
|
|
|
|
|
|
ENV DENO_INSTALL="/root/.deno" |
|
|
ENV PATH="$DENO_INSTALL/bin:$PATH" |
|
|
|
|
|
|
|
|
WORKDIR /app |
|
|
|
|
|
|
|
|
COPY main.ts ./ |
|
|
COPY index.html ./ |
|
|
|
|
|
RUN ls -al /app |
|
|
|
|
|
RUN deno --version |
|
|
RUN npm init -y |
|
|
|
|
|
|
|
|
RUN npm install puppeteer |
|
|
|
|
|
|
|
|
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true |
|
|
ENV PUPPETEER_EXECUTABLE_PATH=/app/chrome/chrome-linux64/chrome |
|
|
|
|
|
|
|
|
RUN apt-get update && apt-get install -y wget unzip jq curl && \ |
|
|
CHROME_VERSION=$(curl -s https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions.json | jq -r '.channels.Stable.version') && \ |
|
|
wget -q "https://storage.googleapis.com/chrome-for-testing-public/${CHROME_VERSION}/linux64/chrome-linux64.zip" -O /tmp/chrome.zip && \ |
|
|
mkdir -p /app/chrome && \ |
|
|
unzip /tmp/chrome.zip -d /app/chrome && \ |
|
|
rm /tmp/chrome.zip && \ |
|
|
chmod +x /app/chrome/chrome-linux64/chrome |
|
|
|
|
|
|
|
|
RUN ls -al /app/chrome |
|
|
|
|
|
|
|
|
EXPOSE 7860 |
|
|
|
|
|
|
|
|
CMD ["deno", "run", "-A", "main.ts"] |