Главная/Разработка/Playwright

Установка Playwright на сервер и в Docker

Установка Playwright на сервер сводится к двум путям: поставить пакет и браузеры командой install --with-deps или взять готовый образ Docker от Microsoft, где браузеры уже лежат внутри. Оба пути работают без монитора, потому что Playwright запускает браузеры в безголовом режиме (headless), то есть без окна.

5 мин чтенияДанные проверены 16 октября 2026

Ответ за 30 секунд

Для тестов, скриншотов и парсинга берите официальный образ mcr.microsoft.com/playwright и запускайте его с флагами --init и --ipc=host. Для старта хватит 2 ядер и 4 ГБ памяти на два-три браузера, а версия пакета playwright должна совпадать с тегом образа: при расхождении браузер не находится.

Списания раз в час: прогон тестов или сбор данных оплачивается за время, пока сервер включён.

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

01 · 1 мин

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

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

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, отдельный сервер заданийнет, скрипт сам запускает браузер

Если скриптов на Selenium много, переписывать их ради сервера не нужно: тот же сервер держит и Selenium Grid в контейнере. Новый проект проще начинать с Playwright, потому что сервер заданий для него не требуется.

Инструмент · 1 мин

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

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

Ориентир для старта: 1 ядро и 2 ГБ на один браузер, дальше добавляйте по гигабайту-два на каждый параллельный. В Таймвеб Клауд подойдёт MSK Ultra 50 (2 ядра, 4 ГБ, 5 480 ₽ в месяц на 14 октября 2026), при почасовых списаниях разовый прогон обходится в копейки.

Какой сервер взять под Playwright

Отметьте, сколько браузеров будет работать одновременно

Параллельных браузеров
Какие страницы открываются
Что сохраняется после прогона
Какие движки нужны

03 · 1 мин

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

  1. Поставьте Node.js или Python: возьмите версию по инструкции из раздела Node.js на сервере либо Python на сервере.
  2. Добавьте Playwright в проект и скачайте браузер вместе с системными библиотеками. Флаг --with-deps сам доустановит пакеты ОС, поэтому команда требует прав root или sudo.
  3. Запустите тест или скрипт. На сервере без экрана окно не нужно, браузер стартует в безголовом режиме.
# Node.js
npm i -D @playwright/test
npx playwright install --with-deps chromium

# Python
pip install playwright
playwright install --with-deps chromium

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

04 · 1 мин

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.

FROM mcr.microsoft.com/playwright:v1.64.0-noble
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
CMD ["npx", "playwright", "test"]
services:
  tests:
    build: .
    init: true
    ipc: host
    volumes: ['./reports:/app/playwright-report']

Документация Playwright советует два флага: --init избавляет от зависших процессов-зомби, а --ipc=host не даёт Chromium упасть из-за нехватки общей памяти. В compose им соответствуют init: true и ipc: host.

Версии пакета и образа должны совпадать

Если в package.json стоит Playwright другой версии, чем в теге образа, скрипт не найдёт браузер в каталоге /ms-playwright. Закрепите версию без знака ^ и меняйте тег образа вместе с ней.

Для Python, Java и .NET Microsoft публикует отдельные образы с тем же набором браузеров. Если нужен один сервер с браузерами для разных машин, npx playwright run-server --port 3000 --host 0.0.0.0 внутри контейнера открывает удалённое подключение, но порт 3000 закрывайте файрволом или SSH-туннелем: иначе чужие смогут запускать браузеры у вас.

05 · 1 мин

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

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

Образ запускает браузеры от root, и из-за этого песочница Chromium выключена. Для автотестов своего сайта это допустимо. Для сбора данных с чужих страниц документация рекомендует отдельного пользователя pwuser и профиль seccomp, а образ в целом предназначен для тестов и разработки, а не для просмотра недоверенных сайтов.

06 · 1 мин

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

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

Отчёты и трассировки сохраняйте как артефакты сборки, а видео включайте только для упавших тестов: так диск не заполняется за неделю.

07 · 1 мин

Вопросы об установке Playwright#

Как установить 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.

Почему этому можно верить

Как мы проверяли

Цены с сайта провайдераСняты вручную, у каждой цены указана дата проверки.
Всё можно повторитьКоманды и расчёты описаны так, что их повторит любой читатель.
Независимый справочникНе связан с разработчиками приложений и провайдерами и пишет о минусах тоже.

Источники цифр на этой странице: VPS и VDS серверы Таймвеб Клауд, timeweb.cloud/services/vds-vps, проверено 14 октября 2026; Реестр контейнеров Таймвеб Клауд, timeweb.cloud/services/container-registry, проверено 14 октября 2026; Маркетплейс приложений Таймвеб Клауд, timeweb.cloud/marketplace, проверено 14 октября 2026; Документация Playwright: Docker (образы, флаги, теги), playwright.dev/docs/docker, проверено 15 октября 2026.

SBРедакция SelfBase · обновлено 16 октября 2026

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

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

  • NVMe-диски и гарантированная доля процессора
  • Root-доступ и любой софт, от Docker до игровых серверов
  • Маркетплейс: 91 приложение в один клик
  • Бесплатный перенос проекта силами специалистов
Ресурсы