shamhi / HamsterKombatBot

Bot that mines coins in HamsterKombat
Apache License 2.0
764 stars 224 forks source link

Playwright в Docker под Linux не запускается. Ошибка: Unknown error: BrowserType.launch #1736

Open vciumak opened 1 month ago

vciumak commented 1 month ago

Собственно, проблема описана в теме. При сборке, со всеми последними обновлениями в боте, контейнер запускается, а когда скрипт пытается запустить браузер для прохождения MiniGame, выходит ошибка, которая на скрине. DockerFile, явно собран с ошибками. Что, кроме меня, никто не пользует Docker под Linux?

Безымянный

snowline-dev commented 1 month ago

Собственно, проблема описана в теме. При сборке, со всеми последними обновлениями в боте, контейнер запускается, а когда скрипт пытается запустить браузер для прохождения MiniGame, выходит ошибка, которая на скрине. DockerFile, явно собран с ошибками. Что, кроме меня, никто не пользует Docker под Linux?

Безымянный

Я пофиксил непосредственно в самом контейнере. Почему-то через pip плагин ставится не с первого раза, надо сделать следующее: Зайти в контейнер: docker exec -it HamsterKombatBot /bin/bash

в контейнере выполнить команды: pip uninstall playwright pip install playwright playwright install --with-deps

Как сделать чтоб ошибка исправилась, пока что вопрос открытый.

prognt commented 1 month ago

у меня с таким докер файлом работает

FROM python:3.11.9-slim as builder
LABEL org.opencontainers.image.source=https://github.com/shamhi/HamsterKombatBot
WORKDIR /app

COPY requirements.txt .
RUN pip3 install --upgrade pip setuptools wheel && \
    pip3 install --no-cache-dir -r requirements.txt

RUN playwright install --with-deps

COPY . .
vciumak commented 1 month ago

Собственно, проблема описана в теме. При сборке, со всеми последними обновлениями в боте, контейнер запускается, а когда скрипт пытается запустить браузер для прохождения MiniGame, выходит ошибка, которая на скрине. DockerFile, явно собран с ошибками. Что, кроме меня, никто не пользует Docker под Linux? Безымянный

Я пофиксил непосредственно в самом контейнере. Почему-то через pip плагин ставится не с первого раза, надо сделать следующее: Зайти в контейнер: docker exec -it HamsterKombatBot /bin/bash

в контейнере выполнить команды: pip uninstall playwright pip install playwright playwright install --with-deps

Как сделать чтоб ошибка исправилась, пока что вопрос открытый.

Пробовал, но это мертвому припарки: во-первых, это все временно и после того, как "опустить" контейнер, все эти манипуляции обнулятся; во-вторых, у меня это сиправило ошибку с самим запуском браузера, но стали валиться ошибки по "разбору" самой мини-игры. Вывод, - нафиг эти пляски с бубном. Причина в кривом файле DockerFile. С таким конфигом контейнер нормально работать, просто, не может, - не хвататет "запчастей" для PlayWright. Я полностью, с нуля, переделал настройки в DockerFile, пересобрал контейнер, и, наконец-то, все заработало, как надо.

vciumak commented 1 month ago

у меня с таким докер файлом работает

FROM python:3.11.9-slim as builder
LABEL org.opencontainers.image.source=https://github.com/shamhi/HamsterKombatBot
WORKDIR /app

COPY requirements.txt .
RUN pip3 install --upgrade pip setuptools wheel && \
    pip3 install --no-cache-dir -r requirements.txt

RUN playwright install --with-deps

COPY . .

Не верю, потому что волшебства не бывает. С таким конфигом контейнер нормально работать, просто, не может, - не хвататет "запчастей" для PlayWright. Причина в кривом файле DockerFile. Я полностью, с нуля, переделал настройки в DockerFile, пересобрал контейнер, и, наконец-то, все заработало, как надо. И такой, стоковый, конфиг в DockerFile, не работает не только у меня, еще у 5-х человек спрашивал, и всех одно и тоже - не работает из-за тупой ошибки со скрина.

prognt commented 1 month ago

Не верю, потому что волшебства не бывает. С таким конфигом контейнер нормально работать, просто, не может, - не хвататет "запчастей" для PlayWright.

Что ты такое несешь.install --with-deps вот тебе запчасти.

vciumak commented 1 month ago

Не верю, потому что волшебства не бывает. С таким конфигом контейнер нормально работать, просто, не может, - не хвататет "запчастей" для PlayWright.

Что ты такое несешь.install --with-deps вот тебе запчасти.

На скрин смотри, умник. Во так "работает" стоковый конфиг от Шамхи. И твоих волшебных "--with-deps" не достаточно, для нормальной работы PlayWright.

prognt commented 1 month ago

На скрин смотри, умник. Во так "работает" стоковый конфиг от Шамхи. И твоих волшебных "--with-deps" не достаточно, для нормальной работы PlayWright. нахрен мне твой скрин, если у меня так в докере работает, мне пох веришь ты или нет, я поделился своим решением

magiasegura commented 1 month ago
FROM python:3.11.9-slim
LABEL org.opencontainers.image.source=https://github.com/shamhi/HamsterKombatBot
WORKDIR /app

COPY requirements.txt .
RUN pip3 install --upgrade pip setuptools wheel && \
    pip3 install --no-cache-dir -r requirements.txt

RUN playwright install --with-deps

COPY . .
2024-07-26 12:37:15 | INFO     | 158 - bot | Key for Mini Game: 043583****
2024-07-26 12:37:15 | INFO     | 238 - bot | Sleep 18s in Mini Game
2024-07-26 12:37:35 | SUCCESS  | 254 - bot | Successfully claimed Mini Game | Total keys: 1 (+1)