MCPcopy
hub / github.com/Dokploy/dokploy / serverValidate

Function serverValidate

packages/server/src/setup/server-validate.ts:100–190  ·  view source on GitHub ↗
(serverId: string)

Source from the content-addressed store, hash-verified

98`;
99
100export const serverValidate = async (serverId: string) => {
101 const client = new Client();
102 const server = await findServerById(serverId);
103 if (!server.sshKeyId) {
104 throw new Error("No SSH Key found");
105 }
106
107 return new Promise<string>((resolve, reject) => {
108 client
109 .once("ready", () => {
110 const bashCommand = `
111 command_exists() {
112 command -v "$@" > /dev/null 2>&1
113 }
114
115 dockerVersionEnabled=$(${validateDocker()})
116 rcloneVersionEnabled=$(${validateRClone()})
117 nixpacksVersionEnabled=$(${validateNixpacks()})
118 buildpacksVersionEnabled=$(${validateBuildpacks()})
119 railpackVersionEnabled=$(${validateRailpack()})
120 dockerVersion=$(echo $dockerVersionEnabled | awk '{print $1}')
121 dockerEnabled=$(echo $dockerVersionEnabled | awk '{print $2}')
122
123 rcloneVersion=$(echo $rcloneVersionEnabled | awk '{print $1}')
124 rcloneEnabled=$(echo $rcloneVersionEnabled | awk '{print $2}')
125
126 nixpacksVersion=$(echo $nixpacksVersionEnabled | awk '{print $1}')
127 nixpacksEnabled=$(echo $nixpacksVersionEnabled | awk '{print $2}')
128
129 railpackVersion=$(echo $railpackVersionEnabled | awk '{print $1}')
130 railpackEnabled=$(echo $railpackVersionEnabled | awk '{print $2}')
131
132 buildpacksVersion=$(echo $buildpacksVersionEnabled | awk '{print $1}')
133 buildpacksEnabled=$(echo $buildpacksVersionEnabled | awk '{print $2}')
134
135 isDokployNetworkInstalled=$(${validateDokployNetwork()})
136 isSwarmInstalled=$(${validateSwarm()})
137 isMainDirectoryInstalled=$(${validateMainDirectory()})
138
139 sudoAccessResult=$(${validateSudoAccess()})
140 privilegeMode=$(echo $sudoAccessResult | awk '{print $1}')
141 isDockerGroupMember=$(${validateDockerGroup()})
142
143 echo "{\\"docker\\": {\\"version\\": \\"$dockerVersion\\", \\"enabled\\": $dockerEnabled}, \\"rclone\\": {\\"version\\": \\"$rcloneVersion\\", \\"enabled\\": $rcloneEnabled}, \\"nixpacks\\": {\\"version\\": \\"$nixpacksVersion\\", \\"enabled\\": $nixpacksEnabled}, \\"buildpacks\\": {\\"version\\": \\"$buildpacksVersion\\", \\"enabled\\": $buildpacksEnabled}, \\"railpack\\": {\\"version\\": \\"$railpackVersion\\", \\"enabled\\": $railpackEnabled}, \\"isDokployNetworkInstalled\\": $isDokployNetworkInstalled, \\"isSwarmInstalled\\": $isSwarmInstalled, \\"isMainDirectoryInstalled\\": $isMainDirectoryInstalled, \\"privilegeMode\\": \\"$privilegeMode\\", \\"dockerGroupMember\\": $isDockerGroupMember}"
144 `;
145 client.exec(bashCommand, (err, stream) => {
146 if (err) {
147 reject(err);
148 return;
149 }
150 let output = "";
151 stream
152 .on("close", () => {
153 client.end();
154 try {
155 const result = JSON.parse(output.trim());
156 resolve(result);
157 } catch (parseError) {

Callers 1

server.tsFile · 0.90

Calls 11

findServerByIdFunction · 0.90
validateDockerFunction · 0.85
validateRCloneFunction · 0.85
validateNixpacksFunction · 0.85
validateBuildpacksFunction · 0.85
validateRailpackFunction · 0.85
validateDokployNetworkFunction · 0.85
validateSwarmFunction · 0.85
validateMainDirectoryFunction · 0.85
validateSudoAccessFunction · 0.85
validateDockerGroupFunction · 0.85

Tested by

no test coverage detected