{"record":{"id":"e8e4547df4e15b82","repo":"Dokploy/dokploy","slug":"not-found-e8e454","errorCode":"NOT_FOUND","errorMessage":"Server not found","messagePattern":"Server not found","errorType":"exception","errorClass":"TRPCError","httpStatus":404,"severity":"error","filePath":"apps/dokploy/server/api/routers/destination.ts","lineNumber":83,"sourceCode":"\t\t\t\t\t`--s3-endpoint=${quote([endpoint])}`,\n\t\t\t\t\t\"--s3-no-check-bucket\",\n\t\t\t\t\t\"--s3-force-path-style\",\n\t\t\t\t\t\"--retries 1\",\n\t\t\t\t\t\"--low-level-retries 1\",\n\t\t\t\t\t\"--timeout 10s\",\n\t\t\t\t\t\"--contimeout 5s\",\n\t\t\t\t];\n\t\t\t\tif (provider) {\n\t\t\t\t\trcloneFlags.unshift(`--s3-provider=${quote([provider])}`);\n\t\t\t\t}\n\t\t\t\tif (additionalFlags?.length) {\n\t\t\t\t\trcloneFlags.push(...additionalFlags);\n\t\t\t\t}\n\t\t\t\tconst rcloneDestination = `:s3:${bucket}`;\n\t\t\t\tconst rcloneCommand = `rclone ls ${rcloneFlags.join(\" \")} ${quote([rcloneDestination])}`;\n\n\t\t\t\tif (IS_CLOUD && !input.serverId) {\n\t\t\t\t\tthrow new TRPCError({\n\t\t\t\t\t\tcode: \"NOT_FOUND\",\n\t\t\t\t\t\tmessage: \"Server not found\",\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (IS_CLOUD) {\n\t\t\t\t\tawait execAsyncRemote(input.serverId || \"\", rcloneCommand);\n\t\t\t\t} else {\n\t\t\t\t\tawait execAsync(rcloneCommand);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tthrow new TRPCError({\n\t\t\t\t\tcode: \"BAD_REQUEST\",\n\t\t\t\t\tmessage:\n\t\t\t\t\t\terror instanceof Error\n\t\t\t\t\t\t\t? error?.message\n\t\t\t\t\t\t\t: \"Error connecting to bucket\",\n\t\t\t\t\tcause: error,","sourceCodeStart":65,"sourceCodeEnd":101,"githubUrl":"https://github.com/Dokploy/dokploy/blob/546686ea3587f12ec5652217dedd9f7960fb6d15/apps/dokploy/server/api/routers/destination.ts#L65-L101","documentation":"Cloud-edition guard in destination testing: in IS_CLOUD mode a serverId must be supplied because rclone runs remotely; missing serverId yields NOT_FOUND 'Server not found'.","triggerScenarios":"Calling the destination test/connect mutation on Dokploy Cloud without a serverId, or with a serverId that is empty.","commonSituations":"Client code written for self-hosted (where serverId is optional) run against the cloud edition; UI not passing the selected server.","solutions":["Pass a valid serverId when using Dokploy Cloud","Select a server in the UI before testing the destination","Guard client-side: if cloud, require serverId"],"exampleFix":"// before\nawait api.destination.test({ bucket, accessKey, secretKey });\n// after\nawait api.destination.test({ bucket, accessKey, secretKey, serverId: requiredServerId });","handlingStrategy":"validation","validationCode":"if (isCloud && !serverId) throw new Error('serverId required on cloud');","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Always pass serverId on cloud edition","Select a server in the UI before testing destinations"],"tags":["dokploy","destination","cloud-only","server-access"],"backgroundTag":"missing-required-parameter","analyzedSha":"546686ea3587f12ec5652217dedd9f7960fb6d15","analyzedAt":"2026-08-27T05:18:58.095Z","schemaVersion":2},"datasetVersion":"2026-08-27T08:17:20.692Z"}