Cannot execute a check from the Uptime Kuma container to my MySql container #2154

Closed
opened 2026-02-28 02:44:46 -05:00 by deekerman · 2 comments
Owner

Originally created by @reddwarf666 on GitHub (Apr 30, 2023).

⚠️ Please verify that this bug has NOT been raised before.

  • I checked and didn't find similar issue

🛡️ Security Policy

📝 Describe your problem

MySql check fails when Uptime Kuma tries to connect to the MySql instance

Some info:

  • Uptime Kuma and MySql run in separate containers
  • Docker and both containers (MySql and Uptime Kuma) run on a linux Alpine server
  • When logon my Alpine server and I try to telnet with "telnet localhost 3306", I have a connection
  • Running Uptime Kuma as container on my laptop and having it check the remote MySql container on my server works
  • I tried to have "localhost", "127.0.0.1" and the IP pulled from the MySql Docker running container, all the same issue
  • I cannot use the names of the containers as those are not DNS records

So what I try to achieve is a MySql monitor from container "uptime-kuma" to container "mc_mysql".

I see no obvious reason that the exact same test from my laptop works but on the same server the check fails.

📝 Error Message(s) or Log

==> Performing startup jobs and maintenance tasks
==> Starting application with user 0 group 0
Welcome to Uptime Kuma
Your Node.js version: 16
2023-04-30T15:16:31Z [SERVER] INFO: Welcome to Uptime Kuma
2023-04-30T15:16:31Z [SERVER] INFO: Node Env: production
2023-04-30T15:16:31Z [SERVER] INFO: Importing Node libraries
2023-04-30T15:16:31Z [SERVER] INFO: Importing 3rd-party libraries
2023-04-30T15:16:37Z [SERVER] INFO: Creating express and socket.io instance
2023-04-30T15:16:37Z [SERVER] INFO: Server Type: HTTP
2023-04-30T15:16:37Z [SERVER] INFO: Importing this project modules
2023-04-30T15:16:37Z [NOTIFICATION] INFO: Prepare Notification Providers
2023-04-30T15:16:37Z [SERVER] INFO: Version: 1.21.2
2023-04-30T15:16:38Z [DB] INFO: Data Dir: ./data/
2023-04-30T15:16:38Z [SERVER] INFO: Connecting to the Database
2023-04-30T15:16:38Z [DB] INFO: SQLite config:
[ { journal_mode: 'wal' } ]
[ { cache_size: -12000 } ]
2023-04-30T15:16:38Z [DB] INFO: SQLite Version: 3.41.1
2023-04-30T15:16:38Z [SERVER] INFO: Connected
2023-04-30T15:16:38Z [DB] INFO: Your database version: 10
2023-04-30T15:16:38Z [DB] INFO: Latest database version: 10
2023-04-30T15:16:38Z [DB] INFO: Database patch not needed
2023-04-30T15:16:38Z [DB] INFO: Database Patch 2.0 Process
2023-04-30T15:16:38Z [SERVER] INFO: Load JWT secret from database.
2023-04-30T17:16:38+02:00 [SERVER] INFO: Adding route
2023-04-30T17:16:39+02:00 [SERVER] INFO: Adding socket handler
2023-04-30T17:16:39+02:00 [SERVER] INFO: Init the server
2023-04-30T17:16:39+02:00 [SERVER] INFO: Listening on 3001
2023-04-30T17:16:40+02:00 [AUTH] INFO: Login by token. IP=192.168.2.39
2023-04-30T17:16:40+02:00 [AUTH] INFO: Username from JWT: steven
2023-04-30T17:16:40+02:00 [AUTH] INFO: Successfully logged in user steven. IP=192.168.2.39
2023-04-30T17:16:44+02:00 [MANAGE] INFO: Pause Monitor: 1 User ID: 1
2023-04-30T17:16:45+02:00 [MONITOR] INFO: Get Monitor: 1 User ID: 1
2023-04-30T17:16:49+02:00 [MONITOR] INFO: Get Monitor: 1 User ID: 1
2023-04-30T17:16:53+02:00 [MANAGE] INFO: Resume Monitor: 1 User ID: 1
2023-04-30T17:16:59+02:00 [AUTH] INFO: Login by token. IP=192.168.2.39
2023-04-30T17:16:59+02:00 [AUTH] INFO: Username from JWT: steven
2023-04-30T17:16:59+02:00 [AUTH] INFO: Successfully logged in user steven. IP=192.168.2.39
2023-04-30T17:25:14+02:00 [AUTH] INFO: Login by token. IP=192.168.2.39
2023-04-30T17:25:14+02:00 [AUTH] INFO: Username from JWT: steven
2023-04-30T17:25:14+02:00 [AUTH] INFO: Successfully logged in user steven. IP=192.168.2.39
2023-04-30T17:25:19+02:00 [MONITOR] INFO: Get Monitor: 1 User ID: 1
2023-04-30T17:25:31+02:00 [MANAGE] INFO: Delete Monitor: 1 User ID: 1
2023-04-30T17:25:33+02:00 [AUTH] INFO: Login by token. IP=192.168.2.39
2023-04-30T17:25:33+02:00 [AUTH] INFO: Username from JWT: steven
2023-04-30T17:25:33+02:00 [AUTH] INFO: Successfully logged in user steven. IP=192.168.2.39
2023-04-30T17:26:15+02:00 [MANAGE] INFO: Resume Monitor: 2 User ID: 1
2023-04-30T17:26:15+02:00 [MONITOR] INFO: Added Monitor: undefined User ID: 1
2023-04-30T17:26:28+02:00 [MANAGE] INFO: Pause Monitor: 2 User ID: 1
2023-04-30T17:26:34+02:00 [AUTH] INFO: Login by token. IP=192.168.2.39
2023-04-30T17:26:34+02:00 [AUTH] INFO: Username from JWT: steven
2023-04-30T17:26:34+02:00 [AUTH] INFO: Successfully logged in user steven. IP=192.168.2.39
2023-04-30T17:32:28+02:00 [MANAGE] INFO: Delete Monitor: 2 User ID: 1
2023-04-30T17:33:46+02:00 [MANAGE] INFO: Resume Monitor: 3 User ID: 1
2023-04-30T17:33:46+02:00 [MONITOR] INFO: Added Monitor: undefined User ID: 1
2023-04-30T17:34:16+02:00 [MONITOR] INFO: Get Monitor: 3 User ID: 1
2023-04-30T17:34:30+02:00 [MANAGE] INFO: Resume Monitor: 3 User ID: 1
2023-04-30T17:34:30+02:00 [MONITOR] INFO: Get Monitor: 3 User ID: 1

2023-04-30T17:16:39+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:16:53+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:17:13+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:17:33+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:17:53+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:18:13+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:18:33+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:18:53+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:19:13+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:19:33+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:19:53+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:20:13+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:20:33+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:20:53+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:21:13+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:21:33+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:21:54+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:22:14+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:22:34+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:22:54+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:23:14+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:23:34+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:23:54+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:24:14+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:24:34+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:24:54+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:25:14+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
AxiosError: connect ENOENT /var/run/docker.sock
at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1278:16) {
address: '/var/run/docker.sock',
syscall: 'connect',
code: 'ENOENT',
errno: -2,
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: [Function: httpAdapter],
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function] },
validateStatus: [Function: validateStatus],
headers: { Accept: '/', 'User-Agent': 'Uptime-Kuma/1.21.2' },
url: '/containers/json?all=true',
httpsAgent: Agent {
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
defaultPort: 443,
protocol: 'https:',
options: [Object: null prototype],
requests: [Object: null prototype] {},
sockets: [Object: null prototype] {},
freeSockets: [Object: null prototype] {},
keepAliveMsecs: 1000,
keepAlive: false,
maxSockets: Infinity,
maxFreeSockets: 256,
scheduling: 'lifo',
maxTotalSockets: Infinity,
totalSocketCount: 0,
maxCachedSessions: 0,
_sessionCache: [Object],
[Symbol(kCapture)]: false
},
socketPath: '/var/run/docker.sock',
method: 'get',
data: undefined
},
request: <ref 1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError],
socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: 10485760,
protocol: 'http:',
path: '/containers/json?all=true',
method: 'GET',
headers: [Object],
agent: undefined,
agents: [Object],
auth: undefined,
socketPath: '/var/run/docker.sock',
nativeProtocols: [Object],
hostname: '::1',
pathname: '/containers/json',
search: '?all=true'
},
_ended: true,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 0,
_requestBodyBuffers: [],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: false,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
strictContentLength: false,
_contentLength: 0,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'GET /containers/json?all=true HTTP/1.1\r\n' +
'Accept: /\r\n' +
'User-Agent: Uptime-Kuma/1.21.2\r\n' +
'Host: [::1]\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: '/var/run/docker.sock',
method: 'GET',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/containers/json?all=true',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '::1',
protocol: 'http:',
_redirectable: [Circular 1],
[Symbol(kCapture)]: false,
[Symbol(kBytesWritten)]: 0,
[Symbol(kEndCalled)]: true,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype],
[Symbol(kUniqueHeaders)]: null
},
_currentUrl: 'http://[::1]/containers/json?all=true',
[Symbol(kCapture)]: false
}
}
AxiosError: connect ENOENT /var/run/docker.sock
at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1278:16) {
address: '/var/run/docker.sock',
syscall: 'connect',
code: 'ENOENT',
errno: -2,
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: [Function: httpAdapter],
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function] },
validateStatus: [Function: validateStatus],
headers: { Accept: '
/
', 'User-Agent': 'Uptime-Kuma/1.21.2' },
url: '/containers/json?all=true',
httpsAgent: Agent {
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
defaultPort: 443,
protocol: 'https:',
options: [Object: null prototype],
requests: [Object: null prototype] {},
sockets: [Object: null prototype] {},
freeSockets: [Object: null prototype] {},
keepAliveMsecs: 1000,
keepAlive: false,
maxSockets: Infinity,
maxFreeSockets: 256,
scheduling: 'lifo',
maxTotalSockets: Infinity,
totalSocketCount: 0,
maxCachedSessions: 0,
_sessionCache: [Object],
[Symbol(kCapture)]: false
},
socketPath: '/var/run/docker.sock',
method: 'get',
data: undefined
},
request: <ref 1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError],
socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: 10485760,
protocol: 'http:',
path: '/containers/json?all=true',
method: 'GET',
headers: [Object],
agent: undefined,
agents: [Object],
auth: undefined,
socketPath: '/var/run/docker.sock',
nativeProtocols: [Object],
hostname: '::1',
pathname: '/containers/json',
search: '?all=true'
},
_ended: true,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 0,
_requestBodyBuffers: [],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: false,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
strictContentLength: false,
_contentLength: 0,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'GET /containers/json?all=true HTTP/1.1\r\n' +
'Accept: /\r\n' +
'User-Agent: Uptime-Kuma/1.21.2\r\n' +
'Host: [::1]\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: '/var/run/docker.sock',
method: 'GET',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/containers/json?all=true',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '::1',
protocol: 'http:',
_redirectable: [Circular 1],
[Symbol(kCapture)]: false,
[Symbol(kBytesWritten)]: 0,
[Symbol(kEndCalled)]: true,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype],
[Symbol(kUniqueHeaders)]: null
},
_currentUrl: 'http://[::1]/containers/json?all=true',
[Symbol(kCapture)]: false
}
}
AxiosError: connect ENOENT https://localhost:2376
at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1278:16) {
address: 'https://localhost:2376',
syscall: 'connect',
code: 'ENOENT',
errno: -2,
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: [Function: httpAdapter],
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function] },
validateStatus: [Function: validateStatus],
headers: { Accept: '
/
', 'User-Agent': 'Uptime-Kuma/1.21.2' },
url: '/containers/json?all=true',
httpsAgent: Agent {
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
defaultPort: 443,
protocol: 'https:',
options: [Object: null prototype],
requests: [Object: null prototype] {},
sockets: [Object: null prototype] {},
freeSockets: [Object: null prototype] {},
keepAliveMsecs: 1000,
keepAlive: false,
maxSockets: Infinity,
maxFreeSockets: 256,
scheduling: 'lifo',
maxTotalSockets: Infinity,
totalSocketCount: 0,
maxCachedSessions: 0,
_sessionCache: [Object],
[Symbol(kCapture)]: false
},
socketPath: 'https://localhost:2376',
method: 'get',
data: undefined
},
request: <ref 1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError],
socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: 10485760,
protocol: 'http:',
path: '/containers/json?all=true',
method: 'GET',
headers: [Object],
agent: undefined,
agents: [Object],
auth: undefined,
socketPath: 'https://localhost:2376',
nativeProtocols: [Object],
hostname: '::1',
pathname: '/containers/json',
search: '?all=true'
},
_ended: true,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 0,
_requestBodyBuffers: [],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: false,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
strictContentLength: false,
_contentLength: 0,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'GET /containers/json?all=true HTTP/1.1\r\n' +
'Accept: /\r\n' +
'User-Agent: Uptime-Kuma/1.21.2\r\n' +
'Host: [::1]\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: 'https://localhost:2376',
method: 'GET',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/containers/json?all=true',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '::1',
protocol: 'http:',
_redirectable: [Circular 1],
[Symbol(kCapture)]: false,
[Symbol(kBytesWritten)]: 0,
[Symbol(kEndCalled)]: true,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype],
[Symbol(kUniqueHeaders)]: null
},
_currentUrl: 'http://[::1]/containers/json?all=true',
[Symbol(kCapture)]: false
}
}
AxiosError: connect ENOENT https://localhost:2375
at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1278:16) {
address: 'https://localhost:2375',
syscall: 'connect',
code: 'ENOENT',
errno: -2,
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: [Function: httpAdapter],
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function] },
validateStatus: [Function: validateStatus],
headers: { Accept: '
/
', 'User-Agent': 'Uptime-Kuma/1.21.2' },
url: '/containers/json?all=true',
httpsAgent: Agent {
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
defaultPort: 443,
protocol: 'https:',
options: [Object: null prototype],
requests: [Object: null prototype] {},
sockets: [Object: null prototype] {},
freeSockets: [Object: null prototype] {},
keepAliveMsecs: 1000,
keepAlive: false,
maxSockets: Infinity,
maxFreeSockets: 256,
scheduling: 'lifo',
maxTotalSockets: Infinity,
totalSocketCount: 0,
maxCachedSessions: 0,
_sessionCache: [Object],
[Symbol(kCapture)]: false
},
socketPath: 'https://localhost:2375',
method: 'get',
data: undefined
},
request: <ref *1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError],
socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: 10485760,
protocol: 'http:',
path: '/containers/json?all=true',
method: 'GET',
headers: [Object],
agent: undefined,
agents: [Object],
auth: undefined,
socketPath: 'https://localhost:2375',
nativeProtocols: [Object],
hostname: '::1',
pathname: '/containers/json',
search: '?all=true'
},
_ended: true,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 0,
_requestBodyBuffers: [],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: false,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
strictContentLength: false,
_contentLength: 0,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'GET /containers/json?all=true HTTP/1.1\r\n' +
'Accept: /\r\n' +
'User-Agent: Uptime-Kuma/1.21.2\r\n' +
'Host: [::1]\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: 'https://localhost:2375',
method: 'GET',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/containers/json?all=true',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '::1',
protocol: 'http:',
_redirectable: [Circular *1],
[Symbol(kCapture)]: false,
[Symbol(kBytesWritten)]: 0,
[Symbol(kEndCalled)]: true,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype],
[Symbol(kUniqueHeaders)]: null
},
_currentUrl: 'http://[::1]/containers/json?all=true',
[Symbol(kCapture)]: false
}
}
2023-04-30T17:33:46+02:00 [MONITOR] WARN: Monitor #3 'MySql': Pending: connect ECONNREFUSED 127.0.0.1:3306 | Max retries: 1 | Retry: 1 | Retry Interval: 20 seconds | Type: mysql
2023-04-30T17:34:06+02:00 [MONITOR] WARN: Monitor #3 'MySql': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:34:26+02:00 [MONITOR] WARN: Monitor #3 'MySql': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:34:40+02:00 [MONITOR] WARN: Monitor #3 'MySql': Pending: connect ETIMEDOUT | Max retries: 1 | Retry: 1 | Retry Interval: 20 seconds | Type: mysql
2023-04-30T17:35:10+02:00 [MONITOR] WARN: Monitor #3 'MySql': Failing: connect ETIMEDOUT | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:35:40+02:00 [MONITOR] WARN: Monitor #3 'MySql': Failing: connect ETIMEDOUT | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0
2023-04-30T17:36:10+02:00 [MONITOR] WARN: Monitor #3 'MySql': Failing: connect ETIMEDOUT | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0

🐻 Uptime-Kuma Version

1.21.2

💻 Operating System and Arch

Alpine AMD64

🌐 Browser

Chrome 112.0.5615.137

🐋 Docker Version

20.10.24

🟩 NodeJS Version

No response

Originally created by @reddwarf666 on GitHub (Apr 30, 2023). ### ⚠️ Please verify that this bug has NOT been raised before. - [X] I checked and didn't find similar issue ### 🛡️ Security Policy - [X] I agree to have read this project [Security Policy](https://github.com/louislam/uptime-kuma/security/policy) ### 📝 Describe your problem MySql check fails when Uptime Kuma tries to connect to the MySql instance Some info: * Uptime Kuma and MySql run in separate containers * Docker and both containers (MySql and Uptime Kuma) run on a linux Alpine server * When logon my Alpine server and I try to telnet with "telnet localhost 3306", I have a connection * Running Uptime Kuma as container on my laptop and having it check the remote MySql container on my server works * I tried to have "localhost", "127.0.0.1" and the IP pulled from the MySql Docker running container, all the same issue * I cannot use the names of the containers as those are not DNS records So what I try to achieve is a MySql monitor from container "uptime-kuma" to container "mc_mysql". I see no obvious reason that the exact same test from my laptop works but on the same server the check fails. ### 📝 Error Message(s) or Log ==> Performing startup jobs and maintenance tasks ==> Starting application with user 0 group 0 Welcome to Uptime Kuma Your Node.js version: 16 2023-04-30T15:16:31Z [SERVER] INFO: Welcome to Uptime Kuma 2023-04-30T15:16:31Z [SERVER] INFO: Node Env: production 2023-04-30T15:16:31Z [SERVER] INFO: Importing Node libraries 2023-04-30T15:16:31Z [SERVER] INFO: Importing 3rd-party libraries 2023-04-30T15:16:37Z [SERVER] INFO: Creating express and socket.io instance 2023-04-30T15:16:37Z [SERVER] INFO: Server Type: HTTP 2023-04-30T15:16:37Z [SERVER] INFO: Importing this project modules 2023-04-30T15:16:37Z [NOTIFICATION] INFO: Prepare Notification Providers 2023-04-30T15:16:37Z [SERVER] INFO: Version: 1.21.2 2023-04-30T15:16:38Z [DB] INFO: Data Dir: ./data/ 2023-04-30T15:16:38Z [SERVER] INFO: Connecting to the Database 2023-04-30T15:16:38Z [DB] INFO: SQLite config: [ { journal_mode: 'wal' } ] [ { cache_size: -12000 } ] 2023-04-30T15:16:38Z [DB] INFO: SQLite Version: 3.41.1 2023-04-30T15:16:38Z [SERVER] INFO: Connected 2023-04-30T15:16:38Z [DB] INFO: Your database version: 10 2023-04-30T15:16:38Z [DB] INFO: Latest database version: 10 2023-04-30T15:16:38Z [DB] INFO: Database patch not needed 2023-04-30T15:16:38Z [DB] INFO: Database Patch 2.0 Process 2023-04-30T15:16:38Z [SERVER] INFO: Load JWT secret from database. 2023-04-30T17:16:38+02:00 [SERVER] INFO: Adding route 2023-04-30T17:16:39+02:00 [SERVER] INFO: Adding socket handler 2023-04-30T17:16:39+02:00 [SERVER] INFO: Init the server 2023-04-30T17:16:39+02:00 [SERVER] INFO: Listening on 3001 2023-04-30T17:16:40+02:00 [AUTH] INFO: Login by token. IP=192.168.2.39 2023-04-30T17:16:40+02:00 [AUTH] INFO: Username from JWT: steven 2023-04-30T17:16:40+02:00 [AUTH] INFO: Successfully logged in user steven. IP=192.168.2.39 2023-04-30T17:16:44+02:00 [MANAGE] INFO: Pause Monitor: 1 User ID: 1 2023-04-30T17:16:45+02:00 [MONITOR] INFO: Get Monitor: 1 User ID: 1 2023-04-30T17:16:49+02:00 [MONITOR] INFO: Get Monitor: 1 User ID: 1 2023-04-30T17:16:53+02:00 [MANAGE] INFO: Resume Monitor: 1 User ID: 1 2023-04-30T17:16:59+02:00 [AUTH] INFO: Login by token. IP=192.168.2.39 2023-04-30T17:16:59+02:00 [AUTH] INFO: Username from JWT: steven 2023-04-30T17:16:59+02:00 [AUTH] INFO: Successfully logged in user steven. IP=192.168.2.39 2023-04-30T17:25:14+02:00 [AUTH] INFO: Login by token. IP=192.168.2.39 2023-04-30T17:25:14+02:00 [AUTH] INFO: Username from JWT: steven 2023-04-30T17:25:14+02:00 [AUTH] INFO: Successfully logged in user steven. IP=192.168.2.39 2023-04-30T17:25:19+02:00 [MONITOR] INFO: Get Monitor: 1 User ID: 1 2023-04-30T17:25:31+02:00 [MANAGE] INFO: Delete Monitor: 1 User ID: 1 2023-04-30T17:25:33+02:00 [AUTH] INFO: Login by token. IP=192.168.2.39 2023-04-30T17:25:33+02:00 [AUTH] INFO: Username from JWT: steven 2023-04-30T17:25:33+02:00 [AUTH] INFO: Successfully logged in user steven. IP=192.168.2.39 2023-04-30T17:26:15+02:00 [MANAGE] INFO: Resume Monitor: 2 User ID: 1 2023-04-30T17:26:15+02:00 [MONITOR] INFO: Added Monitor: undefined User ID: 1 2023-04-30T17:26:28+02:00 [MANAGE] INFO: Pause Monitor: 2 User ID: 1 2023-04-30T17:26:34+02:00 [AUTH] INFO: Login by token. IP=192.168.2.39 2023-04-30T17:26:34+02:00 [AUTH] INFO: Username from JWT: steven 2023-04-30T17:26:34+02:00 [AUTH] INFO: Successfully logged in user steven. IP=192.168.2.39 2023-04-30T17:32:28+02:00 [MANAGE] INFO: Delete Monitor: 2 User ID: 1 2023-04-30T17:33:46+02:00 [MANAGE] INFO: Resume Monitor: 3 User ID: 1 2023-04-30T17:33:46+02:00 [MONITOR] INFO: Added Monitor: undefined User ID: 1 2023-04-30T17:34:16+02:00 [MONITOR] INFO: Get Monitor: 3 User ID: 1 2023-04-30T17:34:30+02:00 [MANAGE] INFO: Resume Monitor: 3 User ID: 1 2023-04-30T17:34:30+02:00 [MONITOR] INFO: Get Monitor: 3 User ID: 1 2023-04-30T17:16:39+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:16:53+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:17:13+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:17:33+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:17:53+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:18:13+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:18:33+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:18:53+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:19:13+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:19:33+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:19:53+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:20:13+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:20:33+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:20:53+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:21:13+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:21:33+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:21:54+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:22:14+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:22:34+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:22:54+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:23:14+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:23:34+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:23:54+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:24:14+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:24:34+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:24:54+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:25:14+02:00 [MONITOR] WARN: Monitor #1 'Uptime-Kuma': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 AxiosError: connect ENOENT /var/run/docker.sock at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1278:16) { address: '/var/run/docker.sock', syscall: 'connect', code: 'ENOENT', errno: -2, config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [Function: httpAdapter], transformRequest: [ [Function: transformRequest] ], transformResponse: [ [Function: transformResponse] ], timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: [Function] }, validateStatus: [Function: validateStatus], headers: { Accept: '*/*', 'User-Agent': 'Uptime-Kuma/1.21.2' }, url: '/containers/json?all=true', httpsAgent: Agent { _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, defaultPort: 443, protocol: 'https:', options: [Object: null prototype], requests: [Object: null prototype] {}, sockets: [Object: null prototype] {}, freeSockets: [Object: null prototype] {}, keepAliveMsecs: 1000, keepAlive: false, maxSockets: Infinity, maxFreeSockets: 256, scheduling: 'lifo', maxTotalSockets: Infinity, totalSocketCount: 0, maxCachedSessions: 0, _sessionCache: [Object], [Symbol(kCapture)]: false }, socketPath: '/var/run/docker.sock', method: 'get', data: undefined }, request: <ref *1> Writable { _writableState: WritableState { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: 0, writing: false, corked: 0, sync: true, bufferProcessing: false, onwrite: [Function: bound onwrite], writecb: null, writelen: 0, afterWriteTickInfo: null, buffered: [], bufferedIndex: 0, allBuffers: true, allNoop: true, pendingcb: 0, constructed: true, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: true, errored: null, closed: false, closeEmitted: false, [Symbol(kOnFinished)]: [] }, _events: [Object: null prototype] { response: [Function: handleResponse], error: [Function: handleRequestError], socket: [Function: handleRequestSocket] }, _eventsCount: 3, _maxListeners: undefined, _options: { maxRedirects: 21, maxBodyLength: 10485760, protocol: 'http:', path: '/containers/json?all=true', method: 'GET', headers: [Object], agent: undefined, agents: [Object], auth: undefined, socketPath: '/var/run/docker.sock', nativeProtocols: [Object], hostname: '::1', pathname: '/containers/json', search: '?all=true' }, _ended: true, _ending: true, _redirectCount: 0, _redirects: [], _requestBodyLength: 0, _requestBodyBuffers: [], _onNativeResponse: [Function (anonymous)], _currentRequest: ClientRequest { _events: [Object: null prototype], _eventsCount: 7, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, destroyed: false, _last: true, chunkedEncoding: false, shouldKeepAlive: false, maxRequestsOnConnectionReached: false, _defaultKeepAlive: true, useChunkedEncodingByDefault: false, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, strictContentLength: false, _contentLength: 0, _hasBody: true, _trailer: '', finished: true, _headerSent: true, _closed: false, socket: [Socket], _header: 'GET /containers/json?all=true HTTP/1.1\r\n' + 'Accept: */*\r\n' + 'User-Agent: Uptime-Kuma/1.21.2\r\n' + 'Host: [::1]\r\n' + 'Connection: close\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: [Agent], socketPath: '/var/run/docker.sock', method: 'GET', maxHeaderSize: undefined, insecureHTTPParser: undefined, path: '/containers/json?all=true', _ended: false, res: null, aborted: false, timeoutCb: null, upgradeOrConnect: false, parser: null, maxHeadersCount: null, reusedSocket: false, host: '::1', protocol: 'http:', _redirectable: [Circular *1], [Symbol(kCapture)]: false, [Symbol(kBytesWritten)]: 0, [Symbol(kEndCalled)]: true, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype], [Symbol(kUniqueHeaders)]: null }, _currentUrl: 'http://[::1]/containers/json?all=true', [Symbol(kCapture)]: false } } AxiosError: connect ENOENT /var/run/docker.sock at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1278:16) { address: '/var/run/docker.sock', syscall: 'connect', code: 'ENOENT', errno: -2, config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [Function: httpAdapter], transformRequest: [ [Function: transformRequest] ], transformResponse: [ [Function: transformResponse] ], timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: [Function] }, validateStatus: [Function: validateStatus], headers: { Accept: '*/*', 'User-Agent': 'Uptime-Kuma/1.21.2' }, url: '/containers/json?all=true', httpsAgent: Agent { _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, defaultPort: 443, protocol: 'https:', options: [Object: null prototype], requests: [Object: null prototype] {}, sockets: [Object: null prototype] {}, freeSockets: [Object: null prototype] {}, keepAliveMsecs: 1000, keepAlive: false, maxSockets: Infinity, maxFreeSockets: 256, scheduling: 'lifo', maxTotalSockets: Infinity, totalSocketCount: 0, maxCachedSessions: 0, _sessionCache: [Object], [Symbol(kCapture)]: false }, socketPath: '/var/run/docker.sock', method: 'get', data: undefined }, request: <ref *1> Writable { _writableState: WritableState { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: 0, writing: false, corked: 0, sync: true, bufferProcessing: false, onwrite: [Function: bound onwrite], writecb: null, writelen: 0, afterWriteTickInfo: null, buffered: [], bufferedIndex: 0, allBuffers: true, allNoop: true, pendingcb: 0, constructed: true, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: true, errored: null, closed: false, closeEmitted: false, [Symbol(kOnFinished)]: [] }, _events: [Object: null prototype] { response: [Function: handleResponse], error: [Function: handleRequestError], socket: [Function: handleRequestSocket] }, _eventsCount: 3, _maxListeners: undefined, _options: { maxRedirects: 21, maxBodyLength: 10485760, protocol: 'http:', path: '/containers/json?all=true', method: 'GET', headers: [Object], agent: undefined, agents: [Object], auth: undefined, socketPath: '/var/run/docker.sock', nativeProtocols: [Object], hostname: '::1', pathname: '/containers/json', search: '?all=true' }, _ended: true, _ending: true, _redirectCount: 0, _redirects: [], _requestBodyLength: 0, _requestBodyBuffers: [], _onNativeResponse: [Function (anonymous)], _currentRequest: ClientRequest { _events: [Object: null prototype], _eventsCount: 7, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, destroyed: false, _last: true, chunkedEncoding: false, shouldKeepAlive: false, maxRequestsOnConnectionReached: false, _defaultKeepAlive: true, useChunkedEncodingByDefault: false, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, strictContentLength: false, _contentLength: 0, _hasBody: true, _trailer: '', finished: true, _headerSent: true, _closed: false, socket: [Socket], _header: 'GET /containers/json?all=true HTTP/1.1\r\n' + 'Accept: */*\r\n' + 'User-Agent: Uptime-Kuma/1.21.2\r\n' + 'Host: [::1]\r\n' + 'Connection: close\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: [Agent], socketPath: '/var/run/docker.sock', method: 'GET', maxHeaderSize: undefined, insecureHTTPParser: undefined, path: '/containers/json?all=true', _ended: false, res: null, aborted: false, timeoutCb: null, upgradeOrConnect: false, parser: null, maxHeadersCount: null, reusedSocket: false, host: '::1', protocol: 'http:', _redirectable: [Circular *1], [Symbol(kCapture)]: false, [Symbol(kBytesWritten)]: 0, [Symbol(kEndCalled)]: true, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype], [Symbol(kUniqueHeaders)]: null }, _currentUrl: 'http://[::1]/containers/json?all=true', [Symbol(kCapture)]: false } } AxiosError: connect ENOENT https://localhost:2376 at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1278:16) { address: 'https://localhost:2376', syscall: 'connect', code: 'ENOENT', errno: -2, config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [Function: httpAdapter], transformRequest: [ [Function: transformRequest] ], transformResponse: [ [Function: transformResponse] ], timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: [Function] }, validateStatus: [Function: validateStatus], headers: { Accept: '*/*', 'User-Agent': 'Uptime-Kuma/1.21.2' }, url: '/containers/json?all=true', httpsAgent: Agent { _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, defaultPort: 443, protocol: 'https:', options: [Object: null prototype], requests: [Object: null prototype] {}, sockets: [Object: null prototype] {}, freeSockets: [Object: null prototype] {}, keepAliveMsecs: 1000, keepAlive: false, maxSockets: Infinity, maxFreeSockets: 256, scheduling: 'lifo', maxTotalSockets: Infinity, totalSocketCount: 0, maxCachedSessions: 0, _sessionCache: [Object], [Symbol(kCapture)]: false }, socketPath: 'https://localhost:2376', method: 'get', data: undefined }, request: <ref *1> Writable { _writableState: WritableState { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: 0, writing: false, corked: 0, sync: true, bufferProcessing: false, onwrite: [Function: bound onwrite], writecb: null, writelen: 0, afterWriteTickInfo: null, buffered: [], bufferedIndex: 0, allBuffers: true, allNoop: true, pendingcb: 0, constructed: true, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: true, errored: null, closed: false, closeEmitted: false, [Symbol(kOnFinished)]: [] }, _events: [Object: null prototype] { response: [Function: handleResponse], error: [Function: handleRequestError], socket: [Function: handleRequestSocket] }, _eventsCount: 3, _maxListeners: undefined, _options: { maxRedirects: 21, maxBodyLength: 10485760, protocol: 'http:', path: '/containers/json?all=true', method: 'GET', headers: [Object], agent: undefined, agents: [Object], auth: undefined, socketPath: 'https://localhost:2376', nativeProtocols: [Object], hostname: '::1', pathname: '/containers/json', search: '?all=true' }, _ended: true, _ending: true, _redirectCount: 0, _redirects: [], _requestBodyLength: 0, _requestBodyBuffers: [], _onNativeResponse: [Function (anonymous)], _currentRequest: ClientRequest { _events: [Object: null prototype], _eventsCount: 7, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, destroyed: false, _last: true, chunkedEncoding: false, shouldKeepAlive: false, maxRequestsOnConnectionReached: false, _defaultKeepAlive: true, useChunkedEncodingByDefault: false, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, strictContentLength: false, _contentLength: 0, _hasBody: true, _trailer: '', finished: true, _headerSent: true, _closed: false, socket: [Socket], _header: 'GET /containers/json?all=true HTTP/1.1\r\n' + 'Accept: */*\r\n' + 'User-Agent: Uptime-Kuma/1.21.2\r\n' + 'Host: [::1]\r\n' + 'Connection: close\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: [Agent], socketPath: 'https://localhost:2376', method: 'GET', maxHeaderSize: undefined, insecureHTTPParser: undefined, path: '/containers/json?all=true', _ended: false, res: null, aborted: false, timeoutCb: null, upgradeOrConnect: false, parser: null, maxHeadersCount: null, reusedSocket: false, host: '::1', protocol: 'http:', _redirectable: [Circular *1], [Symbol(kCapture)]: false, [Symbol(kBytesWritten)]: 0, [Symbol(kEndCalled)]: true, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype], [Symbol(kUniqueHeaders)]: null }, _currentUrl: 'http://[::1]/containers/json?all=true', [Symbol(kCapture)]: false } } AxiosError: connect ENOENT https://localhost:2375 at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1278:16) { address: 'https://localhost:2375', syscall: 'connect', code: 'ENOENT', errno: -2, config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [Function: httpAdapter], transformRequest: [ [Function: transformRequest] ], transformResponse: [ [Function: transformResponse] ], timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: [Function] }, validateStatus: [Function: validateStatus], headers: { Accept: '*/*', 'User-Agent': 'Uptime-Kuma/1.21.2' }, url: '/containers/json?all=true', httpsAgent: Agent { _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, defaultPort: 443, protocol: 'https:', options: [Object: null prototype], requests: [Object: null prototype] {}, sockets: [Object: null prototype] {}, freeSockets: [Object: null prototype] {}, keepAliveMsecs: 1000, keepAlive: false, maxSockets: Infinity, maxFreeSockets: 256, scheduling: 'lifo', maxTotalSockets: Infinity, totalSocketCount: 0, maxCachedSessions: 0, _sessionCache: [Object], [Symbol(kCapture)]: false }, socketPath: 'https://localhost:2375', method: 'get', data: undefined }, request: <ref *1> Writable { _writableState: WritableState { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: 0, writing: false, corked: 0, sync: true, bufferProcessing: false, onwrite: [Function: bound onwrite], writecb: null, writelen: 0, afterWriteTickInfo: null, buffered: [], bufferedIndex: 0, allBuffers: true, allNoop: true, pendingcb: 0, constructed: true, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: true, errored: null, closed: false, closeEmitted: false, [Symbol(kOnFinished)]: [] }, _events: [Object: null prototype] { response: [Function: handleResponse], error: [Function: handleRequestError], socket: [Function: handleRequestSocket] }, _eventsCount: 3, _maxListeners: undefined, _options: { maxRedirects: 21, maxBodyLength: 10485760, protocol: 'http:', path: '/containers/json?all=true', method: 'GET', headers: [Object], agent: undefined, agents: [Object], auth: undefined, socketPath: 'https://localhost:2375', nativeProtocols: [Object], hostname: '::1', pathname: '/containers/json', search: '?all=true' }, _ended: true, _ending: true, _redirectCount: 0, _redirects: [], _requestBodyLength: 0, _requestBodyBuffers: [], _onNativeResponse: [Function (anonymous)], _currentRequest: ClientRequest { _events: [Object: null prototype], _eventsCount: 7, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, destroyed: false, _last: true, chunkedEncoding: false, shouldKeepAlive: false, maxRequestsOnConnectionReached: false, _defaultKeepAlive: true, useChunkedEncodingByDefault: false, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, strictContentLength: false, _contentLength: 0, _hasBody: true, _trailer: '', finished: true, _headerSent: true, _closed: false, socket: [Socket], _header: 'GET /containers/json?all=true HTTP/1.1\r\n' + 'Accept: */*\r\n' + 'User-Agent: Uptime-Kuma/1.21.2\r\n' + 'Host: [::1]\r\n' + 'Connection: close\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: [Agent], socketPath: 'https://localhost:2375', method: 'GET', maxHeaderSize: undefined, insecureHTTPParser: undefined, path: '/containers/json?all=true', _ended: false, res: null, aborted: false, timeoutCb: null, upgradeOrConnect: false, parser: null, maxHeadersCount: null, reusedSocket: false, host: '::1', protocol: 'http:', _redirectable: [Circular *1], [Symbol(kCapture)]: false, [Symbol(kBytesWritten)]: 0, [Symbol(kEndCalled)]: true, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype], [Symbol(kUniqueHeaders)]: null }, _currentUrl: 'http://[::1]/containers/json?all=true', [Symbol(kCapture)]: false } } 2023-04-30T17:33:46+02:00 [MONITOR] WARN: Monitor #3 'MySql': Pending: connect ECONNREFUSED 127.0.0.1:3306 | Max retries: 1 | Retry: 1 | Retry Interval: 20 seconds | Type: mysql 2023-04-30T17:34:06+02:00 [MONITOR] WARN: Monitor #3 'MySql': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:34:26+02:00 [MONITOR] WARN: Monitor #3 'MySql': Failing: connect ECONNREFUSED 127.0.0.1:3306 | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:34:40+02:00 [MONITOR] WARN: Monitor #3 'MySql': Pending: connect ETIMEDOUT | Max retries: 1 | Retry: 1 | Retry Interval: 20 seconds | Type: mysql 2023-04-30T17:35:10+02:00 [MONITOR] WARN: Monitor #3 'MySql': Failing: connect ETIMEDOUT | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:35:40+02:00 [MONITOR] WARN: Monitor #3 'MySql': Failing: connect ETIMEDOUT | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 2023-04-30T17:36:10+02:00 [MONITOR] WARN: Monitor #3 'MySql': Failing: connect ETIMEDOUT | Interval: 20 seconds | Type: mysql | Down Count: 0 | Resend Interval: 0 ### 🐻 Uptime-Kuma Version 1.21.2 ### 💻 Operating System and Arch Alpine AMD64 ### 🌐 Browser Chrome 112.0.5615.137 ### 🐋 Docker Version 20.10.24 ### 🟩 NodeJS Version _No response_
deekerman 2026-02-28 02:44:46 -05:00
  • closed this issue
  • added the
    Stale
    help
    labels
Author
Owner

@github-actions[bot] commented on GitHub (Jul 29, 2023):

We are clearing up our old issues and your ticket has been open for 3 months with no activity. Remove stale label or comment or this will be closed in 2 days.

@github-actions[bot] commented on GitHub (Jul 29, 2023): We are clearing up our old issues and your ticket has been open for 3 months with no activity. Remove stale label or comment or this will be closed in 2 days.
Author
Owner

@github-actions[bot] commented on GitHub (Jul 31, 2023):

This issue was closed because it has been stalled for 2 days with no activity.

@github-actions[bot] commented on GitHub (Jul 31, 2023): This issue was closed because it has been stalled for 2 days with no activity.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/uptime-kuma#2154
No description provided.