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

Function setupWebMonitoring

packages/server/src/setup/monitoring-setup.ts:86–154  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

84};
85
86export const setupWebMonitoring = async () => {
87 const webServerSettings = await getWebServerSettings();
88
89 const containerName = "dokploy-monitoring";
90 let imageName = "dokploy/monitoring:latest";
91
92 if (
93 (getDokployImageTag() !== "latest" ||
94 process.env.NODE_ENV === "development") &&
95 !IS_CLOUD
96 ) {
97 imageName = "dokploy/monitoring:canary";
98 }
99
100 const settings: ContainerCreateOptions = {
101 name: containerName,
102 Env: [`METRICS_CONFIG=${JSON.stringify(webServerSettings?.metricsConfig)}`],
103 Image: imageName,
104 HostConfig: {
105 // Memory: 100 * 1024 * 1024, // 100MB en bytes
106 // PidMode: "host",
107 // CapAdd: ["NET_ADMIN", "SYS_ADMIN"],
108 // Privileged: true,
109 RestartPolicy: {
110 Name: "always",
111 },
112 PortBindings: {
113 [`${webServerSettings?.metricsConfig?.server?.port}/tcp`]: [
114 {
115 HostPort: webServerSettings?.metricsConfig?.server?.port.toString(),
116 },
117 ],
118 },
119 Binds: [
120 "/var/run/docker.sock:/var/run/docker.sock:ro",
121 "/sys:/host/sys:ro",
122 "/etc/os-release:/etc/os-release:ro",
123 "/proc:/host/proc:ro",
124 "/etc/dokploy/monitoring/monitoring.db:/app/monitoring.db",
125 ],
126 // NetworkMode: "host",
127 },
128 ExposedPorts: {
129 [`${webServerSettings?.metricsConfig?.server?.port}/tcp`]: {},
130 },
131 };
132 const docker = await getRemoteDocker();
133 try {
134 await execAsync(
135 "mkdir -p /etc/dokploy/monitoring && touch /etc/dokploy/monitoring/monitoring.db",
136 );
137 await pullImage(imageName);
138
139 const container = docker.getContainer(containerName);
140 try {
141 await container.inspect();
142 await container.remove({ force: true });
143 console.log("Removed existing container");

Callers 1

admin.tsFile · 0.90

Calls 5

getWebServerSettingsFunction · 0.90
getDokployImageTagFunction · 0.90
getRemoteDockerFunction · 0.90
execAsyncFunction · 0.90
pullImageFunction · 0.90

Tested by

no test coverage detected