mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-11-26 06:43:10 +00:00
- Replace jvm_filters with unified memory_filters (JVM + Redis helpers) - Add redis_maxmemory_mb filter and unit tests - Introduce sys-ctl-cln-docker role (systemd-based Docker prune + anon volumes) - Refactor disk space health check to Python script and wire SIZE_PERCENT_CLEANUP_DISC_SPACE - Adjust schedules and services for Docker cleanup and disk space health See discussion: https://chatgpt.com/share/6925c1c5-ee38-800f-84b6-da29ccfa7537
48 lines
1.8 KiB
Markdown
48 lines
1.8 KiB
Markdown
# Cleanup Docker Resources
|
|
|
|
## Description
|
|
|
|
This role performs a complete cleanup of Docker resources by invoking a systemd-managed script.
|
|
It removes unused Docker images, stopped containers, networks, build cache, and anonymous volumes.
|
|
The cleanup is fully automated and can run on a schedule or be triggered manually.
|
|
|
|
## Overview
|
|
|
|
Optimized for maintaining a clean and efficient Docker environment, this role:
|
|
|
|
* Loads and triggers the anonymous volume cleanup role.
|
|
* Installs a systemd service and timer for Docker pruning.
|
|
* Deploys a cleanup script that invokes:
|
|
|
|
* The anonymous volume cleanup service.
|
|
* `docker system prune -a -f` to remove unused Docker resources.
|
|
* Allows forced execution during maintenance runs (`MODE_CLEANUP`).
|
|
|
|
## Purpose
|
|
|
|
The primary purpose of this role is to prevent storage bloat caused by unused Docker images, volumes, and build artifacts.
|
|
Regular pruning ensures:
|
|
|
|
* Reduced disk usage
|
|
* Improved system performance
|
|
* Faster CI/CD and container deployments
|
|
* More predictable Docker engine behavior
|
|
|
|
## Features
|
|
|
|
* **Anonymous Volume Cleanup:** Integrates with `sys-ctl-cln-anon-volumes` to remove stale volumes.
|
|
* **Full Docker Prune:** Executes `docker system prune -a -f` to reclaim space.
|
|
* **Systemd Integration:** Registers a systemd unit and timer for automated cleanup.
|
|
* **Scheduled Execution:** Runs daily (or as configured) based on `SYS_SCHEDULE_CLEANUP_DOCKER`.
|
|
* **Force Execution Mode:** When `MODE_CLEANUP=true`, cleanup is executed immediately.
|
|
* **Safe Execution:** Includes validation for missing services and Docker availability.
|
|
|
|
## Script Behavior
|
|
|
|
The cleanup script:
|
|
|
|
1. Checks whether the anonymous volume cleanup service is defined and available.
|
|
2. Starts the service if present.
|
|
3. Runs `docker system prune -a -f` if Docker is installed.
|
|
4. Stops execution immediately on errors (`set -e` behavior).
|