Skip to content

Разобраться почему после перезагрузки часто контейнер за собой не запускает контейнер от MCP playright с браузером #137

Description

@skulidropek

Сделать что бы при старте docker контейнера после перезагрузки он так же запускал за собой браузер контейнер

Activity

  1. skulidropek commented on Mar 16, 2026

    @skulidropek
    MemberAuthor

    Closes #137

    Summary

    • Healthcheck на browser-сервисе: добавлен healthcheck (curl /json/version на порту 9223) — Docker теперь знает когда CDP реально готов, а не просто когда контейнер запустился
    • depends_on: condition: service_healthy: основной контейнер ждёт здорового browser перед стартом — устраняет race condition при перезагрузке
    • DinD изоляция в docker-compose.api.yml: хостовый docker.sock заменён на выделенный docker:27-dind сервис с DOCKER_HOST=tcp://dind:2375

    Математические гарантии

    Инварианты:

    • ∀ restart: main_container_start → browser_cdp_ready (гарантировано через condition: service_healthy)
    • ∀ p: docker_ops(p) → isolated_daemon (docker.sock хоста не задействован)

    Предусловия:

    • browser-контейнер отвечает на GET /json/version по порту 9223

    Постусловия:

    • main-контейнер стартует только после 10 успешных healthcheck-проверок
    • при перезагрузке browser-контейнера — main автоматически ждёт его готовности

    Test plan

    • pnpm --filter ./packages/lib test — 69/69 passed
    • pnpm --filter ./packages/lib lint — 0 errors
    • pnpm typecheck — no errors
    • Поднять стек с --mcp-playwright, перезапустить browser-контейнер, убедиться что main дожидается готовности

    🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions