Sign inSign up

anatoliiv/chromium-dev

By anatoliiv

•Updated 4 months ago

Build/debug Chromium from a browser tab: VS Code+clangd, noVNC GUI desktop, debuggers, Claude Code.

Image
0

342

anatoliiv/chromium-dev repository overview

⁠Chromium Dev Workstation

Build, run, debug and compare Chromium from a browser tab. Ubuntu 24.04, RunPod-ready.

VS Code in the browser (full C++ IntelliSense, one-key build/run/debug), a noVNC desktop to watch the browser, a reference Chromium to diff against, Claude Code, SSH/SFTP, and the usual compilers, debuggers and network tools.

Source is NOT in the image. make sync pulls Chromium from official upstream (chromium.googlesource.com) onto the /workspace volume at runtime, so it survives restarts.

⁠1. Run it

docker run -d --name chromium-dev --shm-size=2g \
  -p 8080:8080 -p 6080:6080 -p 2222:22 \
  -v chromium-dev-workspace:/workspace \
  -e CODE_SERVER_PASSWORD=secret -e TLS=1 \
  -e AUTHORIZED_KEYS="$(cat ~/.ssh/id_ed25519.pub)" \
  ghcr.io/volkodava/chromium-dev:24.04

Why the flags: --shm-size=2g stops Chromium crashing on a tiny /dev/shm · the three ports map VS Code / desktop / SSH · the named volume persists the hundreds-of-GB checkout across restarts · TLS=1 serves self-signed HTTPS on localhost (drop it behind a TLS proxy like RunPod) · AUTHORIZED_KEYS trusts your SSH key.

Open (accept the self-signed cert warning):

Both UIs share CODE_SERVER_PASSWORD (random + printed to docker logs if unset; noVNC uses its first 8 chars).

⁠2. Build Chromium

In the pod (web terminal, SSH, or VS Code), via /workspace/Makefile:

cd /workspace
make sync     # fetch Chromium (default: latest Stable). First run is long, resumable.
make build    # incremental compile; uses all cores. JOBS=8 caps link RAM.
make run      URL=https://example.com   # your build, in the desktop
make run-ref  URL=https://example.com   # reference Chromium, side by side to diff

VS Code keys: Ctrl+Shift+B build · Ctrl+Shift+R run · F5 debug · Ctrl+Shift+G gn gen.

⁠Heads up

  • Volume: >= 400 GB on /workspace (checkout ~100 GB + out/Default build + headroom).
  • RAM: link is the hog — small boxes need JOBS=N; 32+ GB comfortable, ~128 GB for full-speed full builds.
  • RunPod: expose 8080/6080 as HTTP, 22 as TCP; leave TLS unset; SSH key goes in Account > Settings (injected as PUBLIC_KEY).
  • Env: CODE_SERVER_PASSWORD, TLS, AUTHORIZED_KEYS / PUBLIC_KEY, CHROMIUM_VERSION (pin a tag), JOBS, SCREEN, VNC_PASSWORD, GIT_SSH_KEY.

Tag summary

Content type

Image

Digest

sha256:7e674df63…

Size

2 GB

Last updated

4 months ago

docker pull anatoliiv/chromium-dev:24.04