Установка PruneMate через Docker Compose

PruneMate — это легковесный веб-интерфейс для автоматической очистки Docker-хоста. Установите его с помощью Docker Compose и настройте расписание, аутентификацию и уведомления.

4 просмотра

PruneMate — это легковесный веб-интерфейс для автоматической очистки Docker-хоста. Он позволяет удалять ненужные контейнеры, образы, сети и тома по расписанию. Установите PruneMate с помощью Docker Compose, настройте расписание, аутентификацию и уведомления.

Требования

  • Docker и Docker Compose установлены
  • Доступ к /var/run/docker.sock

Шаги установки

  1. Создайте файл docker-compose.yaml:
  2. services:
      prunemate:
        image: anoniemerd/prunemate:latest
        container_name: prunemate
        ports:
          - "7676:8080"
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
          - ./logs:/var/log
          - ./config:/config
        environment:
          - PRUNEMATE_TZ=Europe/Amsterdam
          - PRUNEMATE_TIME_24H=true
        restart: unless-stopped
  3. Запустите PruneMate:
  4. docker-compose up -d
  5. Доступ к веб-интерфейсу:
  6. Откройте браузер и перейдите по адресу: http://:7676/

Настройка аутентификации (опционально)

  1. Сгенерируйте хеш пароля:
  2. docker run --rm anoniemerd/prunemate:latest python prunemate.py --gen-hash "your_password"
  3. Добавьте переменные окружения в docker-compose.yaml:
  4. environment:
      - PRUNEMATE_AUTH_USER=admin
      - PRUNNEAMTE_AUTH_PASSWORD_HASH=ваш_хеш_здесь
  5. Перезапустите контейнер:
  6. docker-compose up -d

Настройка расписания и уведомлений

Веб-интерфейс PruneMate позволяет настроить расписание (ежедневно, еженедельно или ежемесячно), выбрать типы ресурсов для очистки и настроить уведомления через Gotify, ntfy.sh, Discord или Telegram.

Файловая структура


/config/
├── config.json          # Конфигурационный файл
├── stats.json           # Статистика по очистке
├── prunemate.lock       # Запрет одновременных запусков
└── last_run_key         # Дата последней успешной очистки

/var/log/
└── prunemate.log        # Логи приложения (вращающиеся, 5 МБ максимум)

Как это работает

  1. Планировщик запускается каждую минуту и проверяет, нужно ли выполнять очистку.
  2. Загружается последняя конфигурация из хранилища.
  3. Выполняются команды Docker prune для выбранных типов ресурсов.
  4. Собирается статистика по удаленным ресурсам и освобожденному пространству.
  5. Обновляются общие метрики (пространство, количество удаленных элементов).
  6. Отправляются уведомления, если они настроены и включены.
  7. Все действия логируются с учетом часового пояса.