chromium in docker
This commit is contained in:
parent
237dcb48b2
commit
fa4825d76d
68
.pi/skills/demo/Dockerfile
Normal file
68
.pi/skills/demo/Dockerfile
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
# Minimal headless Chrome container for Rodney/Showboat demos.
|
||||||
|
#
|
||||||
|
# Build:
|
||||||
|
# docker build -t demo-chrome .pi/skills/demo/
|
||||||
|
#
|
||||||
|
# Run:
|
||||||
|
# docker run -d --name demo-chrome \
|
||||||
|
# --cap-add=SYS_ADMIN --cap-drop=ALL \
|
||||||
|
# --security-opt=no-new-privileges:false \
|
||||||
|
# -p 9222:9222 \
|
||||||
|
# demo-chrome
|
||||||
|
#
|
||||||
|
# Connect: rodney connect localhost:9222
|
||||||
|
# Stop: docker stop demo-chrome && docker rm demo-chrome
|
||||||
|
#
|
||||||
|
# To use a pre-downloaded Chromium binary (from rod), copy the contents
|
||||||
|
# of ~/.cache/rod/browser/chromium-*/ into the build context first:
|
||||||
|
# cp -r ~/.cache/rod/browser/chromium-*/ .pi/skills/demo/chrome/
|
||||||
|
# docker build -t demo-chrome .pi/skills/demo/
|
||||||
|
|
||||||
|
FROM debian:bookworm-slim
|
||||||
|
|
||||||
|
# Install only the bare minimum dependencies Chrome needs
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
libnss3 \
|
||||||
|
libatk1.0-0 \
|
||||||
|
libatk-bridge2.0-0 \
|
||||||
|
libcups2 \
|
||||||
|
libdrm2 \
|
||||||
|
libxkbcommon0 \
|
||||||
|
libxcomposite1 \
|
||||||
|
libxdamage1 \
|
||||||
|
libxrandr2 \
|
||||||
|
libgbm1 \
|
||||||
|
libpango-1.0-0 \
|
||||||
|
libcairo2 \
|
||||||
|
libasound2 \
|
||||||
|
libxfixes3 \
|
||||||
|
libx11-xcb1 \
|
||||||
|
libxcb1 \
|
||||||
|
libx11-6 \
|
||||||
|
libxext6 \
|
||||||
|
libxrender1 \
|
||||||
|
fonts-liberation \
|
||||||
|
fonts-noto-cjk \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# Copy pre-downloaded Chromium binary (from rod's cache)
|
||||||
|
# This is the binary that `rodney start` downloads to ~/.cache/rod/browser/
|
||||||
|
COPY chrome/ /opt/chrome/
|
||||||
|
RUN chmod 4755 /opt/chrome/chrome_sandbox
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Expose Chrome's debug port for Rodney
|
||||||
|
EXPOSE 9222
|
||||||
|
|
||||||
|
# Run headless with minimal flags
|
||||||
|
# --no-sandbox: needed because we run as root in container
|
||||||
|
# --disable-gpu: no GPU in container
|
||||||
|
# --disable-dev-shm-usage: avoid /dev/shm size limits
|
||||||
|
CMD ["/opt/chrome/chrome", \
|
||||||
|
"--remote-debugging-address=0.0.0.0", \
|
||||||
|
"--remote-debugging-port=9222", \
|
||||||
|
"--headless=new", \
|
||||||
|
"--no-sandbox", \
|
||||||
|
"--disable-gpu", \
|
||||||
|
"--disable-dev-shm-usage"]
|
||||||
Loading…
x
Reference in New Issue
Block a user