Установка Playwright на сервер и в Docker: коротко и с данными

Конспект страницы: 7 разделов коротко, данные на 14 октября 2026 и ответы на 5 вопросов. Полный разбор с примерами: Установка Playwright на сервер и в Docker.

Коротко

Главная / Разработка / Playwright Установка Playwright на сервер сводится к двум путям: поставить пакет и браузеры командой install --with-deps или взять готовый образ Docker от Microsoft, где браузеры уже лежат внутри. Оба пути работают без монитора, потому что Playwright запускает браузеры в безголовом режиме (headless), то есть без окна. Для тестов, скриншотов и парсинга берите официальный образ mcr.microsoft.com/playwright и запускайте его с флагами --init и --ipc=host.

Конспект по разделам

Для чего ставят Playwright на сервер, и чем он отличается от Selenium и Puppeteer

Playwright управляет настоящими браузерами из кода: открывает страницы, нажимает кнопки, заполняет формы, делает скриншоты и PDF. На сервер его ставят ради автотестов в CI, регулярных проверок сайта, сбора данных с динамических страниц и браузерных ИИ-агентов вроде Browser Use. Если скриптов на Selenium много, переписывать их ради сервера не нужно: тот же сервер держит и Selenium Grid в контейнере.

Сколько памяти нужно Playwright на сервере

Каждый запущенный браузер занимает память отдельно, поэтому главный параметр сервера это число одновременных браузеров, а не размер проекта. Playwright Test по умолчанию берёт число воркеров, равное половине логических ядер, так что 2 ядра дают одного воркера, а 8 ядер четырёх. Ориентир для старта: 1 ядро и 2 ГБ на один браузер, дальше добавляйте по гигабайту-два на каждый параллельный.

Установка Playwright на Ubuntu без Docker

Название браузера в конце команды ограничивает загрузку одним движком. Без него скачаются все три, а это лишние гигабайты на диске.

Playwright в Docker: официальный образ, флаги и compose-файл

Образ mcr.microsoft.com/playwright:v1.64.0-noble собран на Ubuntu 24.04 и включает браузеры с системными зависимостями. Сам пакет Playwright в нём отсутствует, его ставят отдельно командой npm ci. Есть теги на Ubuntu 22.04 (jammy) и 26.04 (resolute), а Alpine не поддерживается: сборки Firefox и WebKit рассчитаны на glibc.

Шрифты и пользователь для Playwright на сервере

Скриншоты и PDF с сервера выглядят иначе, чем на ноутбуке, из-за шрифтов: в системе нет гарнитур, которые просит сайт, и браузер подставляет другие. Образ уже содержит базовый набор, но если макет сверяется попиксельно, добавьте нужные пакеты в Dockerfile, а тесты с эталонными скриншотами запускайте всегда на одном и том же образе. Образ запускает браузеры от root, и из-за этого песочница Chromium выключена.

Playwright в CI на своём сервере: GitLab Runner и Jenkins

В GitLab CI образ указывают строкой image: mcr.microsoft.com/playwright:v1.64.0-noble, и раннер с Docker-исполнителем запускает тесты внутри него, без установки браузеров на хост. Раннер ставится по инструкции установка GitLab Runner, а для Jenkins образ подключают как агент сборки: Jenkins на сервере. Отчёты и трассировки сохраняйте как артефакты сборки, а видео включайте только для упавших тестов: так диск не заполняется за неделю.

Запустите свой сервер за пару минут

Почасовая оплата: тестовый стенд на сутки стоит десятки рублей, а не месячный тариф.

Данные

PlaywrightSeleniumPuppeteer
БраузерыChromium, Firefox, WebKitчерез драйверы WebDriverChrome и Firefox
ЯзыкиJavaScript, TypeScript, Python, Java,.NETJava, Python, C#, JavaScript и другиеJavaScript, TypeScript
Готовый образmcr.microsoft.com/playwrightselenium/standalone-chrome, порт 4444ghcr.io/puppeteer/puppeteer
Серверная частьнет, скрипт сам запускает браузерGrid, отдельный сервер заданийнет, скрипт сам запускает браузер

Данные на 14 октября 2026.

Вопросы и ответы

Как установить Playwright на сервер без графического интерфейса?

Добавьте пакет в проект и выполните playwright install --with-deps chromium от root или через sudo. Экран не нужен: браузеры запускаются в безголовом режиме, а результат сохраняется в отчёты и скриншоты.

Зачем Playwright в Docker флаг --ipc=host?

Без него Chromium использует ограниченную общую память контейнера и может упасть на тяжёлых страницах. Документация Playwright рекомендует этот флаг для Chromium, а вместе с ним флаг --init.

Почему Playwright в Docker не находит браузер после обновления пакета?

Версия пакета playwright в проекте не совпадает с тегом образа. Браузеры лежат в образе под версию тега, поэтому меняйте тег и пакет одновременно.

Сколько памяти нужно Playwright для пяти параллельных браузеров?

Для старта закладывайте около 1 ГБ на браузер и ещё 2 ГБ на систему, то есть около 6-8 ГБ. Точная цифра зависит от сайтов, поэтому проверьте расход на первом реальном прогоне.

Можно ли запустить Playwright на Alpine Linux?

Нет, официально не поддерживается: сборки Firefox и WebKit собраны под glibc, а Alpine использует musl. Берите образ на Ubuntu.