Установка HA и свободное место на диске

Добрый день!

Установил Docker и контейнер Home Assistant по инструкции https://wiki.wirenboard.com/wiki/Home_Assistant . Свободное место в /mnt/data в течение нескольких дней полностью закончилось и теперь Web-UI нормально не работает. Докер и контейнер как оказалось занимают очень много места во встроенной памяти ПЛК. Вопрос в том, как можно исправить ситуацию? Первое, что сразу приходит в голову, это установить в слот SD-карту и сделать установку на неё.

root@wirenboard-AGPNY6O2:~# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/root ext4 2.0G 1.1G 741M 60% /
devtmpfs devtmpfs 491M 0 491M 0% /dev
tmpfs tmpfs 499M 4.0K 499M 1% /dev/shm
tmpfs tmpfs 200M 22M 179M 11% /run
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/mmcblk0p6 ext4 4.9G 4.9G 0 100% /mnt/data
overlay overlay 4.9G 4.9G 0 100% /mnt/data/.docker/rootfs/overlayfs/88813b3b6eb1d54baa4e6312662d510bbfffafbed6a83495638132dc3a0f18de
tmpfs tmpfs 100M 0 100M 0% /run/user/0

root@wirenboard-AGPNY6O2:~# du -h -d1 /mnt/data
3.5G /mnt/data/var
4.0K /mnt/data/.wb-update
112K /mnt/data/root
220M /mnt/data/.wb-restore
3.2M /mnt/data/etc
1.2G /mnt/data/.docker-compose
4.0K /mnt/data/uploads
2.1G /mnt/data/.docker
6.9G /mnt/data

root@wirenboard-AGPNY6O2:~# du -h -d1 /mnt/data/var
2.8G /mnt/data/var/lib
217M /mnt/data/var/cache
514M /mnt/data/var/log
3.5G /mnt/data/var
root@wirenboard-AGPNY6O2:~# du -h -d1 /mnt/data/var/lib
2.7G /mnt/data/var/lib/containerd
204K /mnt/data/var/lib/mosquitto
14M /mnt/data/var/lib/wirenboard
28K /mnt/data/var/lib/wb-homeui
77M /mnt/data/var/lib/apt
2.8G /mnt/data/var/lib

Правильно ли я понимаю, что после установки SD-карты, надо удалить докер и контейнеры и заново всё сделать по инструкции, меняя при этом путь /mnt/data на /mnt/sdcard

Добрый день!

Алгоритм примерно такой:

  • Установите SD-карту и проверьте, что она смонтировалась в /mnt/sdcard.

  • Скопируйте конфигурацию Home Assistant с внутренней памяти на SD-карту.

  • Измените параметр data-root Docker на путь вида /mnt/sdcard/.docker.

  • Создайте проект Home Assistant уже в каталоге /mnt/sdcard/.docker-compose/home-assistant.

  • После этого заново поднимите контейнер.

Также рекомендую ограничить глубину записи событий в Home Assistant.

Добрый день!

Это содержимое папки .docker-compose/home-assistant/config/home-assistant?

-rw-r–r-- 1 root root 2 Apr 9 19:19 automations.yaml
drwxr-xr-x 4 root root 4.0K Apr 9 19:19 blueprints
-rw-r–r-- 1 root root 265 Apr 9 19:19 configuration.yaml
drwxr-xr-x 3 root root 4.0K Apr 9 20:43 custom_components
drwxr-xr-x 2 root root 4.0K Apr 9 19:18 deps
-rw-r–r-- 1 root root 3.3M Apr 14 14:13 home-assistant.log
-rw-r–r-- 1 root root 1.3K Apr 9 20:40 home-assistant.log.1
-rw-r–r-- 1 root root 0 Apr 9 20:44 home-assistant.log.fault
-rw-r–r-- 1 root root 1.2G Apr 14 04:12 home-assistant_v2.db
-rw-r–r-- 1 root root 32K Apr 14 04:12 home-assistant_v2.db-shm
-rw-r–r-- 1 root root 5.2M Apr 14 14:13 home-assistant_v2.db-wal
-rw-r–r-- 1 root root 0 Apr 9 19:19 scenes.yaml
-rw-r–r-- 1 root root 0 Apr 9 19:19 scripts.yaml
-rw-r–r-- 1 root root 161 Apr 9 19:19 secrets.yaml
drwxr-xr-x 2 root root 4.0K Apr 9 19:19 tts

Остальное понятно, сделаю. Спасибо!

Да, все верно.

Всё выполнил. Также добавил дополнительные пункты. В основном много места ещё занимала папкаvar/lib/containerd

  • Подготовить SD-карту, отформатировать в файловой системе ext4

  • Установить SD-карту и проверить, что она смонтировалась в /mnt/sdcard.

  • Скопировать всю папку /mnt/data/.docker-compose в /mnt/sdcard/.docker-compose (#cp -aT /mnt/data/.docker-compose /mnt/sdcard/.docker-compose).

  • Изменить параметр data-root Docker на путь вида /mnt/sdcard/.docker.

  • Папка с контейнерами тоже как оказалось занимает много места (более 2Gb). Скопировать целиком~# cp -aT /mnt/data/var/lib/containerd /mnt/sdcard/var/lib/containerd и поправить симлинк /var/lib/containerd чтобы ссылался на путь /mnt/sdcard/var/lib/containerd

  • Для кучи тоже самое с папкой конфигурации докера. ~# cp -aT /mnt/data/etc/docker /mnt/sdcard/etc/docker и поправить симлинк /etc/docker на /mnt/sdcard/var/lib/containerd

  • После этого заново поднимите контейнер.

У меня всё запустилось после этого и диск ПЛК пустой как и прежде.