feat: add Uptime Kuma uptime monitoring service#51
Conversation
fix healthcheck port (3000→3001), add missing logging config, add UPTIME_KUMA_HOSTNAME to caddy env, add import service_tls in caddyfile, fix hostname typo in .env.example, add uptime-kuma to GOST_NO_PROXY, fix profile name in wizard/final report, fix env var in welcome page generator, add missing trailing comma in app.js, move changelog to Added section, declare volume in top-level section, fix container name in caddyfile, fix volume mount path, fix broken markdown link in README
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughIntegration of Uptime Kuma, a self-hosted uptime monitoring solution, into the deployment stack. Changes span configuration files, docker-compose service definition, setup scripts, and frontend metadata to register and expose the service alongside existing tools. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Comment |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
.env.example (1)
186-186: Address dotenv-linter key ordering warning.
UPTIME_KUMA_HOSTNAMEtriggers anUnorderedKeywarning. If dotenv-linter is enforced in CI, reorder this key to match the project’s expected key order.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.env.example at line 186, The UnorderedKey warning is caused by the UPTIME_KUMA_HOSTNAME entry being out of the project's expected .env key order; fix it by moving the UPTIME_KUMA_HOSTNAME key to the correct position (i.e., grouped with other UPTIME_* variables or into the alphabetical order used by this .env file) so dotenv-linter no longer reports UnorderedKey for UPTIME_KUMA_HOSTNAME.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docker-compose.yml`:
- Around line 1288-1290: The Uptime Kuma service environment block is missing
the shared proxy inheritance; update the service's environment (the block
containing UPTIME_KUMA_WS_ORIGIN_CHECK) to include the YAML merge key to inherit
the proxy anchor (<<: *proxy-env) so that outbound checks/notifications use the
same GOST proxy settings as other HTTP services.
- Around line 1292-1296: Update the healthcheck.test entry so the wget probe
runs with proxy variables cleared: modify the healthcheck block
(healthcheck.test) that currently runs "wget -qO- http://localhost:3001/ || exit
1" to prefix the command by clearing http_proxy, https_proxy, HTTP_PROXY and
HTTPS_PROXY before invoking wget (so the probe ignores any container-level proxy
settings and cannot be mistakenly routed through a proxy).
---
Nitpick comments:
In @.env.example:
- Line 186: The UnorderedKey warning is caused by the UPTIME_KUMA_HOSTNAME entry
being out of the project's expected .env key order; fix it by moving the
UPTIME_KUMA_HOSTNAME key to the correct position (i.e., grouped with other
UPTIME_* variables or into the alphabetical order used by this .env file) so
dotenv-linter no longer reports UnorderedKey for UPTIME_KUMA_HOSTNAME.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: a661c8ab-3567-473e-b6ab-054b326229dd
📒 Files selected for processing (9)
.env.exampleCHANGELOG.mdCaddyfileREADME.mddocker-compose.ymlscripts/04_wizard.shscripts/07_final_report.shscripts/generate_welcome_page.shwelcome/app.js
| environment: | ||
| UPTIME_KUMA_WS_ORIGIN_CHECK: bypass | ||
| volumes: |
There was a problem hiding this comment.
Add shared proxy env inheritance to Uptime Kuma service.
At Line 1288, the service environment should inherit *proxy-env so outbound checks/notifications follow the same proxy behavior as other HTTP-integrating services.
Suggested patch
environment:
+ <<: *proxy-env
UPTIME_KUMA_WS_ORIGIN_CHECK: bypassAs per coding guidelines **/*docker-compose*.yml: "Services making outbound HTTP requests must use shared proxy anchor <<: *proxy-env to inherit GOST proxy settings".
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| environment: | |
| UPTIME_KUMA_WS_ORIGIN_CHECK: bypass | |
| volumes: | |
| environment: | |
| <<: *proxy-env | |
| UPTIME_KUMA_WS_ORIGIN_CHECK: bypass | |
| volumes: |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docker-compose.yml` around lines 1288 - 1290, The Uptime Kuma service
environment block is missing the shared proxy inheritance; update the service's
environment (the block containing UPTIME_KUMA_WS_ORIGIN_CHECK) to include the
YAML merge key to inherit the proxy anchor (<<: *proxy-env) so that outbound
checks/notifications use the same GOST proxy settings as other HTTP services.
| healthcheck: | ||
| test: ["CMD-SHELL", "wget -qO- http://localhost:3001/ || exit 1"] | ||
| interval: 30s | ||
| timeout: 10s | ||
| retries: 5 |
There was a problem hiding this comment.
Healthcheck must explicitly bypass proxy variables.
At Line 1293, the healthcheck command should clear proxy env vars to avoid false health failures in proxied environments.
Suggested patch
- test: ["CMD-SHELL", "wget -qO- http://localhost:3001/ || exit 1"]
+ test: ["CMD-SHELL", "http_proxy= https_proxy= HTTP_PROXY= HTTPS_PROXY= wget -qO- http://localhost:3001/ || exit 1"]As per coding guidelines **/*docker-compose*.yml: "Healthchecks must bypass proxy by clearing proxy environment variables: http_proxy= https_proxy= HTTP_PROXY= HTTPS_PROXY=".
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docker-compose.yml` around lines 1292 - 1296, Update the healthcheck.test
entry so the wget probe runs with proxy variables cleared: modify the
healthcheck block (healthcheck.test) that currently runs "wget -qO-
http://localhost:3001/ || exit 1" to prefix the command by clearing http_proxy,
https_proxy, HTTP_PROXY and HTTPS_PROXY before invoking wget (so the probe
ignores any container-level proxy settings and cannot be mistakenly routed
through a proxy).
Summary
Test plan
docker compose -p localai config --quietpassesuptime-kumaprofile and verify container is healthy🤖 Generated with Claude Code
Summary by CodeRabbit