Скрипты для бекапа и восстановления Docker образов

Предпосылки к созданию
Я уже давно и прочно подсел на идеологию self-hosted. То один, то другой сервис неожиданно отказывают в доступе с территории РФ. Конечно, есть способы получить этот самый доступ, но это вызывает некоторые неудобства. Да и перефразируя классика, полбеды в том, что сервисы смертны - беда в том, что они могут быть внезапно смертны. Я помню, как накрылся звездою Google Reader, царство ему небесное, Springnote, ICQ, Skype, пачка сервисов Yahoo и другие, помню, как закончилось место на Google Photo, как были предпосылки к закрытию фигмы и Miro на территории РФ и т.п., поэтому стараюсь быть улиточкой и жить по принципу "Всё своё носи с собой". Если кто-то может что-то заблокировать, то нужно исходить из предположения, что это рано или поздно будет заблокировано. Сервисов уже много, в кубер пока не донёс, но стараюсь придерживаться принципа KISS - в /opt директории с сервисами, у каждого сервиса свой docker-compose и локальные директории, которые мапятся в качестве вольюмов. Т.е. переносится всё при необходимости не просто, а очень просто - сворачивается архив, копируется на другую машину, разворачивается, docker compose up -d и сервис жив. Я стараюсь в композах не использовать latest или использую при старте, а потом меняю на текущую версию. А старые версии образов иногда могут и перестать существовать в репозиториях или репозиторий вообще в целом может стать недоступен. Тут вариантов 2 - либо разворачивать свой репозиторий docker образов (и да, такой тоже имеется), либо делать бекапы образов и складывать рядом в поддиректорию backups. Два этих варианта никак не исключают друг-друга, но когда проект самодостаточен, мне спится спокойнее. Собственно, чтобы автоматизировать процесс локального резервного копирования я и написал данные скрипты. И да, виртуальные машины с сервисами тоже регулярно бекапятся.
Теги: docker, shell, instruments
Про очередную полезную утилиту или когда smart status слишком уж smart

В последнее время сильно подорожала не только память, но и ssd, стоимость на которые поднялась в 2 раза, а для некоторых моделей и выше. Из-за этого было принято решение разжиться каким-нибудь БУ диском с авито за более скромный прайс. В процессе изучения объявлений о продаже я неоднократно видел скриншоты windows утилиты Crystal Disk Mark. И мне понравилось то, как там представлены данные - есть оценка здоровья диска в процентах и общая оценка, например, 92% GOOD. При использовании же smartctl приходится имплементировать результаты самостоятельно, ведь overall-health result недостаточен. Да и в среднем количество вывода избыточно. Решил навайбкодить (и, естественно, доработать потом руками) обёртку поверх smartctl, которая бы позволяла делать быструю оценку состояния дисков. Так чтобы можно было запуском одной команды сразу вывести все статусы и основные характеристики всех дисков, их размер, температуру и т.п.. И подсветить проблемы, чтобы если что-то не так - это сразу бросилось в глаза. Под катом будет краткая справка и содержимое самого скрипта.
Теги: админское, shell, instruments
Зачем мне еще один файлообменник, или Синергия недооценённых self-hosted приложений: copyparty


Конечно же, магистральный путь для файлообмена в рамках самохостинга в виде NextCloud (а до него — OwnCloud) не обошёл и меня стороной. Сколько я ни пробовал это «всеобъемлющее» решение, в итоге от него отказывался. Оно казалось мне слишком перегруженным для простых задач обмена файлами, создающим избыточную нагрузку и сложность там, где нужна была лёгкость и скорость.
В предыдущих статьях тут и тут я уже рассказывал о малозаметных, но невероятно полезных утилитах, которые тихо делают свою работу, не претендуя на звание межгалактического комбаина. В их числе были и простой HTTP-файловый сервер dufs, и мощный mysecureshell. Было также и популярное self-hosted решение File Browser, о котором я не писал, но которое я до сих пор кое-где использую. Я пользовался ими всеми, и каждый справлялся со своей задачей. Но сегодня — о проекте, который не просто занял место в моём стеке, а дообогатил его, став тем самым «клеем», который не только заменил упомянутые утилиты, но и связал разрозненные сервисы в единый рабочий организм.
Теги: instruments, self-hosted
Про недооценённые утилиты - dufs

Иногда бывает такое, что тебе для конкретной задачи не хватает определённого инструмента. Ты его ищешь, ищешь, ищешь, потом уже устаёшь и перестаёшь искать, а спустя несколько лет случайно натыкаешься на него и понимаешь - вот оно! Именно то, что нужно и именно в том виде, который и требовалось. И тогда радость от обретения куда больше, чем если бы ты нашёл его сразу.
Из таких случаев мне навскидку вспомнилось несколько - MySecureShell и tinc, о которых я уже писал , lnav, о котором я возможно ещё напишу, mosh и вот, недавно - dufs.
Теги: shell, instruments
Про векторную графику и консерватизм

Давным-давно, в 97-м или 98-м году я окончил курсы по Corel Draw, тогда ещё седьмой версии. Я тогда не думал о том, где и зачем мне это может понадобиться, мне тогда просто нравилась сама концепция векторной графики. Что удивительно, знания эти мне пригодились и не раз.
Теги: instruments, graphics
