Skip to content

docs: add RHEL/CentOS installation guide for local mode #227

@samcofer

Description

@samcofer

Summary

VIP works on RHEL-based distributions (RHEL, CentOS, Rocky, Alma) in local mode, but the current documentation and setup tooling assume Debian/Ubuntu. Users on RHEL will hit a wall at playwright install --with-deps chromium since Playwright's --with-deps flag only supports Debian/Ubuntu for automatic system dependency installation.

What needs updating

1. Document manual Playwright system dependencies for RHEL

playwright install --with-deps fails on RHEL because it shells out to apt-get. Users need to manually install Chromium's shared library dependencies before running playwright install chromium (without --with-deps).

Minimum required packages (dnf/yum):

dnf install -y nss nspr atk at-spi2-atk cups-libs libdrm \
  libXcomposite libXdamage libXrandr mesa-libgbm pango \
  alsa-lib libxshmfence libXtst

Then install the browser only:

uv run playwright install chromium

2. Update justfile setup recipe

The current setup recipe runs playwright install --with-deps chromium. This should either:

  • Detect the OS and adjust the command, or
  • Document that --with-deps is Ubuntu-only and point RHEL users to the manual steps

3. Update CLAUDE.md environment setup section

The environment setup block in CLAUDE.md uses --with-deps unconditionally:

uv run playwright install --with-deps chromium

Should note the RHEL alternative.

4. Consider adding an OS-aware setup check

Optional: a vip doctor or vip setup --check command that validates system dependencies are present regardless of distro, rather than relying on Playwright's Debian-only --with-deps.

Context

  • The Python codebase itself is fully OS-agnostic (no platform detection, no Debian assumptions in source)
  • All subprocess calls are to portable tools (kubectl, quarto, pytest)
  • The Docker/K8s mode is unaffected since the container image is Ubuntu-based
  • This only affects users running vip verify --local directly on a RHEL host

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions