Docker: Автоматическое выключение по расписанию

Для домашних серверов и тестовых сред актуальна задача экономии ресурсов: ночью или в нерабочее время контейнеры можно останавливать, а систему - выключать. Это руководство описывает безопасный метод с сохранением состояния и автоматическим восстановлением. 💡 Метод подходит для OrangePI, Raspberry Pi, старых ПК и любых систем, где важна экономия энергии. 📦 Скрипт остановки контейнеров и выключения Создание скрипта # Файл: /usr/local/bin/stop_containers_and_shutdown.sh cat > /usr/local/bin/stop_containers_and_shutdown.sh << 'EOF' #!/bin/bash # # Скрипт сохраняет ID запущенных контейнеров, # останавливает их и инициирует завершение работы системы. # CONTAINERS_FILE="/etc/active_containers.txt" echo "=== $(date '+%Y-%m-%d %H:%M:%S') ===" echo "Запуск скрипта остановки контейнеров и выключения системы" # Получаем список запущенных контейнеров (по ID) RUNNING_CONTAINERS=$(docker ps -q) if [ -n "${RUNNING_CONTAINERS}" ]; then echo "Сохранение списка запущенных контейнеров в ${CONTAINERS_FILE}" echo "${RUNNING_CONTAINERS}" > "${CONTAINERS_FILE}" docker stop ${RUNNING_CONTAINERS} echo "Контейнеры остановлены." else echo "Нет запущенных контейнеров." [ -f "${CONTAINERS_FILE}" ] && rm -f "${CONTAINERS_FILE}" fi sleep 10 echo "Завершение работы системы." /sbin/shutdown -h now EOF Сделать исполняемым chmod +x /usr/local/bin/stop_containers_and_shutdown.sh Как работает Шаг Описание docker ps -q Получает ID всех запущенных контейнеров > /etc/active_containers.txt Сохраняет список для восстановления docker stop Корректно останавливает контейнеры (SIGTERM) sleep 10 Даёт время на завершение операций shutdown -h now Выключает систему Почему так: ...

17 мар. 2026 · 5 минут · 858 слов · Potato Energy Team, ponfertato

Docker Volumes: Бэкап и миграция

Docker Volumes хранят данные независимо от контейнеров, но требуют отдельного подхода к резервному копированию. Это руководство описывает универсальные методы работы с volumes на примере популярных сервисов. 💡 Заменяйте имена volumes на свои. Методы работают с любыми контейнерами. 📦 Бэкап volumes Через docker-volume-backup (рекомендуется) docker run --rm \ -v portainer_data:/backup/portainer_data \ -v postgres_data:/backup/postgres_data \ -v redis_data:/backup/redis_data \ -v /opt/docker/backup:/archive \ --entrypoint backup \ offen/docker-volume-backup:v2 Параметры: Параметр Описание -v <volume>:/backup/<name> Маппинг volume в директорию бэкапа -v /opt/docker/backup:/archive Куда сохранять архив на хосте --entrypoint backup Запускает режим бэкапа --rm Удаляет контейнер после завершения Почему этот метод: ...

16 мар. 2026 · 4 минуты · 667 слов · Potato Energy Team, ponfertato

OpenWRT: Продвинутая настройка роутера

Эта статья - практическое руководство по настройке OpenWRT для продвинутого домашнего использования. Мы разберём конфигурации, которые делают роутер умнее: фильтрация трафика на уровне DNS, безопасный удалённый доступ через WireGuard, мониторинг метрик и автоматические уведомления. 💡 Все чувствительные данные заменены на <...>. Подставляйте свои значения. 📦 Установка пакетов opkg update # Мониторинг: prometheus exporter + модули opkg install \ prometheus-node-exporter-lua \ prometheus-node-exporter-lua-nat_traffic \ prometheus-node-exporter-lua-netstat \ prometheus-node-exporter-lua-openwrt \ prometheus-node-exporter-lua-wifi \ prometheus-node-exporter-lua-wifi_stations # WireGuard: ядро + утилиты + LuCI opkg install \ kmod-wireguard \ wireguard-tools \ luci-proto-wireguard # DNS over HTTPS opkg install https-dns-proxy # Утилиты для отладки opkg install curl jq tmux htop Зачем: ...

16 мар. 2026 · 7 минут · 1374 слова · Potato Energy Team, ponfertato

OrangePI: Восстановление и миграция данных

OrangePI и другие ARM-одноплатники часто используют eMMC или SD-карты с ограниченным ресурсом записи. Со временем накопитель заполняется, деградирует или выходит из строя. Эта статья описывает метод восстановления данных и миграции на внешний носитель (USB SSD/HDD) через chroot-окружение. 💡 Метод универсален: подходит для OrangePI, Raspberry Pi, NanoPi и других ARM-систем. 📦 Подготовка Что потребуется Компонент Требования USB-накопитель SSD/HDD, объём ≥ данных на eMMC Live-образ Любой Linux с поддержкой ARM (опционально) Доступ root или sudo, физический доступ к плате Сеть Ethernet или WiFi (для удалённого доступа) Проверка подключённых накопителей # Показать все MMC-устройства (eMMC, SD-карта) ls /dev/mmc* # Показать все блочные устройства lsblk # Показать разделы и точки монтирования df -h Ожидаемый вывод: ...

16 мар. 2026 · 4 минуты · 802 слова · Potato Energy Team, ponfertato