{"record":{"id":"587b4fa786ac4aca","repo":"nikivdev/code","slug":"docker-is-required-for-local-domains-install-dock","errorCode":null,"errorMessage":"docker is required for local domains. Install Docker/OrbStack first.","messagePattern":"docker is required for local domains\\. Install Docker/OrbStack first\\.","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"src/domains.rs","lineNumber":423,"sourceCode":"\nfn docker_upstream(target: &str) -> (String, String) {\n    let Some((host, port)) = target.rsplit_once(':') else {\n        return (target.to_string(), target.to_string());\n    };\n    match host {\n        \"127.0.0.1\" | \"localhost\" | \"::1\" => (\n            format!(\"host.docker.internal:{}\", port),\n            \"localhost\".to_string(),\n        ),\n        _ => (format!(\"{}:{}\", host, port), host.to_string()),\n    }\n}\n\nfn ensure_docker_available() -> Result<()> {\n    if docker_available() {\n        Ok(())\n    } else {\n        bail!(\"docker is required for local domains. Install Docker/OrbStack first.\")\n    }\n}\n\nfn docker_available() -> bool {\n    which::which(\"docker\").is_ok()\n}\n\nfn run_compose(paths: &DomainsPaths, args: &[&str]) -> Result<()> {\n    let output = Command::new(\"docker\")\n        .arg(\"compose\")\n        .arg(\"-f\")\n        .arg(&paths.compose)\n        .args(args)\n        .output()\n        .context(\"Failed to run docker compose\")?;\n    ensure_success(output, \"docker compose command failed\")\n}\n","sourceCodeStart":405,"sourceCodeEnd":441,"githubUrl":"https://github.com/nikivdev/code/blob/a747e741ae92c09071d0ae946ab48488adcff1ce/src/domains.rs#L405-L441","documentation":"Error \"docker is required for local domains. Install Docker/OrbStack first.\" thrown in nikivdev/code.","triggerScenarios":"Thrown at src/domains.rs:423 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a747e741ae92c09071d0ae946ab48488adcff1ce","analyzedAt":"2026-09-01T22:43:55.719Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}