DevOps и рабочие процессы
CI/CD, инфраструктура, Ansible, пайплайны, рабочие практики и инженерная рутина.
Подборка про рабочие процессы, инфраструктурные решения и инженерные привычки, которые помогают не утонуть в хаосе.
Зарплатный даунгрейд с подвохом
Обычно сеньоры бегут на повышение, а я сделал наоборот. Ко мне пришёл парень с ипотекой, детьми и страхом перемен. Вместо того чтобы дрыгаться в поисках жирного оффера на ту же позицию, мы занизили грейд до мидла. И получили предложение в 2.5 раза выше текущей зарплаты. Полная удалёнка, без кубера, даже ансибла нет. Просто сиди и саппорть инфраструктуру, а компании платят миллионы. Теперь вопрос — кому ты нужен как сеньор за миску супа?
Termix бесплатный менеджер серверов. Обзор
Я потыкал Termix, бесплатный аналог Termius. И Termix выигрывает в открытости, поддержке SSH туннелей и возможности управлять файлами из браузера. Минусы – нестабильный VNC, странные анимации панели и наверное необходимость ручных патчей. Если твоя инфраструктура в основном состоит из Linux‑серверов, Termix может стать отличной заменой.
Управление Docker контейнерами без Portainer и Dockge
У меня на малинке висит целый зоопарк Jellyfin, qBittorrent, Grafana, Prometheus, Uptime Kuma и куча другого. Portainer для таких целей избыточен как космический корабль для поездки в магазин. Да и интерфейс там сделан через жопу — хрен чё найдешь. Поэтому я переполз на Dockge, а теперь заценил DockHand. Если хочешь управлять Docker без боли, читай дальше.
Почему лишние условия убивают читаемость в Bash
Мне за 30, я видел много скриптов с дьявольскими отрицаниями, и каждый раз хотелось задушить автора. Поэтому я решил написать пост, в котором покажу как превратить кошмарную конструкцию в простой if-else без единого лишнего знака. Ты узнаешь, почему отрицания усложняют чтение, и как делать проверки файлов и прав доступа так, чтобы они были интуитивно понятны. Это базовый навык, без которого ты будешь мучиться всю свою DevOps-карьеру.
Кризис в айти 2026 — увольняться или сидеть в болоте
Я расскажу тебе всю правду про нынешний рынок вакансий без соплей и розовых очков. На моих глазах QA ищут по 2000 резюме за неделю, а сеньоры внезапно становятся джунами в глазах рекрутеров. Разберем, стоит ли прыгать в новую контору за x3 к зарплате или лучше пересидеть в тепличных условиях. Комфорт тоже бывает опасен.
Как я скрестил WinSCP, Puttygen и CMD на старой винде
Часто слышу, что автоматизировать sftp на Windows XP‑10 невозможно без кучи сторонних утилит. На деле всё проще. Я разобрался, как затащить sftp с ключами на такие системы. Самое смешное — WinSCP пришлось настроить так, чтобы он не лез в реестр, а брал настройки из ini-файла. Иначе под разными пользователями скрипты падают.
Как перейти с Docker на Podman
Вместе с Романом Шубиным, СТО и автором канала Bash Days, собрали отдельный мини-курс по Podman. Внутри — восемь материалов, которые помогут освоить инструмент с открытым исходным кодом для работы с контейнерами.
Ansible best practice. Жизнь без loop
Признавайся, ты тоже копируешь примеры из документации с loop подряд? Я тоже так делал, пока не обжёгся на продакшене. Один таск с установкой пакетов через loop обновлял репозитории 7 раз подряд. Многие считают, что без loop не обойтись, но я доказал обратное. Если ты ценишь время, забудь о лишних итерациях.
Секрет ускорения Docker сборки
Дружище, если твой Dockerfile начинается с COPY и только потом npm install, то соболезную. Каждая твоя сборка переустанавливает зависимости заново, хотя они сто лет не менялись. Я сам так делал, пока не понял, что кеш Docker работает как тупой автомат, если слой изменился всё, пиши пропало.
Массовый SSH‑скан в своей Wi‑Fi сети
Как я поймал скрытый SSH трафик с Android и iPhone через opnSense. Люди до сих пор думают, что угрозы это когда хакер в худи ломает Пентагон. На деле твой смартфон сам бодро шатает чужие SSH порты пока ты листаешь мемы. Я проверил свою сеть и процент зараженных устройств оказался таким, что захотелось перекрестить роутер святой водой. Особенно весело владельцам дешевых маршрутизаторов. Там логов нет, контроля нет, зато есть сюрпризы и цифровой сифилис по DHCP.
Hugo за 30 секунд. Мой пайплайн на Gitea Actions
Мне надоело кормить корпоративных монстров своими данными и ждать пока их джава-скрипты прогрузятся. Gitea встала на мой дохлый сервер как родная и начала летать даже с кривым конфигом. Ты получишь тот же функционал но без слежки и с полным контролем над железом. Это как купить свой дом вместо аренды квартиры с подселением к чужим тараканам. Попробуй один раз и обратно на облачные помойки уже не потянет.
S3 кластер на Garage, как прикрутить HAProxy
В прошлый раз я тебе показал как собрать S3 кластер из трех серверов на Garage. Теперь самое время накрутить ему балансировщик и SSL сертификат чтобы всё работало как часы даже если одна из нод ляжет спать. В этой части мы ставим HAProxy, прокидываем домен с lets encrypt и проверяем отказоустойчивость на живом примере. Никакой магии только конфиги и мат.
Свой S3 или пошаговая настройка Garage
Три рандомных сервака, композник и голый opensource — вот мой рецепт собственного S3 облачного хранилища. Garage не просит денег, реплицирует данные на все ноды и переживает падение любого сервера. Инструкция для тех, кто не боится консоли и хочет настоящей отказоустойчивости.
Твой сайт — решето! Или как не обосраться
Показываю на реальном примере, как проверить безопасность своего сайта через Mozilla Observatory и почему у тебя, скорее всего, там позорный рейтинг. Разбираем, что означают эти буквы A–F, какие заголовки реально важны и как с помощью пары правок в nginx быстро поднять оценку с D до вменяемого уровня.
Как превратить DNS-сервер в пушку для DDoS-атаки
Разбираем механику DNS Amplification атак и выясняем, почему использование ANY-запросов превращает твой сервер в инструмент для DDoS. Узнай, как работают векторы усиления трафика и как правильно настроить защиту на BIND и Unbound.
Диагностика проблем 1С через контрольные суммы
Если 1С начинает работать с ошибками и стандартные методы не помогают, причина может быть в повреждённых файлах. В посте показан способ сравнения каталогов с помощью rsync и md5sum. Разбираем, как найти расхождения и подтвердить проблемы с диском. Актуально для системных администраторов и DevOps инженеров.
Как добавить переменные в контейнер Podman
Учимся работать с переменными окружения в Podman удобно, гибко и безопасно. Когда мы запускаем контейнер, в большинстве случаев предварительно нужно указать настройки - порт, пароль, режим работы, адрес базы и т. д. Зачастую такие параметры жестко прописывают в самом коде, но это плохой стиль и вообще идея так себе. В будущем вы можете «затроить» и все это слить в git-репозиторий. А как мы знаем, хранить чувствительные данные в там нельзя.
Действительно ли ИИ-терминал Warp настолько хорош
Прикидываемся ветошью и поручаем терминалу со встроенным ИИ сделать почти все за нас. Потыкал я на досуге один из ИИ-терминалов и делюсь этим опытом.
Как дебажить Kubernetes и Docker с помощью «тулбоксов»
Любишь Kubernetes и Docker, но дебаг — головная боль? Покажу, как тулбоксы с набором утилит помогают быстро диагностировать проблемы и даже внедрять debug-контейнеры прямо в pod. Работает и на обычном докере!
Как разделить личные и рабочие git-конфиги без костылей
Забудь про постоянные правки git-конфига или скрипты перед пушем! Рассказываю, как настроить git, чтобы он автоматически подставлял разные user.email и user.name для личных и рабочих проектов.
Получаем SSL сертификат на IP адрес
Если не хочется связываться с доменами, но нужен SSL на IP — вот мой опыт и инструкция, как это сделать с помощью Let's Encrypt и acme.sh. Всё просто и понятно!
Как быстро скачать файл с сервера
Часто нужно быстро скачать файл с сервера, а настроить что-то сложное лень? Я расскажу, как с помощью одной команды Python поднять простой веб-сервер и скачать любой файл за пару секунд.
Как современный Docker упростил работу с compose файлами
Почему теперь можно использовать просто compose.yaml, а не привычный docker-compose.yaml. Всё стало проще, но если у тебя старая ОС — есть нюансы. Заодно обсудим, зачем вообще был нужен version в файле.
Домашний почтовый сервер на домене
Недавно решил перенести почтовый сервер к себе домой, чтобы сэкономить пару тысяч в месяц. В статье — как настроить прокси с angie и обойти отсутствие белого IP.
Bind vs Volume в Docker
Если ты тоже путаешься, что лучше — bind или volume, этот пост для тебя. Покажу основные правила и примеры из жизни, чтобы ты не писал дичь и не ломал себе окружение.
Stop Using Pi-Hole – Technitium DNS Is Better
Если ты устал от сложных настроек DNS и хочешь кластер «из коробки», расскажу, как я быстро развернул Technitium DNS с минимальными усилиями.
Хакнем Proxmox. Кластер из 2 нод без кворума
Обходим проблемы кворума в Proxmox. Забудьте о сбоях при потере одной ноды, кластер остаётся живым, а бэкапы проходят без ошибок. Простой способ сделать домашнюю лабораторию надёжной.
Как я перестал гуглить и перешел на Perplexity
Почему современный инструментарий — это не лень, а прокачка навыков и продуктивности.
TrueNAS или как восстановить облачные бекапы
Если TrueNAS сломался, а доступ к бекапам нужен срочно — не беда. Покажу, как расшифровать зашифрованные бекапы прямо на своём ПК с помощью rclone и пары паролей.
ТЗ — не бюрократия, а страховка от боли
Почему без чёткого технического задания толку от работы мало. Делюсь простыми советами, как составлять ТЗ, чтобы не заблудиться в проекте.
Прощай Helper scripts. Запускаем OCI в Proxmox 9.1
В этом разборе показываю, как в Proxmox 9.1 работает новая нативная поддержка OCI-образов. На примере nginx:latest скачиваем образ из Docker Hub, превращаем его в LXC-контейнер и запускаем без единой команды Docker. Разбираем, как входить в такой контейнер, где менять переменные окружения и как подключать хранилища.
Обновляем Proxmox 8 до Proxmox 9 (OCI)
Подробная инструкция по переходу на новую ветку Debian Trixie в Proxmox. Фиксим репы, обновляем ключи, прогоняем pve8to9 и устанавливаем всё, что предлагает система. Даю комментарии по каждому этапу, чтобы апдейт не превратился в ад.
Управляем Proxmox из терминала
Я нашёл классный TUI-клиент для Proxmox и забыл про браузер. Теперь всё администрирование — пара тычек в терминале.
Multipass простая и мощная виртуальная машина Ubuntu в один клик
Классный инструмент для быстрого запуска Ubuntu виртуалок. Забудь про бесконечные настройки и тормоза VirtualBox!
Options vs inputs в GitLab CI, что выбрать и как настроить
Выпадающие списки в Gitlab. Многие путаются с options и inputs в GitLab, поэтому делюсь своим опытом и простым решением, которое сработало у меня.
Load Average на пальцах
Пошаговый разбор Load Average с примерами и советами, чтобы ты всегда знал, когда пора бежать к серверу, а когда можно спокойно пить пиво.
Туалетная бумага по cron’у
Каждый месяц я забывал заказать туалетную бумагу, пока не написал Bash-скрипт, который делает это за меня. В этом посте расскажу, как с реверсом API и cron’ом автоматизировал рутину.
Как работать с Terraform на выделенных серверах
После того, как я выполнял terraform apply, где-то в дата-центре, специально обученный мальчик шёл ножками, читал мой yaml манифест, плакал, собирал руками железный сервер и передавал мне в работу. Сейчас этот процесс полностью автоматизирован, а мальчику больше не нужно плакать и читать мой yaml говнокод. На досуге я накидал для тебя техно-пост, как это работает. С командами, нюансами и картинками.
Гандоны в огороде
Уроки экономии на технических сервисах. Немного циничный, но честный взгляд на бюджетирование в IT, как не попасть в ловушку «сэкономить и потерять».
Как прокачать Minecraft сервер с помощью Angie
Как мы мигрировали minecraft сервер на выделенный сервер и защитились от ботов с помощью Angie, просто и эффективно.
Шифруем заметки в Obsidian
Выбираем и включаем плагин шифрования в Obsidian, чтоб критичные данные нигде не светились.
Как на ровном месте попасть в жопу
Неожиданный звонок и разоблачение сотрудника, который решил обмануть систему. Или как айтишная скука переростает в детектив.
Почему Docker возвращает неправильный Exit Code
Почему контейнер Docker «маскирует» код выхода приложения и как правильно настроить запуск, чтобы видеть настоящий exit code.
Прокачиваем Избранное в Telegram и делаем CRM
Хочешь навести порядок в своих заметках и полезных ссылках? Я покажу, как с помощью топиков в приватной группе Telegram собрать всё важное и поделиться этим с коллегами.
Telegram каналы, РКН и метка A+
О том, что реально значит метка A+ и почему не стоит бояться новых правил для блогеров. Всё по-честному и без паники.
Как я оптимизировал тормоза 1С на PostgreSQL с помощью pidstat
Делюсь скриптом и лайфхаками, которые помогли нам понять, где именно «тормозит» база и 1С в реальной работе.
Как называют переменные в разных странах
Поговорим о том, как язык обучения влияет на стиль кодирования. Почему в одном месте aux, а в другом — temp. Весело и познавательно!
Автоматическая фильтрация контента через Angie
В этом посте я делюсь своим лайфхаком, как без боли и компиляций фильтровать мат в ответах сайта. Используем Angie с Lua-модулем и немного регулярных выражений.
Power of Two Choices. Простой хак для балансировки нагрузки
Хочешь понять, как nginx умно распределяет запросы? Сегодня расскажу про «силу двух выборов» и почему это лучше рандомного выбора.
Черный список айтишников или «Не работайте с мудаками»
Как один новый менеджер смог за считанные минуты разрушить многолетние отношения с клиентом и что из этого вышло. История на реальных примерах из айти.
Магнитные бури в айти или den blbec
Den blbec - так могут называть день чехи, когда всё идёт по пизде, ничего не получается, всё валится из рук, факапы и неприятности.
Быстрый способ запускать задачи в cron с шагом 30 секунд
Если не хочется возиться с systemd timers, вот простой хак для запуска скриптов в cron каждые 30 секунд. Быстро и понятно!
Интроверты и формула успеха
Если ты интроверт, но хочешь расти — тебе придется учиться разговаривать. Даже если это не твое. Делюсь своим опытом и мотивацией.
Когда «лайк» уместен или...
Разбираемся с ситуацией, когда в корпоративной переписке можно ставить лайк на входящие сообщения, а когда лучше этого не делать.
Сервер синхронизации для Taskwarrior
Настраиваем единый сервер синхронизации для TaskWarrior, смотрим решения, которые предлагает официальная документация, крутим гайки, добиваемся желаемого.
«Вечный сервер», всё ли так радужно?
Разбираемся с моделью «вечный сервер», что провайдеры предлагают на самом деле и где скрываются подводные камни.
Собираем в кучу Write freely + Picsur + ShareX
Устанавливаем на свой сервер аналог Телеграф/Телетайп, разворачиваем свой Imgur, скрещиваем всё это дело со скриншотилкой ShareX.
Дебаг при подключении кастомного S3 к TaskWarrior
Мои попытки избавиться от сервера синхронизации и подключить кастомное S3 хранилище от Selectel в качестве базы данных для синхронизации между устройствами.
Настройка и работа с Taskwarrior
Готовим taskwarrior к продуктивной работе, избавляемся от лишнего мусора, запиливаем под себя шаблон и алиасы, затачиваем инструмент чисто под себя и свои задачи.
Как я организовал бэкапы баз 1С
Как настроить автоматический бэкап баз 1С Dump на Windows с PostgreSQL и выгрузку на удалённое FTP-хранилище с использованием rsync без стороннего софта.
Как в процессе дебага убить 4 часа
Когда лезешь в логи, меняешь конфиги и думаешь, что проблема глобальная, а решается она одной галкой.
Вайб-кодинг
Проверяю «вайб-кодинг», экономлю 150к рублей и 2 месяца разработки.
Как будет выглядеть администрирование в эпоху ИИ
Кухонные посиделки девопс-инженеров и размышления на тему - а что если делегировать всю работу специальной операционной системе с ядром на базе ИИ.
Ставим SelectOS в облако
В этой статье я шаг за шагом показываю, как установить SelectOS «с нуля» — прямо из ISO-образа — в облаке Selectel. Рассказываю, с какими трудностями столкнулся (от нехватки памяти до проблем с сетью), и как их обошёл. Подойдёт тем, кто хочет развёрнуть ОС вручную, а не пользоваться «коробочными» решениями.
SelectOS в деле
Я решил попробовать поднять GitLab CE на SelectOS без всяких Docker’ов — в лоб, как есть. Завёл раннеры, погонял CI и нагрузку, SelectOS тащит!
Пробуем SelectOS
Проникаемся новой операционной системой SelectOS на базе Debian, тыкаем в реальных условиях, смотрим фишки и фичи. Пробуем установить базовый софт и провести нагрузочное тестирование.