inContainer() ? InstallationKind::Container : InstallationKind::Manual; } /** * Protected so a test can answer for it: there is no way to be in a * container and not in one within a single test run. */ protected function inContainer(): bool { // Docker writes the first; Podman writes the second. return file_exists('/.dockerenv') || file_exists('/run/.containerenv'); } }