devops
Практики DevOps и серверная конфигурация
Практическое руководство по безопасному деплою на Ubuntu VPS. Почему деплой от root нарушает все стандарты безопасности и как правильно настраивать права доступа.
Подробное руководство по устранению проблем с доступом к меню 3x-ui по SSH. Причины, почему команда x-ui перестала работать, и пошаговые решения для восстановления доступа.
Пошаговое руководство по удалению старых данных из индексов Elasticsearch. Сравнение методов delete by query, reindex и разделения по датам для больших наборов данных.
Пошаговое руководство по сборке nginx из исходников в Docker с использованием multi-stage build. Настройка стандартных модулей и запуск бинарника во втором образе.
Пошаговое руководство по переносу монрепозитория React + NestJS + TypeORM + PostgreSQL с Windows на Ubuntu без GUI. Избегайте ошибок npm и node_modules: установка Node.js, npm ci, PostgreSQL, PM2 и Nginx для быстрого продакшена.
Пошаговое руководство по организации прав доступа к Docker volume между хостом и контейнером при разных UID. Рекомендуемые решения для production-среды с учетом безопасности и поддерживаемости.
Сравнение подходов к резервному копированию: взаимное бэкапирование между серверами или выделенный сервер. Выбор сетевого интерфейса: Fibre Channel 2x8 Gbps vs Ethernet 1 Gbps.
Реализация самодельного CDN с GeoDNS и nginx reverse proxy на VPS в России (Timeweb) для обхода блокировок РКН. Трафик из РФ на proxy, из мира — на Hetzner. Практичность, настройка, риски и эффективность схемы.
Комплексное руководство по документированию WebSocket API с потоковыми данными. Рассмотрение AsyncAPI, версионирования, описания потоков и обработки ошибок.
Пошаговое руководство по настройке совместной работы stubby и https-dns-proxy в OpenWrt. Исправление конфигурационных файлов для корректной работы DoT и DoH.
Пошаговое руководство по настройке параллельного контроллера домена FreeIPA для миграции с Active Directory без прерывания работы пользователей. Сохранение домена mydomain.local.
Кастомное поле filename в CDR Asterisk 20.17.0 остается пустым из-за timing Set(CDR(filename)) после Dial. Userfield работает, в 18.16.0 было ок. Фикс: переместить Set() до Dial, добавить alias в cdr_adaptive_odbc.conf, диагностика логов.
Пошаговое руководство по выполнению HTTP запросов из локального Zabbix агента к Prometheus экспортеру. Методы настройки и примеры конфигурации.
Решение проблемы с отсутствующим JSON манифестом в Django 5.2. Пошаговая настройка ManifestStaticFilesStorage через STORAGES вместо устаревшего STATICFILES_STORAGE.
Разница между директивой env_file в docker-compose.yml и опцией --env-file. Организация .env файлов для dev и prod на Ubuntu. Лучшие практики, приоритеты переменных и примеры конфигураций для безопасного запуска.
Пошаговое руководство: настройка PyCharm для удалённого запуска Docker Compose по SSH — автоматический git pull, docker compose up -d --build и просмотр логов.
Как упростить программу WB ПВЗ для пункта выдачи Wildberries: настройка QR-кода для автоматической оплаты, проверки статуса и выдачи заказа без кликов. Интеграция API, middleware, Smart-ПВЗ и оборудование.
Диагностика и решение ошибки wait-control-plane в kubeadm init с HAProxy VIP для control-plane-endpoint в Kubernetes. Проверки kubelet, crictl, health checks HAProxy, сертификаты SAN и обходные пути для HA кластера.
Настройка Keycloak: автоматическое заполнение атрибута picture из OAuth-провайдеров VK (photo_200) и Yandex (photo_url). Пошаговая инструкция по мапперам Identity Provider, scopes и экспорту в токены. Примеры JSON и отладка.