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

Function buildLibsql

packages/server/src/utils/databases/libsql.ts:20–159  ·  view source on GitHub ↗
(libsql: LibsqlNested)

Source from the content-addressed store, hash-verified

18 }
19>;
20export const buildLibsql = async (libsql: LibsqlNested) => {
21 const {
22 appName,
23 env,
24 externalPort,
25 externalGRPCPort,
26 externalAdminPort,
27 memoryLimit,
28 memoryReservation,
29 databaseUser,
30 databasePassword,
31 sqldNode,
32 sqldPrimaryUrl,
33 cpuLimit,
34 cpuReservation,
35 command,
36 mounts,
37 enableNamespaces,
38 } = libsql;
39
40 const basicAuth = Buffer.from(
41 `${databaseUser}:${databasePassword}`,
42 "utf-8",
43 ).toString("base64");
44
45 const defaultLibsqlEnv = `SQLD_NODE="${sqldNode}"\nSQLD_HTTP_AUTH="basic:${basicAuth}"${
46 env ? `\n${env}` : ""
47 }${sqldNode === "replica" ? `\nSQLD_PRIMARY_URL="${sqldPrimaryUrl}"` : ""}`;
48
49 const {
50 HealthCheck,
51 RestartPolicy,
52 Placement,
53 Labels,
54 Mode,
55 RollbackConfig,
56 UpdateConfig,
57 Networks,
58 } = generateConfigContainer(libsql);
59 const resources = calculateResources({
60 memoryLimit,
61 memoryReservation,
62 cpuLimit,
63 cpuReservation,
64 });
65 const envVariables = prepareEnvironmentVariables(
66 defaultLibsqlEnv,
67 libsql.environment.project.env,
68 libsql.environment.env,
69 );
70 const volumesMount = generateVolumeMounts(mounts);
71 const bindsMount = generateBindMounts(mounts);
72 const filesMount = generateFileMounts(appName, libsql);
73
74 const docker = await getRemoteDocker(libsql.serverId);
75
76 let finalCommand =
77 command ??

Callers 1

deployLibsqlFunction · 0.90

Calls 7

generateConfigContainerFunction · 0.90
calculateResourcesFunction · 0.90
generateVolumeMountsFunction · 0.90
generateBindMountsFunction · 0.90
generateFileMountsFunction · 0.90
getRemoteDockerFunction · 0.90

Tested by

no test coverage detected