package infra import ( "fmt" "os/exec" "strings" ) // DockerComposeUp levanta un stack docker-compose desde el archivo dado. // Si detach es true ejecuta en background (-d). Retorna el stdout del comando. func DockerComposeUp(composeFile string, detach bool) (string, error) { args := []string{"compose", "-f", composeFile, "up"} if detach { args = append(args, "-d") } out, err := exec.Command("docker", args...).CombinedOutput() if err != nil { return "", fmt.Errorf("docker compose up %s: %s", composeFile, strings.TrimSpace(string(out))) } return strings.TrimSpace(string(out)), nil }