mirror of
https://github.com/Dokploy/dokploy.git
synced 2026-06-20 14:45:42 +02:00
36 lines
746 B
TypeScript
36 lines
746 B
TypeScript
import type { ApplicationNested } from "../builders";
|
|
|
|
export const buildRemoteDocker = async (application: ApplicationNested) => {
|
|
const { registryUrl, dockerImage, username, password } = application;
|
|
|
|
try {
|
|
if (!dockerImage) {
|
|
throw new Error("Docker image not found");
|
|
}
|
|
let command = `
|
|
echo "Pulling ${dockerImage}";
|
|
`;
|
|
|
|
if (username && password) {
|
|
command += `
|
|
if ! echo "${password}" | docker login --username "${username}" --password-stdin "${registryUrl || ""}" 2>&1; then
|
|
echo "❌ Login failed";
|
|
exit 1;
|
|
fi
|
|
`;
|
|
}
|
|
|
|
command += `
|
|
docker pull ${dockerImage} 2>&1 || {
|
|
echo "❌ Pulling image failed";
|
|
exit 1;
|
|
}
|
|
|
|
echo "✅ Pulling image completed.";
|
|
`;
|
|
return command;
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
};
|