You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description
A modern PHP MVC application for monitoring domain expiration dates and sending notifications through multiple channels (Email, Telegram, Discord, Slack). Never lose a domain again with automated monitoring and timely alerts.
The domain-monitor script is ready for testing: bash -c "$(curl -fsSL https://github.com/community-scripts/ProxmoxVED/raw/main/ct/domain-monitor.sh)"
Note: This is not in the official repo yet—it's just a dev version! After merging into ProxmoxVE, it will need to be recreated.
⠇ Building Domain-Locker[uncaughtException] dy {
headers: $v {
headers: Map(0) {},
normalizedNames: Map(0) {},
lazyInit: undefined,
lazyUpdate: null
},
status: 0,
statusText: 'Unknown Error',
url: '//api/pg-executer/',
ok: false,
type: undefined,
name: 'HttpErrorResponse',
message: 'Http failure response for //api/pg-executer/: 0 undefined',
error: TypeError: Failed to parse URL from //api/pg-executer/
at node:internal/deps/undici/undici:14900:13
at r.invoke (file:///opt/domain-locker/dist/ssr/main.server.js:13:15387)
at t.run (file:///opt/domain-locker/dist/ssr/main.server.js:13:10634)
at file:///opt/domain-locker/dist/ssr/main.server.js:13:5995
at r.invokeTask (file:///opt/domain-locker/dist/ssr/main.server.js:13:16005)
at t.runTask (file:///opt/domain-locker/dist/ssr/main.server.js:13:11274)
at g (file:///opt/domain-locker/dist/ssr/main.server.js:13:18047) {
[cause]: TypeError: Invalid URL
at new URL (node:internal/url:827:25)
at new Request (node:internal/deps/undici/undici:9776:25)
at fetch (node:internal/deps/undici/undici:10505:25)
at fetch (node:internal/deps/undici/undici:14898:10)
at fetch (node:internal/bootstrap/web/exposed-window-or-worker:75:12)
at file:///opt/domain-locker/dist/ssr/main.server.js:13:8652
at T.o. (file:///opt/domain-locker/dist/ssr/main.server.js:13:2405)
at e.fetchImpl (file:///opt/domain-locker/dist/ssr/main.server.js:46:11732)
at file:///opt/domain-locker/dist/ssr/main.server.js:46:12035
at r.invoke (file:///opt/domain-locker/dist/ssr/main.server.js:13:15387) {
code: 'ERR_INVALID_URL',
input: '//api/pg-executer/'
}
}
}
[uncaughtException] dy {
headers: $v {
headers: Map(0) {},
normalizedNames: Map(0) {},
lazyInit: undefined,
lazyUpdate: null
},
status: 0,
statusText: 'Unknown Error',
url: '//api/pg-executer/',
ok: false,
type: undefined,
name: 'HttpErrorResponse',
message: 'Http failure response for //api/pg-executer/: 0 undefined',
error: TypeError: Failed to parse URL from //api/pg-executer/
at node:internal/deps/undici/undici:14900:13
at r.invoke (file:///opt/domain-locker/dist/ssr/main.server.js:13:15387)
at t.run (file:///opt/domain-locker/dist/ssr/main.server.js:13:10634)
at file:///opt/domain-locker/dist/ssr/main.server.js:13:5995
at r.invokeTask (file:///opt/domain-locker/dist/ssr/main.server.js:13:16005)
at t.runTask (file:///opt/domain-locker/dist/ssr/main.server.js:13:11274)
at g (file:///opt/domain-locker/dist/ssr/main.server.js:13:18047) {
[cause]: TypeError: Invalid URL
at new URL (node:internal/url:827:25)
at new Request (node:internal/deps/undici/undici:9776:25)
at fetch (node:internal/deps/undici/undici:10505:25)
at fetch (node:internal/deps/undici/undici:14898:10)
at fetch (node:internal/bootstrap/web/exposed-window-or-worker:75:12)
at file:///opt/domain-locker/dist/ssr/main.server.js:13:8652
at T.o. (file:///opt/domain-locker/dist/ssr/main.server.js:13:2405)
at e.fetchImpl (file:///opt/domain-locker/dist/ssr/main.server.js:46:11732)
at file:///opt/domain-locker/dist/ssr/main.server.js:46:12035
at r.invoke (file:///opt/domain-locker/dist/ssr/main.server.js:13:15387) {
code: 'ERR_INVALID_URL',
input: '//api/pg-executer/'
}
}
}
Activity
github-actions commentedon Nov 7, 2025
The domain-monitor script is ready for testing:
bash -c "$(curl -fsSL https://github.com/community-scripts/ProxmoxVED/raw/main/ct/domain-monitor.sh)"Note: This is not in the official repo yet—it's just a dev version! After merging into ProxmoxVE, it will need to be recreated.
github-actions commentedon Nov 10, 2025
Not all required files were found for domainmonitor. Please check the files and try again. Missing: frontend/public/json/domainmonitor.json.
[-]Domain Monitor[/-][+]Domain-Monitor[/+]github-actions commentedon Nov 10, 2025
A PR has been created for domain-monitor: community-scripts/ProxmoxVE#9029
michelroegl-brunner commentedon Nov 11, 2025
Merged with #9029 in ProxmoxVE
wolle604 commentedon Nov 11, 2025
Script failed with following error:
⠇ Building Domain-Locker[uncaughtException] dy {
headers: $v {
headers: Map(0) {},
normalizedNames: Map(0) {},
lazyInit: undefined,
lazyUpdate: null
},
status: 0,
statusText: 'Unknown Error',
url: '//api/pg-executer/',
ok: false,
type: undefined,
name: 'HttpErrorResponse',
message: 'Http failure response for //api/pg-executer/: 0 undefined',
error: TypeError: Failed to parse URL from //api/pg-executer/
at node:internal/deps/undici/undici:14900:13
at r.invoke (file:///opt/domain-locker/dist/ssr/main.server.js:13:15387)
at t.run (file:///opt/domain-locker/dist/ssr/main.server.js:13:10634)
at file:///opt/domain-locker/dist/ssr/main.server.js:13:5995
at r.invokeTask (file:///opt/domain-locker/dist/ssr/main.server.js:13:16005)
at t.runTask (file:///opt/domain-locker/dist/ssr/main.server.js:13:11274)
at g (file:///opt/domain-locker/dist/ssr/main.server.js:13:18047) {
[cause]: TypeError: Invalid URL
at new URL (node:internal/url:827:25)
at new Request (node:internal/deps/undici/undici:9776:25)
at fetch (node:internal/deps/undici/undici:10505:25)
at fetch (node:internal/deps/undici/undici:14898:10)
at fetch (node:internal/bootstrap/web/exposed-window-or-worker:75:12)
at file:///opt/domain-locker/dist/ssr/main.server.js:13:8652
at T.o. (file:///opt/domain-locker/dist/ssr/main.server.js:13:2405)
at e.fetchImpl (file:///opt/domain-locker/dist/ssr/main.server.js:46:11732)
at file:///opt/domain-locker/dist/ssr/main.server.js:46:12035
at r.invoke (file:///opt/domain-locker/dist/ssr/main.server.js:13:15387) {
code: 'ERR_INVALID_URL',
input: '//api/pg-executer/'
}
}
}
[uncaughtException] dy {
headers: $v {
headers: Map(0) {},
normalizedNames: Map(0) {},
lazyInit: undefined,
lazyUpdate: null
},
status: 0,
statusText: 'Unknown Error',
url: '//api/pg-executer/',
ok: false,
type: undefined,
name: 'HttpErrorResponse',
message: 'Http failure response for //api/pg-executer/: 0 undefined',
error: TypeError: Failed to parse URL from //api/pg-executer/
at node:internal/deps/undici/undici:14900:13
at r.invoke (file:///opt/domain-locker/dist/ssr/main.server.js:13:15387)
at t.run (file:///opt/domain-locker/dist/ssr/main.server.js:13:10634)
at file:///opt/domain-locker/dist/ssr/main.server.js:13:5995
at r.invokeTask (file:///opt/domain-locker/dist/ssr/main.server.js:13:16005)
at t.runTask (file:///opt/domain-locker/dist/ssr/main.server.js:13:11274)
at g (file:///opt/domain-locker/dist/ssr/main.server.js:13:18047) {
[cause]: TypeError: Invalid URL
at new URL (node:internal/url:827:25)
at new Request (node:internal/deps/undici/undici:9776:25)
at fetch (node:internal/deps/undici/undici:10505:25)
at fetch (node:internal/deps/undici/undici:14898:10)
at fetch (node:internal/bootstrap/web/exposed-window-or-worker:75:12)
at file:///opt/domain-locker/dist/ssr/main.server.js:13:8652
at T.o. (file:///opt/domain-locker/dist/ssr/main.server.js:13:2405)
at e.fetchImpl (file:///opt/domain-locker/dist/ssr/main.server.js:46:11732)
at file:///opt/domain-locker/dist/ssr/main.server.js:46:12035
at r.invoke (file:///opt/domain-locker/dist/ssr/main.server.js:13:15387) {
code: 'ERR_INVALID_URL',
input: '//api/pg-executer/'
}
}
}
tremor021 commentedon Nov 11, 2025