cross-platform docker setup

This commit is contained in:
David Blass
2026-01-08 14:39:10 -05:00
committed by Colin McDonnell
parent c8b65327ee
commit d30532979a
+15 -11
View File
@@ -112,19 +112,23 @@ Examples:
const envFile = join(process.cwd(), "..", ".env");
const envFlags = existsSync(envFile) ? ["--env-file", envFile] : [];
// SSH agent forwarding for git (macOS Docker Desktop magic path)
// SSH for git - mount individual SSH files to avoid permission issues
const sshFlags: string[] = [];
if (process.env.SSH_AUTH_SOCK) {
sshFlags.push(
"-v",
"/run/host-services/ssh-auth.sock:/run/host-services/ssh-auth.sock",
"-e",
"SSH_AUTH_SOCK=/run/host-services/ssh-auth.sock"
);
}
const home = process.env.HOME;
if (home && existsSync(join(home, ".ssh", "known_hosts"))) {
sshFlags.push("-v", `${home}/.ssh/known_hosts:/root/.ssh/known_hosts:ro`);
if (home) {
const sshDir = join(home, ".ssh");
// mount SSH keys (try common key names)
for (const keyName of ["id_rsa", "id_ed25519", "id_ecdsa"]) {
const keyPath = join(sshDir, keyName);
if (existsSync(keyPath)) {
sshFlags.push("-v", `${keyPath}:/root/.ssh/${keyName}:ro`);
}
}
// mount known_hosts
const knownHostsPath = join(sshDir, "known_hosts");
if (existsSync(knownHostsPath)) {
sshFlags.push("-v", `${knownHostsPath}:/root/.ssh/known_hosts:ro`);
}
}
const ttyFlags = process.stdin.isTTY ? ["-it"] : [];