Skip to content

Commit c825c15

Browse files
jsprague84claude
andcommitted
Update documentation for healthmon rename and new features
Major documentation updates to reflect the architectural refactoring: Documentation Updates: - README.md: Updated all dockermon references to healthmon - README.md: Added Docker cleanup and OS cleanup to updatectl description - README.md: Updated notification examples and service descriptions - README.md: Fixed GitHub Actions workflow references - .env.example: Changed DOCKERMON_* to HEALTHMON_* variables - .env.example: Added Docker cleanup and OS cleanup configuration sections - .env.example: Updated examples to show new updatectl commands - CLEANUP_DESIGN.md: Updated to reflect cleanup moved to updatectl - CLEANUP_DESIGN.md: Documented current implementation vs original design New Documentation: - healthmon/README.md: Complete documentation for healthmon service - CLI-COMMANDS.md: Comprehensive command reference for all services - BASH_ALIASES.md: Shell alias guide for easy CLI usage Key Changes: - dockermon renamed to healthmon (health monitoring only) - All cleanup functionality moved to updatectl - Added OS cleanup commands (apt clean, apt autoremove) - Added Docker cleanup profiles (conservative/moderate/aggressive) - Documented local and remote execution patterns The documentation now accurately reflects v2.0.0 architecture: - healthmon: Read-only health monitoring - updatemon: Read-only update checking - updatectl: All system modifications (updates + cleanup) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent cf2d633 commit c825c15

File tree

6 files changed

+1573
-249
lines changed

6 files changed

+1573
-249
lines changed

.env.example

Lines changed: 51 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -36,20 +36,20 @@ GOTIFY_URL=https://gotify.example.com/message
3636
# Simple setup (same key for all services - all notifications in one Gotify app):
3737
# WEATHERUST_GOTIFY_KEY=your_gotify_token
3838
# UPDATEMON_GOTIFY_KEY=your_gotify_token
39-
# DOCKERMON_GOTIFY_KEY=your_gotify_token
39+
# HEALTHMON_GOTIFY_KEY=your_gotify_token
4040
# SPEEDY_GOTIFY_KEY=your_gotify_token
4141
# UPDATECTL_GOTIFY_KEY=your_gotify_token
4242
#
4343
# Organized setup (different keys per service - separate Gotify apps):
4444
# WEATHERUST_GOTIFY_KEY=token_for_weather_app
4545
# UPDATEMON_GOTIFY_KEY=token_for_updates_app
46-
# DOCKERMON_GOTIFY_KEY=token_for_docker_app
46+
# HEALTHMON_GOTIFY_KEY=token_for_healthmon_app
4747
# SPEEDY_GOTIFY_KEY=token_for_speedtest_app
4848
# UPDATECTL_GOTIFY_KEY=token_for_updatectl_app
4949
#
5050
WEATHERUST_GOTIFY_KEY=your_weatherust_gotify_token_here
5151
UPDATEMON_GOTIFY_KEY=your_updatemon_gotify_token_here
52-
DOCKERMON_GOTIFY_KEY=your_dockermon_gotify_token_here
52+
HEALTHMON_GOTIFY_KEY=your_healthmon_gotify_token_here
5353
SPEEDY_GOTIFY_KEY=your_speedynotify_gotify_token_here
5454
UPDATECTL_GOTIFY_KEY=your_updatectl_gotify_token_here
5555

@@ -72,21 +72,21 @@ NTFY_URL=https://ntfy.js-node.com
7272
# Simple setup (same topic for all - all notifications in one feed):
7373
# WEATHERUST_NTFY_TOPIC=weatherust-alerts
7474
# UPDATEMON_NTFY_TOPIC=weatherust-alerts
75-
# DOCKERMON_NTFY_TOPIC=weatherust-alerts
75+
# HEALTHMON_NTFY_TOPIC=weatherust-alerts
7676
# SPEEDY_NTFY_TOPIC=weatherust-alerts
7777
# UPDATECTL_NTFY_TOPIC=weatherust-alerts
7878
#
7979
# Organized setup (different topics per service):
8080
# WEATHERUST_NTFY_TOPIC=weather
8181
# UPDATEMON_NTFY_TOPIC=updates
82-
# DOCKERMON_NTFY_TOPIC=docker
82+
# HEALTHMON_NTFY_TOPIC=docker-health
8383
# SPEEDY_NTFY_TOPIC=speedtest
8484
# UPDATECTL_NTFY_TOPIC=update-actions
8585
#
8686
# Example (uncomment to enable):
8787
# WEATHERUST_NTFY_TOPIC=weatherust
8888
# UPDATEMON_NTFY_TOPIC=weatherust
89-
# DOCKERMON_NTFY_TOPIC=weatherust
89+
# HEALTHMON_NTFY_TOPIC=weatherust
9090
# SPEEDY_NTFY_TOPIC=weatherust
9191
# UPDATECTL_NTFY_TOPIC=weatherust
9292

@@ -127,7 +127,7 @@ SPEEDTEST_MIN_UP=20
127127

128128

129129
# ==============================================================================
130-
# DOCKERMON - Docker container health monitoring
130+
# HEALTHMON - Docker container health monitoring
131131
# ==============================================================================
132132

133133
# CPU and memory warning thresholds (percent)
@@ -138,16 +138,11 @@ MEM_WARN_PCT=90
138138
HEALTH_NOTIFY_ALWAYS=false
139139

140140
# Ignore specific containers (comma-separated: name, ID, or service name)
141-
# Example: DOCKERMON_IGNORE=weatherust-weatherust-1,weatherust-speedynotify-1
142-
# DOCKERMON_IGNORE=
141+
# Example: HEALTHMON_IGNORE=ofelia,traefik,portainer
142+
# HEALTHMON_IGNORE=
143143

144-
# Docker cleanup configuration
145-
# Age threshold in days for unused images (default: 90)
146-
# DOCKERMON_CLEANUP_IMAGE_AGE_DAYS=90
147-
148-
# Container log size threshold for reporting (default: 100M)
149-
# Format: <number><unit> where unit is K (KB), M (MB), or G (GB)
150-
# DOCKERMON_CLEANUP_LOG_SIZE_CONTAINER=100M
144+
# Note: Docker cleanup functionality has been moved to updatectl
145+
# See UPDATECTL section below for Docker cleanup configuration
151146

152147

153148
# ==============================================================================
@@ -180,20 +175,28 @@ HEALTH_NOTIFY_ALWAYS=false
180175

181176

182177
# ==============================================================================
183-
# UPDATECTL - Apply OS and Docker updates (companion to updatemon)
178+
# UPDATECTL - Apply OS and Docker updates + Docker/OS cleanup
184179
# ==============================================================================
185180

186181
# updatectl uses the same UPDATE_SERVERS and UPDATE_SSH_KEY as updatemon above
187182
# No additional configuration required for server connectivity
188183

189-
# IMPORTANT: updatectl can MODIFY your systems by applying updates
184+
# IMPORTANT: updatectl can MODIFY your systems by applying updates and cleanup
190185
# Always test with --dry-run first to preview changes
191186
#
192187
# Manual usage examples:
188+
# # Updates
193189
# docker compose exec updatectl_runner /app/updatectl all --dry-run --local
194190
# docker compose exec updatectl_runner /app/updatectl os --yes --local
195191
# docker compose exec updatectl_runner /app/updatectl docker --all --yes --local
196192
#
193+
# # Docker cleanup
194+
# docker compose exec updatectl_runner /app/updatectl clean-docker --local
195+
# docker compose exec updatectl_runner /app/updatectl clean-docker --local --execute --profile conservative
196+
#
197+
# # OS cleanup
198+
# docker compose exec updatectl_runner /app/updatectl clean-os --local --execute --all
199+
#
197200
# Automated updates via Ofelia (see docker-compose.yml):
198201
# Ofelia jobs are COMMENTED OUT by default for safety
199202
# Uncomment schedules in docker-compose.yml to enable automated updates
@@ -290,6 +293,34 @@ UPDATECTL_WEBHOOK_URL=https://webhook.js-node.app
290293
# - Consider IP allowlisting if exposing to the internet
291294

292295

296+
# ==============================================================================
297+
# DOCKER CLEANUP CONFIGURATION (used by updatectl clean-docker)
298+
# ==============================================================================
299+
300+
# Docker cleanup profiles:
301+
# conservative - Dangling images + unused networks (safest, default)
302+
# moderate - Conservative + build cache
303+
# aggressive - Moderate + old stopped containers (30+ days)
304+
305+
# No additional environment variables needed - profiles are selected via CLI
306+
# Example usage:
307+
# updatectl clean-docker --local --execute --profile conservative
308+
309+
310+
# ==============================================================================
311+
# OS CLEANUP CONFIGURATION (used by updatectl clean-os)
312+
# ==============================================================================
313+
314+
# OS cleanup operations:
315+
# --cache - Clean package manager cache (apt clean, dnf clean)
316+
# --autoremove - Remove unused packages (apt autoremove, dnf autoremove)
317+
# --all - Both cache and autoremove
318+
319+
# No additional environment variables needed - operations selected via CLI
320+
# Example usage:
321+
# updatectl clean-os --local --execute --all
322+
323+
293324
# ==============================================================================
294325
# DEVELOPMENT / TESTING
295326
# ==============================================================================
@@ -303,12 +334,12 @@ UPDATECTL_WEBHOOK_URL=https://webhook.js-node.app
303334
# WEATHERUST_TAG=pr-42
304335
# WEATHERUST_TAG=sha-abc1234
305336
# SPEEDYNOTIFY_TAG=feature-speedtest-v2
306-
# DOCKERMON_TAG=sha-def5678
337+
# HEALTHMON_TAG=sha-def5678
307338
# UPDATEMON_TAG=feature-update-checker
308339
# UPDATECTL_TAG=feature-auto-updater
309340
#
310341
# WEATHERUST_TAG=
311342
# SPEEDYNOTIFY_TAG=
312-
# DOCKERMON_TAG=
343+
# HEALTHMON_TAG=
313344
# UPDATEMON_TAG=
314345
# UPDATECTL_TAG=

0 commit comments

Comments
 (0)