Установка 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
Название браузера в конце команды ограничивает загрузку одним движком. Без него скачаются все три, а это лишние гигабайты на диске.
- Поставьте Node.js или Python: возьмите версию по инструкции из раздела Node.js на сервере либо Python на сервере.
- Добавьте Playwright в проект и скачайте браузер вместе с системными библиотеками.
- Запустите тест или скрипт.
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 на сервере. Отчёты и трассировки сохраняйте как артефакты сборки, а видео включайте только для упавших тестов: так диск не заполняется за неделю.
Запустите свой сервер за пару минут
Почасовая оплата: тестовый стенд на сутки стоит десятки рублей, а не месячный тариф.
- NVMe-диски и гарантированная доля процессора
- Root-доступ и любой софт, от Docker до игровых серверов
- Маркетплейс: 91 приложение в один клик
- Бесплатный перенос проекта силами специалистов
Данные
| Playwright | Selenium | Puppeteer | |
|---|---|---|---|
| Браузеры | Chromium, Firefox, WebKit | через драйверы WebDriver | Chrome и Firefox |
| Языки | JavaScript, TypeScript, Python, Java,.NET | Java, Python, C#, JavaScript и другие | JavaScript, TypeScript |
| Готовый образ | mcr.microsoft.com/playwright | selenium/standalone-chrome, порт 4444 | ghcr.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.