Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
For most browser automation on EC2, install Playwright and its compatible Chromium build; you do not need to install Google Chrome separately. Install branded Chrome only when your tests specifically need that browser channel or its media-codec behavior. On Ubuntu, the core setup is to install a supported application runtime, add Playwright to your project, and run npx playwright install --with-deps chromium. Then verify the browser with a small headless smoke test and restrict the instance’s network access.
Choose the browser before provisioning
Playwright can run its managed Chromium build, or it can drive installed branded browsers such as Google Chrome and Microsoft Edge. Playwright does not install branded Chrome by default. For a new EC2 worker, managed Chromium is usually the simplest choice: Playwright downloads a browser revision compatible with the installed Playwright package. Choose branded Chrome when your regression policy requires the publicly shipped Chrome channel or when media codecs matter to the test.
| Option | Best fit | What to account for |
|---|---|---|
| Playwright-managed Chromium | Most automation and browser tests | Install the browser revision that matches the Playwright package; reinstall after intentional package upgrades. |
| Branded Google Chrome | Tests that need the Chrome channel or relevant media codecs | Install Chrome through the operating system’s approved package process, then select channel: 'chrome'. Enterprise browser policies can affect automation. |
| Headless shell | Headless jobs that do not need the full Chromium browser | Playwright offers --only-shell for this mode. If you require the newer headless implementation, configure the chromium channel instead. |
| Marketplace AMI | A setup shortcut when a preconfigured image suits your environment | A third-party AWS Marketplace image advertises Playwright and browser tooling. Review seller maintenance, permissions, update cadence, and cost before using it in production. |
These are not interchangeable test targets: record which browser mode each worker uses, and keep it consistent with the behavior you intend to validate. Playwright also documents stable and beta branded browser channels; enterprise policies that interfere with Chrome or Edge are outside the project’s scope.
Recommended Free Tools
Prepare the EC2 instance and network
Launch an Ubuntu EC2 instance through the EC2 console or AWS CLI, then connect using AWS’s documented connection workflow. Choose the instance size based on concurrent browser contexts, page complexity, and whether jobs save screenshots, video, or traces—not on a generic request-per-minute estimate. No universal headless sizing or throughput figure is established for this deployment.
#1 Best Overall
A desktop workload is a different case: Canonical’s EC2 desktop example recommends at least 2 CPU cores, 8 GB RAM, and an 8 GB volume. Treat those values as a GUI example, not a minimum or guarantee for headless Playwright.
- If the workload does not need inbound internet access, consider placing the instance in a private subnet. Use a bastion, Systems Manager Session Manager (SSM), or a narrowly restricted SSH route as appropriate for your environment.
- Use an EC2 security group to allow only the administration and application traffic the worker needs. AWS identifies security groups as the primary mechanism for controlling network access to EC2 instances.
- Do not expose a Chrome DevTools endpoint to the public internet. Keep browser control local to the worker or behind a deliberately designed, restricted access path.
- Allow the worker the outbound connectivity it needs to install packages and reach the sites it tests. If outbound traffic is restricted, plan the necessary approved package and destination access before deployment.
Headless Playwright does not need a desktop environment. Allocate disk for the browser cache and the artifacts your jobs retain. Playwright’s documented browser examples occupy hundreds of megabytes, but that does not establish a universal EC2 disk requirement.
Install Playwright and its managed Chromium browser
The following Node.js example assumes you are connected to an Ubuntu instance and are using a Node.js version supported by the Playwright release you choose. Install the runtime through your approved package or runtime-management process; available Ubuntu package versions can vary, so verify the installed version against your project’s requirements.
Rank #2
- Update package metadata and install Node.js and npm if they are not already available. For an Ubuntu repository-based setup, run
sudo apt update, thensudo apt install -y nodejs npm. If that does not provide a supported Node.js version for your Playwright release, use your organization’s approved Node.js installation method instead. - Create a project and add Playwright.
mkdir -p ~/playwright-ec2 cd ~/playwright-ec2 npm init -y npm install playwright - Install Chromium and the Linux libraries it needs.
npx playwright install --with-deps chromiumThis downloads Playwright-managed Chromium and installs its operating-system dependencies. If the browser binary is installed separately, Playwright also documents
npx playwright install-deps chromiumfor the dependency step. - For headless-only work, consider the smaller headless-shell installation.
npx playwright install --with-deps --only-shellUse the full Chromium installation instead if your workflow needs it. To use the newer headless implementation, configure the
chromiumchannel rather than assuming the shell is equivalent. - Keep the browser cache where you expect it. By default, Linux browser downloads are stored under
~/.cache/ms-playwright. If you need a shared or controlled location, setPLAYWRIGHT_BROWSERS_PATHfor both installation and runtime, and ensure the service account can read and write the required locations.
Pin the Playwright version in your application lockfile. Browser revisions change with Playwright releases, so after an intentional package upgrade, reinstall the corresponding browser and run the smoke test before promoting the worker.
Rank #3
- Include: 1x serverbook(not include guest check)
- Design: Unique design deluxe and durable server book to let your outstanding.Fit Server Apron well.
- Function: Have 8 slot.One slot for checkbook,3 slots for cards,3 slots receipt or money or other daily food special.also a slot for pen
- Size: 7.6x4.9x0.78inch,6oz
- Material: Made with high quality PU leather
Run a headless smoke test
Save this as smoke.js in the project directory. It launches managed Chromium, opens a page, writes a screenshot artifact, and closes the browser even if navigation or capture fails.
Free tools Windows power users keep installed
One-click scans. No signup required.
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch({ headless: true });
try {
const page = await browser.newPage();
const response = await page.goto('https://example.com', {
waitUntil: 'domcontentloaded',
timeout: 30000,
});
console.log('HTTP status:', response ? response.status() : 'no response');
console.log('Page title:', await page.title());
await page.screenshot({ path: 'smoke.png', fullPage: true });
} finally {
await browser.close();
}
})().catch((error) => {
console.error(error);
process.exitCode = 1;
});
Run it with node smoke.js. A successful run should print a page title and write smoke.png in the working directory. This is a basic deployment check, not proof that every target site, browser feature, or production workload will work. Use a URL that your instance is permitted to reach.
Switch the smoke test to branded Chrome
First install Google Chrome using the operating system’s approved package process and confirm the binary is available to the service account. Then change the launch call to const browser = await chromium.launch({ headless: true, channel: 'chrome' });. The chrome channel selects installed branded Chrome; it does not make the Playwright-managed Chromium download into Chrome. If your organization applies browser policies, test the actual worker image under those policies.
Rank #4
- 100% Satisfaction Warranty – Our servers book for waitress organization are handcrafted with elegant stitching that lasts. We take pride in offering our customers a waitress book made to exceptional quality standards. To ensure satisfaction, every waiters checkbook is backed by a 1-YEAR WARRANTY. If you are not 100% SATISFIED for any reason we will send you a replacement. No Questions Asked
- Holds up under Pressure – When you're taking orders the last thing you need is a flimsy waiter book that keeps bending. Our 8”x5” server books for waitress organization is the only one with a premium reinforced dual inner core. Providing an unmatched sturdy reliable writing surface that will last for years
- On Another Level – Halt the endless cycle of replacing your cheap thin black server book that barely lasts a week. This serving book for waitresses can become your permanent partner. Crafted with overwhelmingly strong attention to detail, the waiter checkbook offers an unparalleled value that you won’t regret investing in
- Scribble In Style – Impression is everything. You’re making a statement when you bring out this sleek vegan leather serving book. Our serving books have no logos or images and exquisite stitching for a professional feel your colleagues will envy
- Stay Calm and Collected – Whether you have 1 table or 7, organization is key. This server checkbook has 9 versatile pockets including a durable metal zipper to keep your cash secure. Stay on top of everything with this deluxe server book organizer and bring superior service to every customer
Python projects
For a Python worker, install the Playwright package in the project’s chosen Python environment, then install the browser and its system dependencies with the Playwright CLI:
python -m pip install playwright
python -m playwright install --with-deps chromium
Keep the Python package version pinned with the application and install the matching browser after upgrades. Use the Python API for the application’s smoke test if the service itself is written in Python; the browser selection and EC2 networking considerations remain the same.
Operate the worker safely and predictably
- Use a dedicated OS user. Run the service as a non-root account with only the permissions it needs. Give that user writable directories for downloads, screenshots, traces, and other artifacts instead of broad filesystem access.
- Control artifact growth. Retain only what helps your debugging and compliance needs. Browser caches, downloads, traces, and videos can accumulate; monitor disk usage and set a retention policy for artifacts.
- Size for real concurrency. Browser processes and pages consume resources according to context count, page complexity, and enabled recording. Measure the behavior of your own workload before choosing concurrency or instance size; there is no universal EC2 requests-per-minute figure established here.
- Make updates deliberate. Upgrade the pinned Playwright package, reinstall the matching browser revision, and rerun representative tests as a controlled change. Avoid updating browser dependencies invisibly on a production worker.
- Keep ingress narrow. Review security-group rules as the service changes. Do not open a browser debugging port for convenience, and restrict SSH or SSM administration to the operators who need it.
Troubleshoot common deployment failures
| Symptom | Likely cause | What to check or do |
|---|---|---|
| Launch reports missing shared libraries or dependencies | Browser operating-system libraries were not installed, or the image changed after installation. | Run npx playwright install --with-deps chromium on the Ubuntu image. For a separately managed browser binary, run npx playwright install-deps chromium and confirm the binary is present. |
| Playwright cannot find its browser executable | The browser was not installed for this Playwright version, or the cache path differs between install and runtime. | Run the browser-install command with the project’s installed Playwright package. Check ~/.cache/ms-playwright and ensure any configured PLAYWRIGHT_BROWSERS_PATH is consistent and accessible to the service user. |
| Branded Chrome channel fails to launch | Chrome is not installed, is not accessible to the service account, or enterprise policy affects automation. | Verify the approved Chrome package and permissions, check the selected channel spelling, and test under the same policies as the worker. Use managed Chromium if Chrome-specific fidelity is not required. |
| Navigation times out or a site does not load | The instance may lack outbound routing or DNS access, the destination may be unreachable, or the site itself may be slow or deny automated traffic. | Check the subnet route, egress controls, DNS, and the target’s accessibility from the instance. Test a permitted known URL first; do not treat an application timeout as proof that Playwright installation failed. |
| Jobs fail under load or artifacts stop writing | Concurrency, page complexity, browser recordings, permissions, or disk exhaustion may exceed the worker’s capacity. | Reduce concurrent contexts, inspect CPU, memory, disk, and artifact paths, and adjust the worker size or retention policy based on observed workload behavior. |
| Browser works interactively but fails as a service | The service may run under a different user, environment, cache path, or working directory. | Run the smoke check through the service’s real startup path and account. Confirm browser cache access, writable artifact directories, environment variables, and network permissions. |
Or skip the browser setup
If you need website screenshots rather than a programmable browser test suite, ScreenshotNeo is a website screenshot API and MCP server for developers. One GET request can return a PNG, JPEG, WebP, or PDF. It does not replace Playwright when you need custom browser interactions or end-to-end assertions, but it can avoid maintaining an EC2 browser worker for screenshot capture.
Best Value
- Standard size: 4 pink server note pads, Each Book Comes with 50 bound order slips - that's 200 ticket sheets total! Check Pads Size 6.75 x 3.5 inch.
- Convenient Work: These guest check books for servers have a tear-free dotted line that is easy to rip off. You can give as a customer copy or keep for record keeping. We've provided extra rows on the back for additional note taking.Perfect For Restaurants, Lounges, Hotels, Cafes, And Waiters To Use.
- Record Important Information: These server note pads can record important information.Each ticket has a unique serial number printed at the top, dates, order details, number of guests, order amount, table numbers etc. They are lightweight, small and can fit most aprons. They can be used on-demand and can help decrease errors in orders, while improving work efficiency.
- High Quality: Sturdy, Not Drop Powder, It's Thick, You Can Write On The Back And Front Easily.Their whole page printing has clear handwriting and a reasonable layout. On the customer retention part of each guest check, "THANK YOU" on the back to make customers feel appreciated.
- Contact Us: We're confident that the quality of the server note pads will go beyond your expectation. If you experience an issue, contact us, we'll appreciate it to learn from your experience, and we'll make it better
Example cURL request (see the ScreenshotNeo API documentation):
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo accepts cookie or consent banners before capture and removes 60+ known consent platforms, newsletter popups, and chat widgets; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers report the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. The Free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 shots.
Sign up free for 1,000 screenshots a month—no card required.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

