chrome (131-latest)
Published 2026-04-05 01:09:38 +00:00 by MRLokop
Installation
docker pull git.mrlokop.dev/images/chrome:131-latestsha256:c530ea0516f757e277545ea0db65083ffe5574aea9c414cd13d2faba87db4f26
Image Layers
| # debian.sh --arch 'amd64' out/ 'stable' '@1773619200' |
| RUN /bin/sh -c apt-get update && apt-get install -qy ca-certificates curl wget unzip fonts-freefont-ttf socat libxss1 libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 libxrandr2 libgbm1 libpango-1.0-0 libasound2t64 libxfixes3 libx11-xcb1 libxcb1 --no-install-recommends && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && apt-get install -y nodejs && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c useradd headless --shell /bin/bash --create-home && usermod -a -G sudo headless && echo 'ALL ALL = (ALL) NOPASSWD: ALL' >> /etc/sudoers && echo 'headless:nopassword' | chpasswd # buildkit |
| RUN /bin/sh -c mkdir -p /browsers /data && chown -R headless:headless /browsers /data # buildkit |
| WORKDIR /app |
| COPY /app/node_modules ./node_modules # buildkit |
| COPY /app/package.json ./package.json # buildkit |
| COPY /emulator-data ./node_modules/@ulixee/default-browser-emulator/data # buildkit |
| RUN /bin/sh -c chown -R headless:headless /app # buildkit |
| USER headless |
| EXPOSE [1337/tcp] |
| ENTRYPOINT [] |
| CMD ["node" "-e" "const Core = require('@ulixee/hero-core').default;const { WsTransportToClient } = require('@ulixee/net');const WebSocket = require('ws');const port = parseInt(process.env.HERO_PORT || '1337');const proxyUrl = process.env.HERO_UPSTREAM_PROXY || '';if (proxyUrl) console.log('Upstream proxy: ' + proxyUrl.replace(/:[^:@]+@/, ':***@'));Core.start().then(core => { const origAdd = core.addConnection.bind(core); core.addConnection = function(t) { const c = origAdd(t); if (proxyUrl) { const oc = c.createSession.bind(c); c.createSession = async function(o) { o=o||{}; if(!o.upstreamProxyUrl) o.upstreamProxyUrl=proxyUrl; return oc(o); }; } return c; }; const wss = new WebSocket.Server({ port }, () => console.log('Hero Core listening on port ' + port)); wss.on('connection', (ws, req) => { console.log('Connection from ' + req.socket.remoteAddress); const t = new WsTransportToClient(ws, req); core.addConnection(t); }); process.on('SIGTERM', () => { wss.close(); Core.shutdown(); });}).catch(e => { console.error(e); process.exit(1); });"] |
| ARG CHROME_MAJOR=131 |
| USER root |
| RUN |1 CHROME_MAJOR=131 /bin/sh -c cd /app && npm install --ignore-scripts @ulixee/chrome-${CHROME_MAJOR}-0 2>&1 # buildkit |
| USER headless |
| RUN |1 CHROME_MAJOR=131 /bin/sh -c cd /app/node_modules/@ulixee/chrome-${CHROME_MAJOR}-0 && node install.js 2>&1 # buildkit |
| USER root |
| RUN |1 CHROME_MAJOR=131 /bin/sh -c CHROME_PATH=$(find /home/headless/.cache /root/.cache -name "chrome" -path "*/ulixee/chrome/*" -type f 2>/dev/null | head -1) && echo "Found Chrome at: $CHROME_PATH" && ln -sf "$CHROME_PATH" /browsers/chrome && chmod +x /browsers/chrome # buildkit |
| RUN |1 CHROME_MAJOR=131 /bin/sh -c CHROME_DIR=$(dirname $(readlink -f /browsers/chrome)) && if [ -f "$CHROME_DIR/install-dependencies.deb" ]; then apt-get update && apt-get install -qy "$CHROME_DIR/install-dependencies.deb" && apt-get clean && rm -rf /var/lib/apt/lists/*; else apt-get update && apt-get install -qy libcairo2 libpango-1.0-0 libgdk-pixbuf-2.0-0 libgtk-3-0 --no-install-recommends && apt-get clean && rm -rf /var/lib/apt/lists/*; fi && /browsers/chrome --version # buildkit |
| RUN |1 CHROME_MAJOR=131 /bin/sh -c chown -R headless:headless /browsers /app # buildkit |
| ENV CHROME_131_BIN=/browsers/chrome |
| ENV ULX_DEFAULT_BROWSER_ID=chrome-131-0 |
| USER headless |
Details
2026-04-05 01:09:38 +00:00
Versions (8)
View all
Container
1
OCI / Docker
linux/amd64
572 MiB
131-latest
2026-04-05
130-latest
2026-04-05
130-1.0.5
2026-04-04
130-1.0.4
2026-04-04
130-1.0.3
2026-04-04