🌐 Nginx Proxy Manager: как управлять доменами и SSL без боли?
Если у тебя на сервере крутится пять разных контейнеров (сайт, облако, мониторинг), тебе нужно как-то обращаться к ним по красивым адресам вроде
Задача:
— Привязать домен к конкретному порту контейнера.
— Включить бесплатный HTTPS (Let's Encrypt), чтобы браузер не ругался на соединение.
— Сделать всё это через понятный веб-интерфейс, не копаясь в конфигах Nginx.
Решение:
Разворачиваем NPM как основной входной узел (Reverse Proxy) для всех остальных сервисов.
Почему это маст-хэв?
— Простота: Добавление нового поддомена занимает 30 секунд. Ты просто вводишь имя хоста и IP-адрес контейнера.
— Автоматический SSL: Нажал галочку «Force SSL», и NPM сам свяжется с Let's Encrypt, получит сертификат и будет его обновлять.
— Безопасность: Можно закрыть любой сервис паролем (Access Lists) прямо через админку, даже если само приложение этого не умеет.
— Логирование: Ты видишь, кто и когда заходил на твои сайты, прямо в интерфейсе.
Кому это нужно?
— Тем, кто держит несколько проектов на одном VPS.
— Разработчикам, которым нужно быстро выкатить фронтенд и бэкенд на разные поддомены.
— Владельцам домашних серверов для доступа к своим инструментам извне.
Совет: Чтобы NPM мог обращаться к другим контейнерам по их именам (например,
🔥 — если за красивые домены и зеленый замочек HTTPS
🤝 — если по старинке открываешь порты в фаерволе и заходишь по IP
➡️ GitHub Ready | #урок
Если у тебя на сервере крутится пять разных контейнеров (сайт, облако, мониторинг), тебе нужно как-то обращаться к ним по красивым адресам вроде
api.myapp.com вместо 123.123.123.123:8080. Nginx Proxy Manager (NPM) — это удобная админка, которая позволяет разрулить трафик и выпустить SSL-сертификаты за пару кликов.Задача:
— Привязать домен к конкретному порту контейнера.
— Включить бесплатный HTTPS (Let's Encrypt), чтобы браузер не ругался на соединение.
— Сделать всё это через понятный веб-интерфейс, не копаясь в конфигах Nginx.
Решение:
Разворачиваем NPM как основной входной узел (Reverse Proxy) для всех остальных сервисов.
# Пример docker-compose.yml для NPM
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # HTTP
- '81:81' # Админка
- '443:443' # HTTPS
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
Почему это маст-хэв?
— Простота: Добавление нового поддомена занимает 30 секунд. Ты просто вводишь имя хоста и IP-адрес контейнера.
— Автоматический SSL: Нажал галочку «Force SSL», и NPM сам свяжется с Let's Encrypt, получит сертификат и будет его обновлять.
— Безопасность: Можно закрыть любой сервис паролем (Access Lists) прямо через админку, даже если само приложение этого не умеет.
— Логирование: Ты видишь, кто и когда заходил на твои сайты, прямо в интерфейсе.
Кому это нужно?
— Тем, кто держит несколько проектов на одном VPS.
— Разработчикам, которым нужно быстро выкатить фронтенд и бэкенд на разные поддомены.
— Владельцам домашних серверов для доступа к своим инструментам извне.
Совет: Чтобы NPM мог обращаться к другим контейнерам по их именам (например,
http://backend:5000), объедини их в одну Docker-сеть. Это избавит тебя от необходимости прописывать локальные IP-адреса.🔥 — если за красивые домены и зеленый замочек HTTPS
🤝 — если по старинке открываешь порты в фаерволе и заходишь по IP
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
🛡 CrowdSec: Современный щит от ботов и брутфорса
Если твой сервер торчит в интернете, его сканируют боты каждую секунду. Стандартный Fail2Ban хорош, но он работает в одиночку. CrowdSec — это «иммунная система» для твоих контейнеров, которая использует коллективный разум: если IP-адрес атаковал кого-то в сети CrowdSec, он будет забанен и у тебя еще до первой атаки.
Задача:
— Автоматически банить хакеров, сканеров портов и ботов.
— Защитить Nginx Proxy Manager, SSH и другие сервисы без сложных конфигов.
— Использовать постоянно обновляемую базу «плохих» IP со всего мира.
Решение:
Устанавливаем CrowdSec вместе с твоим Reverse Proxy. Он читает логи, находит подозрительную активность и дает команду фаерволу «сбросить» соединение.
Почему это круче старых методов?
— Коллективная безопасность: Как только бот спалился на одном сервере в мире, его данные улетают в общую базу. Твой сервер скачивает этот список и превентивно закрывает дверь.
— Понимает контекст: CrowdSec анализирует не просто факт неудачного входа, а целые сценарии — например, слишком частый перебор URL-адресов или попытки SQL-инъекций.
— Легкая интеграция с Docker: Есть готовые коллекции правил для Docker, Nginx, Traefik и WordPress.
— Удобный дашборд: Ты можешь видеть карту атак на свой сервер и статистику забаненных IP в красивом веб-интерфейсе.
Как это работает?
1. Агент (Agent): Читает логи и обнаруживает угрозу.
2. Баунсер (Bouncer): Исполнитель, который физически блокирует доступ (на уровне фаервола или конфига Nginx).
Совет: В связке с Nginx Proxy Manager используй специальный баунсер (OpenResty), который будет проверять каждый входящий запрос по базе CrowdSec. Это превратит твой входной узел в настоящую цифровую крепость.
🔥 — если веришь в коллективную безопасность
🤝 — если достаточно старого доброго Fail2Ban
➡️ GitHub Ready | #урок
Если твой сервер торчит в интернете, его сканируют боты каждую секунду. Стандартный Fail2Ban хорош, но он работает в одиночку. CrowdSec — это «иммунная система» для твоих контейнеров, которая использует коллективный разум: если IP-адрес атаковал кого-то в сети CrowdSec, он будет забанен и у тебя еще до первой атаки.
Задача:
— Автоматически банить хакеров, сканеров портов и ботов.
— Защитить Nginx Proxy Manager, SSH и другие сервисы без сложных конфигов.
— Использовать постоянно обновляемую базу «плохих» IP со всего мира.
Решение:
Устанавливаем CrowdSec вместе с твоим Reverse Proxy. Он читает логи, находит подозрительную активность и дает команду фаерволу «сбросить» соединение.
Почему это круче старых методов?
— Коллективная безопасность: Как только бот спалился на одном сервере в мире, его данные улетают в общую базу. Твой сервер скачивает этот список и превентивно закрывает дверь.
— Понимает контекст: CrowdSec анализирует не просто факт неудачного входа, а целые сценарии — например, слишком частый перебор URL-адресов или попытки SQL-инъекций.
— Легкая интеграция с Docker: Есть готовые коллекции правил для Docker, Nginx, Traefik и WordPress.
— Удобный дашборд: Ты можешь видеть карту атак на свой сервер и статистику забаненных IP в красивом веб-интерфейсе.
Как это работает?
1. Агент (Agent): Читает логи и обнаруживает угрозу.
2. Баунсер (Bouncer): Исполнитель, который физически блокирует доступ (на уровне фаервола или конфига Nginx).
Совет: В связке с Nginx Proxy Manager используй специальный баунсер (OpenResty), который будет проверять каждый входящий запрос по базе CrowdSec. Это превратит твой входной узел в настоящую цифровую крепость.
🔥 — если веришь в коллективную безопасность
🤝 — если достаточно старого доброго Fail2Ban
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3🤝1
☁️ Cloudflare Tunnels: Как открыть сервер миру без белого IP?
Если у тебя нет выделенного (белого) IP-адреса от провайдера или ты не хочешь возиться с пробросом портов (Port Forwarding), Cloudflare Tunnels — это лучший способ вывести локальные сервисы в интернет. Ты просто запускаешь небольшой агент на сервере, и он сам «прокидывает» мостик до облака Cloudflare.
Задача:
— Опубликовать сайт или сервис из домашней сети/локалки.
— Скрыть реальный IP-адрес своего сервера от атак.
— Забыть о настройке DDNS и дырах в фаерволе роутера.
Как это работает?
Вместо того чтобы ждать входящих подключений, твой сервер сам устанавливает исходящее зашифрованное соединение с ближайшим дата-центром Cloudflare.
Преимущества в 2026 году:
— Безопасность: Тебе не нужно открывать порты на роутере. Весь входящий трафик идет через фильтры Cloudflare, которые отсекают ботов и DDoS-атаки.
— Zero Trust: Ты можешь добавить панель авторизации (через Google, GitHub или почту) поверх своего сервиса всего за пару кликов. Даже если в твоем приложении нет пароля, Cloudflare его добавит.
— Простота: Всё настраивается через удобный веб-интерфейс (Cloudflare Dashboard). Тебе просто нужно скопировать одну команду и запустить её в Docker.
— Бесплатно: Основной функционал туннелей доступен на бесплатном тарифе.
Как запустить через Docker?
При создании туннеля в панели Cloudflare тебе дадут токен. Запуск выглядит так:
Кому это нужно?
— Разработчикам, чтобы показать заказчику проект, запущенный прямо на рабочем ноутбуке.
— Владельцам «умных домов» (Home Assistant) для доступа из любой точки мира.
— Тем, чей провайдер выдает только серые IP-адреса (за NAT).
Совет: Используй туннели вместе с Nginx Proxy Manager. Ты можешь направить весь трафик из туннеля на NPM, а он уже сам распределит его по внутренним контейнерам по поддоменам.
🔥 — если за приватность и отсутствие открытых портов
🤝 — если предпочитаешь классический Port Forwarding
➡️ GitHub Ready | #урок
Если у тебя нет выделенного (белого) IP-адреса от провайдера или ты не хочешь возиться с пробросом портов (Port Forwarding), Cloudflare Tunnels — это лучший способ вывести локальные сервисы в интернет. Ты просто запускаешь небольшой агент на сервере, и он сам «прокидывает» мостик до облака Cloudflare.
Задача:
— Опубликовать сайт или сервис из домашней сети/локалки.
— Скрыть реальный IP-адрес своего сервера от атак.
— Забыть о настройке DDNS и дырах в фаерволе роутера.
Как это работает?
Вместо того чтобы ждать входящих подключений, твой сервер сам устанавливает исходящее зашифрованное соединение с ближайшим дата-центром Cloudflare.
Преимущества в 2026 году:
— Безопасность: Тебе не нужно открывать порты на роутере. Весь входящий трафик идет через фильтры Cloudflare, которые отсекают ботов и DDoS-атаки.
— Zero Trust: Ты можешь добавить панель авторизации (через Google, GitHub или почту) поверх своего сервиса всего за пару кликов. Даже если в твоем приложении нет пароля, Cloudflare его добавит.
— Простота: Всё настраивается через удобный веб-интерфейс (Cloudflare Dashboard). Тебе просто нужно скопировать одну команду и запустить её в Docker.
— Бесплатно: Основной функционал туннелей доступен на бесплатном тарифе.
Как запустить через Docker?
При создании туннеля в панели Cloudflare тебе дадут токен. Запуск выглядит так:
docker run -d \
--name cloudflared \
--restart unless-stopped \
cloudflare/cloudflared:latest tunnel --no-autoupdate run --token <ТВОЙ_ТОКЕН>
Кому это нужно?
— Разработчикам, чтобы показать заказчику проект, запущенный прямо на рабочем ноутбуке.
— Владельцам «умных домов» (Home Assistant) для доступа из любой точки мира.
— Тем, чей провайдер выдает только серые IP-адреса (за NAT).
Совет: Используй туннели вместе с Nginx Proxy Manager. Ты можешь направить весь трафик из туннеля на NPM, а он уже сам распределит его по внутренним контейнерам по поддоменам.
🔥 — если за приватность и отсутствие открытых портов
🤝 — если предпочитаешь классический Port Forwarding
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
🏠 Homepage: Твоя личная приборная панель для всех сервисов
Когда количество контейнеров переваливает за десяток, помнить все порты и адреса становится невозможно. Вместо закладок в браузере лучше использовать Homepage — современный, быстрый и чертовски красивый дашборд, который собирает все твои ссылки и метрики на одном экране.
Задача:
— Создать единую точку входа для всех локальных и облачных ресурсов.
— Видеть статус сервисов (онлайн/оффлайн) и нагрузку на сервер без перехода в другие вкладки.
— Организовать удобный поиск и группировку инструментов по категориям.
Решение:
Разворачиваем Homepage в Docker. Он настраивается через простые YAML-файлы и выглядит гораздо современнее старых аналогов.
Почему это круто?
— Виджеты с данными: Homepage умеет подключаться к API твоих сервисов. Ты можешь видеть остаток места на диске, скорость загрузки в Transmission, количество активных клиентов в AdGuard Home или текущую погоду прямо на иконках.
— Статистика сервера: Сверху всегда отображается загрузка CPU, оперативной памяти и состояние сети.
— Полная кастомизация: Можно менять фоны, иконки, цвета и структуру групп. Всё работает мгновенно благодаря статической генерации.
— Docker-интеграция: Он может сам «подтягивать» информацию о запущенных контейнерах через сокет, показывая их статус в реальном времени.
Как запустить?
Кому это нужно?
— Владельцам домашних лабораторий (Homelab).
— Разработчикам, которые хотят иметь быстрый доступ к мониторингу, логам и стейджингу на одной странице.
— Всем, кто ценит эстетику в рабочем пространстве.
Совет: Используй встроенный поиск по странице (клавиша
🔥 — если любишь, когда всё красиво и под рукой
🤝 — если достаточно стандартной страницы «Новая вкладка»
➡️ GitHub Ready | #урок
Когда количество контейнеров переваливает за десяток, помнить все порты и адреса становится невозможно. Вместо закладок в браузере лучше использовать Homepage — современный, быстрый и чертовски красивый дашборд, который собирает все твои ссылки и метрики на одном экране.
Задача:
— Создать единую точку входа для всех локальных и облачных ресурсов.
— Видеть статус сервисов (онлайн/оффлайн) и нагрузку на сервер без перехода в другие вкладки.
— Организовать удобный поиск и группировку инструментов по категориям.
Решение:
Разворачиваем Homepage в Docker. Он настраивается через простые YAML-файлы и выглядит гораздо современнее старых аналогов.
Почему это круто?
— Виджеты с данными: Homepage умеет подключаться к API твоих сервисов. Ты можешь видеть остаток места на диске, скорость загрузки в Transmission, количество активных клиентов в AdGuard Home или текущую погоду прямо на иконках.
— Статистика сервера: Сверху всегда отображается загрузка CPU, оперативной памяти и состояние сети.
— Полная кастомизация: Можно менять фоны, иконки, цвета и структуру групп. Всё работает мгновенно благодаря статической генерации.
— Docker-интеграция: Он может сам «подтягивать» информацию о запущенных контейнерах через сокет, показывая их статус в реальном времени.
Как запустить?
# docker-compose.yml
services:
homepage:
image: ghcr.io/gethomepage/homepage:latest
ports:
- 3000:3000
volumes:
- ./config:/app/config # Здесь лежат твои YAML настройки
- /var/run/docker.sock:/var/run/docker.sock # Для получения статуса контейнеров
Кому это нужно?
— Владельцам домашних лабораторий (Homelab).
— Разработчикам, которые хотят иметь быстрый доступ к мониторингу, логам и стейджингу на одной странице.
— Всем, кто ценит эстетику в рабочем пространстве.
Совет: Используй встроенный поиск по странице (клавиша
/), чтобы мгновенно находить нужный сервис среди десятков ссылок. Это экономит уйму времени, когда проект разрастается.🔥 — если любишь, когда всё красиво и под рукой
🤝 — если достаточно стандартной страницы «Новая вкладка»
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
🛠 AdGuard Home: Чистый интернет без рекламы и трекеров
Если тебе надоело вырезать баннеры в каждом браузере отдельно, пора переходить на сетевой уровень. AdGuard Home — это мощный DNS-сервер, который блокирует рекламу и слежку на всех устройствах сразу: от твоего рабочего ноутбука до умного телевизора и смартфонов.
Задача:
— Убрать рекламу во всех приложениях и браузерах.
— Запретить устройствам «стучать» своим производителям (телеметрия).
— Ускорить загрузку страниц за счет того, что мусорный контент даже не начинает скачиваться.
Решение:
Устанавливаем AdGuard Home в Docker и направляем трафик роутера через него.
Почему это маст-хэв?
— Блокировка на уровне DNS: Реклама фильтруется до того, как попадет на устройство. Это экономит трафик и заряд батареи на мобилках.
— Родительский контроль: Можно в один клик запретить доступ к сайтам для взрослых или ограничить использование YouTube и соцсетей по расписанию.
— Шифрование трафика: Поддержка DNS-over-HTTPS (DoH) и DNS-over-TLS (DoT) защищает твои запросы от провайдера и злоумышленников.
— Статистика: Ты увидишь реальную картину того, какие устройства и куда пытаются ломиться в сети.
Как запустить?
Кому это нужно?
— Семьям, чтобы защитить детей от нежелательного контента.
— Энтузиастам, которые хотят превратить свой домашний сервер в центр управления безопасностью.
— Всем, кого бесит реклама, встроенная прямо в интерфейс Smart TV.
Совет: После запуска пропиши IP-адрес своего сервера в настройках DNS на роутере. Теперь все устройства, подключающиеся к твоему Wi-Fi, автоматически получат «чистый» интернет без единой дополнительной настройки.
🔥 — если за интернет без баннеров и слежки
🤝 — если привык к рекламе и просто её не замечаешь
➡️ GitHub Ready | #урок
Если тебе надоело вырезать баннеры в каждом браузере отдельно, пора переходить на сетевой уровень. AdGuard Home — это мощный DNS-сервер, который блокирует рекламу и слежку на всех устройствах сразу: от твоего рабочего ноутбука до умного телевизора и смартфонов.
Задача:
— Убрать рекламу во всех приложениях и браузерах.
— Запретить устройствам «стучать» своим производителям (телеметрия).
— Ускорить загрузку страниц за счет того, что мусорный контент даже не начинает скачиваться.
Решение:
Устанавливаем AdGuard Home в Docker и направляем трафик роутера через него.
Почему это маст-хэв?
— Блокировка на уровне DNS: Реклама фильтруется до того, как попадет на устройство. Это экономит трафик и заряд батареи на мобилках.
— Родительский контроль: Можно в один клик запретить доступ к сайтам для взрослых или ограничить использование YouTube и соцсетей по расписанию.
— Шифрование трафика: Поддержка DNS-over-HTTPS (DoH) и DNS-over-TLS (DoT) защищает твои запросы от провайдера и злоумышленников.
— Статистика: Ты увидишь реальную картину того, какие устройства и куда пытаются ломиться в сети.
Как запустить?
# docker-compose.yml
services:
adguardhome:
image: adguard/adguardhome
container_name: adguardhome
restart: unless-stopped
volumes:
- ./workdir:/opt/adguardhome/work
- ./confdir:/opt/adguardhome/conf
ports:
- "53:53/tcp"
- "53:53/udp"
- "80:80/tcp"
- "3000:3000/tcp" # Первичная настройка
- "443:443/tcp"
Кому это нужно?
— Семьям, чтобы защитить детей от нежелательного контента.
— Энтузиастам, которые хотят превратить свой домашний сервер в центр управления безопасностью.
— Всем, кого бесит реклама, встроенная прямо в интерфейс Smart TV.
Совет: После запуска пропиши IP-адрес своего сервера в настройках DNS на роутере. Теперь все устройства, подключающиеся к твоему Wi-Fi, автоматически получат «чистый» интернет без единой дополнительной настройки.
🔥 — если за интернет без баннеров и слежки
🤝 — если привык к рекламе и просто её не замечаешь
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
📁 FileBrowser: Твой личный Google Drive на собственном сервере
Если тебе нужно быстро скинуть файл на сервер или скачать логи без использования терминала и SCP, ставь FileBrowser. Это легковесный и быстрый веб-менеджер файлов, который превращает любую папку на твоем диске в удобный интерфейс, доступный через браузер.
Задача:
— Управлять файлами на сервере через графический интерфейс.
— Иметь возможность создавать публичные ссылки на файлы для друзей или коллег.
— Редактировать конфиги или просматривать картинки/видео прямо в браузере.
Решение:
Запускаем контейнер, пробрасываем в него нужную директорию и получаем полноценный проводник.
Почему это удобно?
— Легкость: Весь сервис — это один бинарный файл. Он потребляет копейки оперативной памяти и работает мгновенно.
— Управление пользователями: Можно создать аккаунты для разных людей, ограничив их только определенными папками (например, только папкой
— Встроенный редактор: Ты можешь править
— Shell-команды: Прямо из интерфейса можно запускать команды (например, распаковать архив или создать папку), если у пользователя есть права.
Как запустить?
Кому это нужно?
— Разработчикам для удобного доступа к артефактам сборки или логам.
— Тем, кто хочет поднять свое «облако» для хранения личных документов и фото без подписок.
— Владельцам серверов, которым лень каждый раз вводить
Совет: В настройках можно включить генерацию превью для изображений и видео. Это превратит твой сервер в удобную галерею, где можно быстро найти нужный скриншот или ролик.
🔥 — если за удобный UI в управлении сервером
🤝 — если терминал — твой единственный файловый менеджер
➡️ GitHub Ready | #урок
Если тебе нужно быстро скинуть файл на сервер или скачать логи без использования терминала и SCP, ставь FileBrowser. Это легковесный и быстрый веб-менеджер файлов, который превращает любую папку на твоем диске в удобный интерфейс, доступный через браузер.
Задача:
— Управлять файлами на сервере через графический интерфейс.
— Иметь возможность создавать публичные ссылки на файлы для друзей или коллег.
— Редактировать конфиги или просматривать картинки/видео прямо в браузере.
Решение:
Запускаем контейнер, пробрасываем в него нужную директорию и получаем полноценный проводник.
Почему это удобно?
— Легкость: Весь сервис — это один бинарный файл. Он потребляет копейки оперативной памяти и работает мгновенно.
— Управление пользователями: Можно создать аккаунты для разных людей, ограничив их только определенными папками (например, только папкой
/uploads).— Встроенный редактор: Ты можешь править
.env файлы, YAML-конфиги или скрипты прямо в браузере с подсветкой синтаксиса.— Shell-команды: Прямо из интерфейса можно запускать команды (например, распаковать архив или создать папку), если у пользователя есть права.
Как запустить?
# docker-compose.yml
services:
filebrowser:
image: filebrowser/filebrowser:latest
ports:
- 8080:80
volumes:
- /path/to/your/files:/srv # Твои файлы здесь
- ./database.db:/database.db
- ./settings.json:/config/settings.json
restart: unless-stopped
Кому это нужно?
— Разработчикам для удобного доступа к артефактам сборки или логам.
— Тем, кто хочет поднять свое «облако» для хранения личных документов и фото без подписок.
— Владельцам серверов, которым лень каждый раз вводить
ssh и ls -la для простых операций.Совет: В настройках можно включить генерацию превью для изображений и видео. Это превратит твой сервер в удобную галерею, где можно быстро найти нужный скриншот или ролик.
🔥 — если за удобный UI в управлении сервером
🤝 — если терминал — твой единственный файловый менеджер
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
MicroBin — безопасное, опенсорсное и настраиваемое веб-приложение для обмена файлами и сокращения URL-адресов, написанное на Rust.👉 Особенности: шифрование на стороне сервера и клиента, поддержка QR-кодов, поддержка SQLite и JSON, автоудаление контента и многое другое.
Клик!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
🐳 Portainer: Графический центр управления Docker
Если ты устал держать в голове десятки ID контейнеров и путаться в их сетях, пора ставить Portainer. Это самый мощный и популярный веб-интерфейс, который превращает управление Docker-хостом в наглядный и понятный процесс.
Задача:
— Видеть полную картину того, что происходит с твоим Docker-движком.
— Легко редактировать, перезапускать и пересобирать контейнеры через браузер.
— Управлять образами, вольюмами и сетями без единой команды в терминале.
Решение:
Portainer подключается к сокету Docker и дает тебе полный контроль над всеми ресурсами через удобную админку.
Почему это маст-хэв?
— Управление стэками (Stacks): ты можешь писать и запускать
— Консоль в браузере: нужно зайти внутрь контейнера? Просто нажми на иконку терминала в строке контейнера. Больше не нужно писать
— Мониторинг ресурсов: наглядные графики потребления CPU и RAM для каждого сервиса в реальном времени.
— App Templates: огромная библиотека готовых шаблонов. Хочешь поднять WordPress или базу данных? Выбираешь из списка, жмешь «Deploy» — и готово.
Как запустить?
Кому это нужно?
— Разработчикам, которые хотят быстро проверять состояние своих сервисов.
— Системным администраторам для управления парком контейнеров на разных серверах из одного окна.
— Новичкам, которым пока сложно ориентироваться в CLI-командах Docker.
Совет: Используй Portainer для удаления неиспользуемых образов и слоев (Prune). В интерфейсе сразу видно, какие ресурсы помечены как «Unused» — очистка диска теперь делается одной кнопкой.
🔥 — если за визуальный контроль и порядок
🤝 — если терминал — это и есть твоя админка
➡️ GitHub Ready | #урок
Если ты устал держать в голове десятки ID контейнеров и путаться в их сетях, пора ставить Portainer. Это самый мощный и популярный веб-интерфейс, который превращает управление Docker-хостом в наглядный и понятный процесс.
Задача:
— Видеть полную картину того, что происходит с твоим Docker-движком.
— Легко редактировать, перезапускать и пересобирать контейнеры через браузер.
— Управлять образами, вольюмами и сетями без единой команды в терминале.
Решение:
Portainer подключается к сокету Docker и дает тебе полный контроль над всеми ресурсами через удобную админку.
Почему это маст-хэв?
— Управление стэками (Stacks): ты можешь писать и запускать
docker-compose файлы прямо внутри Portainer. Это удобнее, чем хранить их в разных папках на сервере.— Консоль в браузере: нужно зайти внутрь контейнера? Просто нажми на иконку терминала в строке контейнера. Больше не нужно писать
docker exec.— Мониторинг ресурсов: наглядные графики потребления CPU и RAM для каждого сервиса в реальном времени.
— App Templates: огромная библиотека готовых шаблонов. Хочешь поднять WordPress или базу данных? Выбираешь из списка, жмешь «Deploy» — и готово.
Как запустить?
# docker-compose.yml
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: always
ports:
- "9443:9443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
volumes:
portainer_data:
Кому это нужно?
— Разработчикам, которые хотят быстро проверять состояние своих сервисов.
— Системным администраторам для управления парком контейнеров на разных серверах из одного окна.
— Новичкам, которым пока сложно ориентироваться в CLI-командах Docker.
Совет: Используй Portainer для удаления неиспользуемых образов и слоев (Prune). В интерфейсе сразу видно, какие ресурсы помечены как «Unused» — очистка диска теперь делается одной кнопкой.
🔥 — если за визуальный контроль и порядок
🤝 — если терминал — это и есть твоя админка
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🛡️ Vaultwarden: Твой личный сейф для паролей под полным контролем
Хранить все пароли в браузере или сторонних сервисах — риск. Если их взломают, у злоумышленников будет доступ ко всей твоей жизни. Vaultwarden (ранее Bitwarden_RS) — это легкая реализация API Bitwarden на Rust, которую можно запустить на своем сервере.
Задача:
— Хранить пароли, данные карт и заметки в зашифрованном виде.
— Иметь доступ к базе с любого устройства (ПК, смартфон, расширение в браузере).
— Не платить за подписки и не доверять свои данные корпорациям.
Решение:
Устанавливаем один контейнер, который потребляет всего около 10–20 МБ оперативной памяти, но дает функционал топового менеджера паролей.
Почему это круче аналогов?
— Полная совместимость: ты используешь официальные приложения и расширения Bitwarden, но они подключаются к *твоему* серверу.
— Безопасность: всё шифруется на стороне клиента. Даже если кто-то украдет базу с твоего сервера, без мастер-пароля это просто набор случайных символов.
— Премиум-фичи бесплатно: двухфакторная аутентификация (2FA), генератор кодов (TOTP) и вложения к паролям доступны сразу из коробки.
— Автозаполнение: расширение в браузере само подставляет логины и пароли, а на смартфоне это работает через системные функции биометрии.
Как запустить?
Кому это нужно?
— Всем, кто хочет навести порядок в безопасности своих аккаунтов.
— Командам, которым нужно безопасно делиться общими доступами к сервисам.
— Параноикам (в хорошем смысле), которые хотят знать, где именно лежат их ключи.
Совет: Vaultwarden обязательно должен работать через HTTPS (например, через Nginx Proxy Manager), иначе браузеры заблокируют функции криптографии и автозаполнения из соображений безопасности.
🔥 — если доверяешь только своему серверу
🤝 — если хранишь пароли в блокноте или голове
➡️ GitHub Ready | #урок
Хранить все пароли в браузере или сторонних сервисах — риск. Если их взломают, у злоумышленников будет доступ ко всей твоей жизни. Vaultwarden (ранее Bitwarden_RS) — это легкая реализация API Bitwarden на Rust, которую можно запустить на своем сервере.
Задача:
— Хранить пароли, данные карт и заметки в зашифрованном виде.
— Иметь доступ к базе с любого устройства (ПК, смартфон, расширение в браузере).
— Не платить за подписки и не доверять свои данные корпорациям.
Решение:
Устанавливаем один контейнер, который потребляет всего около 10–20 МБ оперативной памяти, но дает функционал топового менеджера паролей.
Почему это круче аналогов?
— Полная совместимость: ты используешь официальные приложения и расширения Bitwarden, но они подключаются к *твоему* серверу.
— Безопасность: всё шифруется на стороне клиента. Даже если кто-то украдет базу с твоего сервера, без мастер-пароля это просто набор случайных символов.
— Премиум-фичи бесплатно: двухфакторная аутентификация (2FA), генератор кодов (TOTP) и вложения к паролям доступны сразу из коробки.
— Автозаполнение: расширение в браузере само подставляет логины и пароли, а на смартфоне это работает через системные функции биометрии.
Как запустить?
# docker-compose.yml
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
- SIGNUPS_ALLOWED=true # Выключи после регистрации своего аккаунта
volumes:
- ./vw-data:/data
ports:
- 8080:80
Кому это нужно?
— Всем, кто хочет навести порядок в безопасности своих аккаунтов.
— Командам, которым нужно безопасно делиться общими доступами к сервисам.
— Параноикам (в хорошем смысле), которые хотят знать, где именно лежат их ключи.
Совет: Vaultwarden обязательно должен работать через HTTPS (например, через Nginx Proxy Manager), иначе браузеры заблокируют функции криптографии и автозаполнения из соображений безопасности.
🔥 — если доверяешь только своему серверу
🤝 — если хранишь пароли в блокноте или голове
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
🐳 Docker Compose: как запускать проекты одной командой?
Если ты до сих пор запускаешь базу данных, бэкенд и фронтенд отдельными командами
Задача:
— Описать связи между контейнерами (например, чтобы бэкенд видел базу данных).
— Хранить настройки окружения (порты, пароли, вольюмы) в читаемом виде.
— Запускать и останавливать весь стек одной короткой командой.
Решение:
Создаем файл
Почему это маст-хэв?
— Инфраструктура как код: настройки твоего сервера теперь лежат в Git вместе с кодом. Любой разработчик может развернуть проект у себя за пару минут.
— Изоляция сетей: Compose автоматически создает сеть, внутри которой контейнеры общаются по именам (например,
— Управление состоянием: команда
— Масштабируемость: можно легко запустить несколько экземпляров одного сервиса для тестов.
Основные команды:
—
—
—
Совет: Используй
🔥 — если всё хранишь в docker-compose.yml
🤝 — если до сих пор пишешь огромные bash-скрипты с docker run
➡️ GitHub Ready | #урок
Если ты до сих пор запускаешь базу данных, бэкенд и фронтенд отдельными командами
docker run, ты тратишь время зря. Docker Compose — это инструмент, который позволяет описать всю архитектуру твоего проекта в одном файле и поднять её целиком.Задача:
— Описать связи между контейнерами (например, чтобы бэкенд видел базу данных).
— Хранить настройки окружения (порты, пароли, вольюмы) в читаемом виде.
— Запускать и останавливать весь стек одной короткой командой.
Решение:
Создаем файл
docker-compose.yml, где прописываем все нужные сервисы.version: '3.8'
services:
db:
image: postgres:15-alpine
restart: always
environment:
POSTGRES_PASSWORD: mysecretpassword
volumes:
- db_data:/var/lib/postgresql/data
backend:
build: .
ports:
- "8080:8080"
depends_on:
- db
environment:
DATABASE_URL: postgres://postgres:mysecretpassword@db:5432/postgres
volumes:
db_data:
Почему это маст-хэв?
— Инфраструктура как код: настройки твоего сервера теперь лежат в Git вместе с кодом. Любой разработчик может развернуть проект у себя за пару минут.
— Изоляция сетей: Compose автоматически создает сеть, внутри которой контейнеры общаются по именам (например,
http://db:5432), а наружу пробрасываются только нужные порты.— Управление состоянием: команда
docker-compose up -d создаст только то, чего не хватает, или обновит изменившиеся сервисы.— Масштабируемость: можно легко запустить несколько экземпляров одного сервиса для тестов.
Основные команды:
—
docker-compose up -d — запустить всё в фоновом режиме.—
docker-compose stop — остановить сервисы, не удаляя их.—
docker-compose down — полностью остановить и удалить контейнеры и сети проекта.Совет: Используй
.env файлы для хранения секретов и переменных окружения. Docker Compose автоматически подтянет их, и тебе не придется «светить» пароли в основном конфиге.🔥 — если всё хранишь в docker-compose.yml
🤝 — если до сих пор пишешь огромные bash-скрипты с docker run
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
🐳 Docker Slim (DockerSlim): Как похудеть вашему образу в 30 раз?
Если даже после Multi-stage билда твой образ весит сотни мегабайт, пора выпускать тяжелую артиллерию. Docker Slim — это инструмент, который анализирует работу твоего контейнера и безжалостно вырезает из него всё, что не используется при выполнении программы.
Задача:
— Уменьшить размер образа (иногда с 1 ГБ до 30 МБ).
— Повысить безопасность, удалив лишние бинарники и шеллы.
— Ускорить деплой и экономить место в Docker Registry.
Решение:
Docker Slim запускает твой контейнер, смотрит, какие файлы и библиотеки реально задействованы, а затем собирает новый "микро-образ".
Почему это магия?
— Автоматизация: Тебе не нужно вручную искать зависимости. Инструмент сам поймет, что приложению нужен только один конфиг и пара библиотек, а остальной мусор из Debian/Ubuntu можно выкинуть.
— Безопасность: Чем меньше в образе файлов, тем меньше поверхность атаки. Хакеру не за что зацепиться, если в системе нет даже стандартных утилит.
— Совместимость: На выходе получается обычный Docker-образ, который работает везде, где и оригинал.
Как пользоваться?
Достаточно запустить одну команду из терминала:
На выходе ты получишь
Кому это нужно?
— Разработчикам на Python, Node.js и Java, где образы часто раздуваются из-за огромного количества зависимостей.
— Тем, кто деплоит в облака с оплатой за трафик и хранение.
— Проектам с жесткими требованиями к безопасности (SecOps).
Совет: Чтобы оптимизация прошла успешно, во время работы
🔥 — если каждый мегабайт на счету
🤝 — если дисковое пространство стоит копейки
➡️ GitHub Ready | #урок
Если даже после Multi-stage билда твой образ весит сотни мегабайт, пора выпускать тяжелую артиллерию. Docker Slim — это инструмент, который анализирует работу твоего контейнера и безжалостно вырезает из него всё, что не используется при выполнении программы.
Задача:
— Уменьшить размер образа (иногда с 1 ГБ до 30 МБ).
— Повысить безопасность, удалив лишние бинарники и шеллы.
— Ускорить деплой и экономить место в Docker Registry.
Решение:
Docker Slim запускает твой контейнер, смотрит, какие файлы и библиотеки реально задействованы, а затем собирает новый "микро-образ".
Почему это магия?
— Автоматизация: Тебе не нужно вручную искать зависимости. Инструмент сам поймет, что приложению нужен только один конфиг и пара библиотек, а остальной мусор из Debian/Ubuntu можно выкинуть.
— Безопасность: Чем меньше в образе файлов, тем меньше поверхность атаки. Хакеру не за что зацепиться, если в системе нет даже стандартных утилит.
— Совместимость: На выходе получается обычный Docker-образ, который работает везде, где и оригинал.
Как пользоваться?
Достаточно запустить одну команду из терминала:
docker-slim build my-app-image:latest
На выходе ты получишь
my-app-image.slim, который будет весить в разы меньше.Кому это нужно?
— Разработчикам на Python, Node.js и Java, где образы часто раздуваются из-за огромного количества зависимостей.
— Тем, кто деплоит в облака с оплатой за трафик и хранение.
— Проектам с жесткими требованиями к безопасности (SecOps).
Совет: Чтобы оптимизация прошла успешно, во время работы
docker-slim build желательно прогнать тесты или потыкать приложение вручную. Это нужно, чтобы инструмент увидел, какие части кода и библиотек активируются в процессе работы.🔥 — если каждый мегабайт на счету
🤝 — если дисковое пространство стоит копейки
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
📊 Glances: Всё железо под контролем в одном окне
Если тебе нужно быстро понять, почему сервер начал тормозить, а открывать десять разных утилит лень, ставь Glances. Это продвинутый мониторинг системы на Python, который показывает вообще всё: от температуры процессора до сетевой активности и состояния Docker-контейнеров.
Задача:
— Получить полный срез состояния системы (CPU, RAM, Disk, Network) на одном экране.
— Мониторить запущенные процессы и их влияние на ресурсы.
— Иметь возможность смотреть статистику как в терминале, так и через браузер.
Решение:
Glances работает по принципу «всё включено». Он автоматически подстраивается под размер окна и подсвечивает проблемные зоны (например, если память заканчивается, цифры станут красными).
Почему это удобно?
— Информативность: В отличие от классического
— Веб-интерфейс: Запустив его с флагом
— API и экспорт: Glances умеет отправлять данные в InfluxDB, Prometheus или просто в CSV-файл для дальнейшего анализа.
— Режим клиент-сервер: Можно запустить агент на удаленном сервере и подключаться к нему со своего ПК, чтобы видеть статистику в реальном времени.
Как запустить в Docker?
Кому это нужно?
— Разработчикам для отладки приложений, которые «текут» по памяти.
— Системным администраторам для быстрого чек-апа состояния ноды.
— Владельцам домашних серверов, чтобы всегда знать, не перегревается ли железо.
Совет: В терминале используй горячие клавиши:
➡️ GitHub Ready | #урок
Если тебе нужно быстро понять, почему сервер начал тормозить, а открывать десять разных утилит лень, ставь Glances. Это продвинутый мониторинг системы на Python, который показывает вообще всё: от температуры процессора до сетевой активности и состояния Docker-контейнеров.
Задача:
— Получить полный срез состояния системы (CPU, RAM, Disk, Network) на одном экране.
— Мониторить запущенные процессы и их влияние на ресурсы.
— Иметь возможность смотреть статистику как в терминале, так и через браузер.
Решение:
Glances работает по принципу «всё включено». Он автоматически подстраивается под размер окна и подсвечивает проблемные зоны (например, если память заканчивается, цифры станут красными).
Почему это удобно?
— Информативность: В отличие от классического
top, здесь сразу видны дисковые операции (I/O), сенсоры температуры, IP-адреса и даже список Docker-контейнеров с их нагрузкой.— Веб-интерфейс: Запустив его с флагом
-w, ты получишь полноценную веб-страницу с графиками, которую можно открыть с любого устройства.— API и экспорт: Glances умеет отправлять данные в InfluxDB, Prometheus или просто в CSV-файл для дальнейшего анализа.
— Режим клиент-сервер: Можно запустить агент на удаленном сервере и подключаться к нему со своего ПК, чтобы видеть статистику в реальном времени.
Как запустить в Docker?
# docker-compose.yml
services:
glances:
image: nicolargo/glances:latest
container_name: glances
restart: always
pid: host # Чтобы видеть процессы хоста
network_mode: host # Для мониторинга сетевых интерфейсов
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- GLANCES_OPT=-w # Запуск в режиме веб-сервера
Кому это нужно?
— Разработчикам для отладки приложений, которые «текут» по памяти.
— Системным администраторам для быстрого чек-апа состояния ноды.
— Владельцам домашних серверов, чтобы всегда знать, не перегревается ли железо.
Совет: В терминале используй горячие клавиши:
c — сортировка по CPU, m — по памяти, d — показать/скрыть дисковую статистику. Это позволяет мгновенно найти процесс-виновник тормозов.Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🕵️ Lazygit: Как перестать бояться Git в терминале?
Если работа с ветками, коммитами и мерджами через консоль кажется тебе пыткой, а тяжелые GUI-клиенты тормозят систему, Lazygit — это то, что изменит твой рабочий процесс. Это интерактивный TUI (Terminal UI) клиент, который делает работу с Git быстрой, наглядной и почти магической.
Задача:
— Видеть состояние репозитория, изменения в файлах и дерево веток одновременно.
— Делать сложные операции (интерактивный rebase, cherry-pick) без заучивания флагов команд.
— Стейджить отдельные строки кода, а не целые файлы, парой нажатий.
Решение:
Ты просто запускаешь команду
Почему это киллер-фича?
— Скорость: Большинство действий делается одной клавишей.
— Визуальный Diff: Ты видишь изменения в коде справа и можешь выбрать конкретные строки для коммита стрелками и пробелом.
— Удобный Rebase: Интерактивное перебазирование, которое в консоли пугает новичков, здесь превращается в простую сортировку коммитов.
— Работа с ветками: Переключение, создание и удаление веток происходит мгновенно, а дерево коммитов всегда перед глазами.
Кому это нужно?
— Разработчикам, которые проводят в терминале 90% времени.
— Тем, кто хочет «прозрачности» в истории коммитов.
— Всем, кому надоело писать
Совет: В Lazygit встроена отличная система подсказок. Просто нажми
🔥 — если терминал — твой дом родной
🤝 — если предпочитаешь кнопки в VS Code или WebStorm
➡️ GitHub Ready | #урок
Если работа с ветками, коммитами и мерджами через консоль кажется тебе пыткой, а тяжелые GUI-клиенты тормозят систему, Lazygit — это то, что изменит твой рабочий процесс. Это интерактивный TUI (Terminal UI) клиент, который делает работу с Git быстрой, наглядной и почти магической.
Задача:
— Видеть состояние репозитория, изменения в файлах и дерево веток одновременно.
— Делать сложные операции (интерактивный rebase, cherry-pick) без заучивания флагов команд.
— Стейджить отдельные строки кода, а не целые файлы, парой нажатий.
Решение:
Ты просто запускаешь команду
lazygit в папке проекта и получаешь полноценный пульт управления.Почему это киллер-фича?
— Скорость: Большинство действий делается одной клавишей.
c — коммит, P — пуш, p — пулл, space — стейдж файла.— Визуальный Diff: Ты видишь изменения в коде справа и можешь выбрать конкретные строки для коммита стрелками и пробелом.
— Удобный Rebase: Интерактивное перебазирование, которое в консоли пугает новичков, здесь превращается в простую сортировку коммитов.
— Работа с ветками: Переключение, создание и удаление веток происходит мгновенно, а дерево коммитов всегда перед глазами.
Кому это нужно?
— Разработчикам, которые проводят в терминале 90% времени.
— Тем, кто хочет «прозрачности» в истории коммитов.
— Всем, кому надоело писать
git add . и git status каждые две минуты.Совет: В Lazygit встроена отличная система подсказок. Просто нажми
x в любом меню, чтобы увидеть список всех доступных горячих клавиш для текущего контекста. Это лучший способ освоить инструмент за один вечер.🔥 — если терминал — твой дом родной
🤝 — если предпочитаешь кнопки в VS Code или WebStorm
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤1👍1
🧠 LocalAI: Как запустить свои нейросети на сервере без цензуры и подписок
Если тебе надоело платить за API OpenAI, зависеть от их серверов или ты боишься утечки конфиденциального кода, пора развернуть LocalAI. Это полноценная замена API ChatGPT, Whisper и Midjourney, которая работает локально на твоем железе внутри Docker-контейнера.
Задача:
— Запустить LLM (Large Language Models) на собственном сервере.
— Получить полный аналог OpenAI API, чтобы существующие приложения (например, плагины в VS Code) могли работать с локальной моделью без переписывания кода.
— Обеспечить 100% приватность данных и независимость от интернета.
Решение:
LocalAI собирает популярные опенсорсные движки (llama.cpp, diffusers и др.) в один удобный Docker-образ с REST API.
Почему это круто?
— Полная совместимость с OpenAI: Он имитирует эндпоинты
— Работает без GPU: Инструмент оптимизирован для работы на обычных CPU. Конечно, на видеокарте всё летает, но для простых задач или тестов хватит и обычного процессора.
— Мультимодальность: В один интерфейс можно завернуть языковые модели (Llama 3, Mistral), генераторы картинок (Stable Diffusion) и распознавание речи (Whisper).
— Никакой цензуры: Модели выполняют именно те инструкции, которые ты им даешь, без корпоративных ограничений и политкорректных отказов.
Как запустить (пример для CPU)?
После запуска достаточно закинуть нужную модель в формате
Кому это нужно?
— Разработчикам, которые создают корпоративные ИИ-помощники для работы с закрытой документацией компании.
— Энтузиастам автоматизации, которые хотят интегрировать ИИ в умный дом.
— Тем, кто хочет использовать ИИ в регионах или сетях с ограниченным доступом к внешнему интернету.
Совет: Для старта выбирай небольшие, но эффективные модели (например, Llama-3-8B-Instruct в квантовании Q4_K_M). Они требуют около 5-6 ГБ оперативной памяти, быстро отвечают на CPU и отлично справляются с базовым написанием кода и анализом текста.
🔥 — если за приватность и локальные нейросети
🤝 — если облачные API пока удобнее
➡️ GitHub Ready | #урок
Если тебе надоело платить за API OpenAI, зависеть от их серверов или ты боишься утечки конфиденциального кода, пора развернуть LocalAI. Это полноценная замена API ChatGPT, Whisper и Midjourney, которая работает локально на твоем железе внутри Docker-контейнера.
Задача:
— Запустить LLM (Large Language Models) на собственном сервере.
— Получить полный аналог OpenAI API, чтобы существующие приложения (например, плагины в VS Code) могли работать с локальной моделью без переписывания кода.
— Обеспечить 100% приватность данных и независимость от интернета.
Решение:
LocalAI собирает популярные опенсорсные движки (llama.cpp, diffusers и др.) в один удобный Docker-образ с REST API.
Почему это круто?
— Полная совместимость с OpenAI: Он имитирует эндпоинты
/v1/chat/completions, /v1/embeddings и /v1/audio/transcriptions. Ты можешь просто поменять api_base_url в своем Python/Node.js скрипте, и всё заработает на твоем сервере.— Работает без GPU: Инструмент оптимизирован для работы на обычных CPU. Конечно, на видеокарте всё летает, но для простых задач или тестов хватит и обычного процессора.
— Мультимодальность: В один интерфейс можно завернуть языковые модели (Llama 3, Mistral), генераторы картинок (Stable Diffusion) и распознавание речи (Whisper).
— Никакой цензуры: Модели выполняют именно те инструкции, которые ты им даешь, без корпоративных ограничений и политкорректных отказов.
Как запустить (пример для CPU)?
# docker-compose.yml
services:
local-ai:
image: localai/localai:latest-cpu
container_name: local-ai
restart: always
ports:
- 8080:8080
environment:
- MODELS_PATH=/models
- THREADS=4 # Количество ядер процессора
volumes:
- ./models:/models
После запуска достаточно закинуть нужную модель в формате
.gguf в папку /models, и она сразу станет доступна по API.Кому это нужно?
— Разработчикам, которые создают корпоративные ИИ-помощники для работы с закрытой документацией компании.
— Энтузиастам автоматизации, которые хотят интегрировать ИИ в умный дом.
— Тем, кто хочет использовать ИИ в регионах или сетях с ограниченным доступом к внешнему интернету.
Совет: Для старта выбирай небольшие, но эффективные модели (например, Llama-3-8B-Instruct в квантовании Q4_K_M). Они требуют около 5-6 ГБ оперативной памяти, быстро отвечают на CPU и отлично справляются с базовым написанием кода и анализом текста.
🔥 — если за приватность и локальные нейросети
🤝 — если облачные API пока удобнее
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
🐳 Kubevious: Как увидеть свой Kubernetes-кластер на ладони?
Если ты переходишь с Docker Compose на Kubernetes, то количество ямлов (YAML), подов, сервисов, ингрессов и конфигмапов начинает пугать. Главная проблема K8s — сложно увидеть всю картину целиком и понять, почему один под не может достучаться до другого. Kubevious — это визуальный дашборд, который превращает хаос из манифестов в понятную и интерактивную карту.
Задача:
— Понять реальную архитектуру и связи внутри кластера.
— Быстро находить ошибки в конфигурациях (например, неверный селектор у сервиса).
— Мониторить распределение ресурсов и "осиротевшие" сущности.
Решение:
Устанавливаем Kubevious в кластер. Он анализирует все манифесты, строит граф зависимостей и подсвечивает проблемы до того, как они сломают прод.
Почему это киллер-фича для разработчика?
— Ориентирован на приложения: В отличие от стандартного Kubernetes Dashboard, Kubevious группирует сущности логически. Ты видишь не просто список подов, а цепочку: *Ingress -> Service -> Deployment -> Pods -> Volumes*.
— Автоматический аудит: Инструмент содержит встроенные правила валидации. Если ты опечатался в названии лейбла или забыл ограничить CPU/RAM (Limits), Kubevious сразу повесит на этот узел красный ярлык с описанием ошибки.
— Машина времени (Time Travel): Ты можешь "отмотать" состояние кластера назад и посмотреть, какие изменения в манифестах привели к падению сервиса пару часов назад.
— Поиск скрытых связей: Кликнув на любой под, ты сразу увидишь, какие сетевые политики (NetworkPolicies) на него влияют и какие секреты он монтирует.
Кому это нужно?
— Разработчикам, которые начинают деплоить свои Python/Node.js приложения в Kubernetes и хотят контролировать процесс.
— DevOps-инженерам для быстрой визуальной диагностики и онбординга новых сотрудников в проект.
— Тем, кто хочет спать спокойно, зная, что в конфигурациях кластера нет явных дыр.
Совет: Используй Kubevious в связке с CLI-утилитой
🔥 — если визуализация помогает в дебаге
🤝 — если хватает
➡️ GitHub Ready | #урок
Если ты переходишь с Docker Compose на Kubernetes, то количество ямлов (YAML), подов, сервисов, ингрессов и конфигмапов начинает пугать. Главная проблема K8s — сложно увидеть всю картину целиком и понять, почему один под не может достучаться до другого. Kubevious — это визуальный дашборд, который превращает хаос из манифестов в понятную и интерактивную карту.
Задача:
— Понять реальную архитектуру и связи внутри кластера.
— Быстро находить ошибки в конфигурациях (например, неверный селектор у сервиса).
— Мониторить распределение ресурсов и "осиротевшие" сущности.
Решение:
Устанавливаем Kubevious в кластер. Он анализирует все манифесты, строит граф зависимостей и подсвечивает проблемы до того, как они сломают прод.
Почему это киллер-фича для разработчика?
— Ориентирован на приложения: В отличие от стандартного Kubernetes Dashboard, Kubevious группирует сущности логически. Ты видишь не просто список подов, а цепочку: *Ingress -> Service -> Deployment -> Pods -> Volumes*.
— Автоматический аудит: Инструмент содержит встроенные правила валидации. Если ты опечатался в названии лейбла или забыл ограничить CPU/RAM (Limits), Kubevious сразу повесит на этот узел красный ярлык с описанием ошибки.
— Машина времени (Time Travel): Ты можешь "отмотать" состояние кластера назад и посмотреть, какие изменения в манифестах привели к падению сервиса пару часов назад.
— Поиск скрытых связей: Кликнув на любой под, ты сразу увидишь, какие сетевые политики (NetworkPolicies) на него влияют и какие секреты он монтирует.
Кому это нужно?
— Разработчикам, которые начинают деплоить свои Python/Node.js приложения в Kubernetes и хотят контролировать процесс.
— DevOps-инженерам для быстрой визуальной диагностики и онбординга новых сотрудников в проект.
— Тем, кто хочет спать спокойно, зная, что в конфигурациях кластера нет явных дыр.
Совет: Используй Kubevious в связке с CLI-утилитой
kubevious-cli в своем CI/CD пайплайне. Это позволит валидировать ямлы на этапе коммита, запрещая деплоить в кластер конфигурации с ошибками.🔥 — если визуализация помогает в дебаге
🤝 — если хватает
kubectl get all -n my-namespacePlease open Telegram to view this post
VIEW IN TELEGRAM
🔥3
🚀 FastStream: Python-фреймворк для работы с брокерами сообщений, который заменит тебе Celery
Если ты пишешь бэкенд на Python и тебе нужно работать с очередями (Kafka, RabbitMQ, NATS), то стандартный выбор — это связка Celery или написание голых коннекторов вручную. Но в 2026 году асинхронные микросервисы пишут на FastStream — фреймворке от создателей Hydra, который делает работу с брокерами такой же удобной, как FastAPI для HTTP.
Задача:
— Быстро запустить асинхронную обработку сообщений (Publisher/Subscriber).
— Избавиться от тонн шаблонного кода (boilerplate) при настройке подключений к Kafka или RabbitMQ.
— Получить автодокументацию очередей и валидацию данных из коробки.
Решение:
FastStream использует концепты FastAPI: ты просто вешаешь декораторы на асинхронные функции, а валидацию типов доверяешь Pydantic.
Почему это киллер-фича?
— Полная асинхронность: Фреймворк изначально спроектирован под
— AsyncAPI Документация: Как FastAPI генерирует Swagger для HTTP-ручек, так FastStream автоматически собирает схему твоих очередей и сообщений в формате AsyncAPI. Ты всегда видишь архитектуру потоков данных.
— Мощное тестирование: В комплекте идут удобные фикстуры и тест-клиенты. Можно тестировать логику воркеров без реального запуска RabbitMQ или Kafka в Docker.
— Интеграция с FastAPI: Его можно использовать как отдельный сервис (воркер) или легко встроить прямо внутрь существующего FastAPI-приложения.
Кому это нужно?
— Разработчикам микросервисов, где важна высокая скорость обмена сообщениями и строгая типизация данных.
— Тем, кто устал от тяжеловесного Celery и хочет иметь прозрачный контроль над очередями на чистом Python.
Совет: Используй FastStream в связке с библиотекой Loguru для логирования. Логи воркеров будут выглядеть структурировано, и ты сможешь легко отслеживать путь каждого сообщения через трейс-id.
🔥 — если пишешь асинхронный бэк и любишь FastAPI-стайл
🤝 — если старый добрый Celery + Redis полностью устраивает
➡️ GitHub Ready | #урок
Если ты пишешь бэкенд на Python и тебе нужно работать с очередями (Kafka, RabbitMQ, NATS), то стандартный выбор — это связка Celery или написание голых коннекторов вручную. Но в 2026 году асинхронные микросервисы пишут на FastStream — фреймворке от создателей Hydra, который делает работу с брокерами такой же удобной, как FastAPI для HTTP.
Задача:
— Быстро запустить асинхронную обработку сообщений (Publisher/Subscriber).
— Избавиться от тонн шаблонного кода (boilerplate) при настройке подключений к Kafka или RabbitMQ.
— Получить автодокументацию очередей и валидацию данных из коробки.
Решение:
FastStream использует концепты FastAPI: ты просто вешаешь декораторы на асинхронные функции, а валидацию типов доверяешь Pydantic.
from faststream import FastStream
from faststream.rabbit import RabbitBroker
from pydantic import BaseModel
# Инициализируем брокер (работает так же для Kafka, NATS)
broker = RabbitBroker("amqp://guest:guest@localhost:5672/")
app = FastStream(broker)
class Order(BaseModel):
id: int
item: str
price: float
# Подписываемся на очередь и валидируем входящие данные
@broker.subscriber("new-orders")
async def handle_order(order: Order):
print(f"Обработка заказа #{order.id}: {order.item}")
# Логика обработки...
Почему это киллер-фича?
— Полная асинхронность: Фреймворк изначально спроектирован под
asyncio, что дает огромную скорость обработки сообщений под высокой нагрузкой.— AsyncAPI Документация: Как FastAPI генерирует Swagger для HTTP-ручек, так FastStream автоматически собирает схему твоих очередей и сообщений в формате AsyncAPI. Ты всегда видишь архитектуру потоков данных.
— Мощное тестирование: В комплекте идут удобные фикстуры и тест-клиенты. Можно тестировать логику воркеров без реального запуска RabbitMQ или Kafka в Docker.
— Интеграция с FastAPI: Его можно использовать как отдельный сервис (воркер) или легко встроить прямо внутрь существующего FastAPI-приложения.
Кому это нужно?
— Разработчикам микросервисов, где важна высокая скорость обмена сообщениями и строгая типизация данных.
— Тем, кто устал от тяжеловесного Celery и хочет иметь прозрачный контроль над очередями на чистом Python.
Совет: Используй FastStream в связке с библиотекой Loguru для логирования. Логи воркеров будут выглядеть структурировано, и ты сможешь легко отслеживать путь каждого сообщения через трейс-id.
🔥 — если пишешь асинхронный бэк и любишь FastAPI-стайл
🤝 — если старый добрый Celery + Redis полностью устраивает
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
🛡️ Traefik: Современный обратный прокси, который настраивается сам
Если тебе надоело каждый раз вручную прописывать новые контейнеры в конфигах Nginx или даже кликать их в админке Nginx Proxy Manager, пора переходить на Traefik. Это Edge Router, созданный специально для эпохи Docker и микросервисов. Он сам следит за твоей инфраструктурой и мгновенно подхватывает новые сервисы на лету.
Задача:
— Полностью автоматизировать маршрутизацию трафика к контейнерам.
— Перестать перезапускать прокси-сервер при добавлении новых сайтов.
— Автоматически получать и обновлять SSL-сертификаты от Let's Encrypt.
Решение:
Мы запускаем Traefik один раз, даем ему доступ к сокету Docker, а управление маршрутами переносим прямо в
Почему это маст-хэв для автоматизации?
— Автоматическое обнаружение (Service Discovery): Traefik слушает события Docker. Как только ты пишешь
— Метрики и мониторинг: Из коробки доступна интеграция с Prometheus и Grafana, а также встроенный чистый веб-дашборд, где виден статус всех маршрутов.
— Мощные Middleware: Прямо в конфиге контейнера можно настроить редиректы, ограничение частоты запросов (Rate Limiting), базовую авторизацию или сжатие трафика.
— Поддержка современных протоколов: HTTP/3, gRPC и Websockets работают идеально без костылей в настройках.
Как это выглядит в коде?
Сначала мы поднимаем сам Traefik, а затем любой наш сервис (например, бэкенд на Python) запускается с такими метками:
Кому это нужно?
— Разработчикам, которые часто поднимают и тушат тестовые окружения (staging) и хотят, чтобы они сразу были доступны по красивым HTTPS-адресам.
— Тем, кто строит CI/CD пайплайны и хочет полной автоматизации деплоя без ручной правки инфраструктурных конфигов.
Совет: Никогда не выставляй сокет Docker (
🔥 — если за полную автоматизацию и labels-стиль
🤝 — если привычнее править конфиги или кликать в UI админке
➡️ GitHub Ready | #урок
Если тебе надоело каждый раз вручную прописывать новые контейнеры в конфигах Nginx или даже кликать их в админке Nginx Proxy Manager, пора переходить на Traefik. Это Edge Router, созданный специально для эпохи Docker и микросервисов. Он сам следит за твоей инфраструктурой и мгновенно подхватывает новые сервисы на лету.
Задача:
— Полностью автоматизировать маршрутизацию трафика к контейнерам.
— Перестать перезапускать прокси-сервер при добавлении новых сайтов.
— Автоматически получать и обновлять SSL-сертификаты от Let's Encrypt.
Решение:
Мы запускаем Traefik один раз, даем ему доступ к сокету Docker, а управление маршрутами переносим прямо в
docker-compose.yml конкретных приложений с помощью меток (labels).Почему это маст-хэв для автоматизации?
— Автоматическое обнаружение (Service Discovery): Traefik слушает события Docker. Как только ты пишешь
docker compose up -d для нового проекта, Traefik видит его метки, создает маршрут и генерирует SSL. Ты вообще не заходишь в настройки самого прокси.— Метрики и мониторинг: Из коробки доступна интеграция с Prometheus и Grafana, а также встроенный чистый веб-дашборд, где виден статус всех маршрутов.
— Мощные Middleware: Прямо в конфиге контейнера можно настроить редиректы, ограничение частоты запросов (Rate Limiting), базовую авторизацию или сжатие трафика.
— Поддержка современных протоколов: HTTP/3, gRPC и Websockets работают идеально без костылей в настройках.
Как это выглядит в коде?
Сначала мы поднимаем сам Traefik, а затем любой наш сервис (например, бэкенд на Python) запускается с такими метками:
# Пример меток в docker-compose.yml твоего приложения
services:
my-api:
image: python-backend:latest
networks:
- traefik-public
labels:
- "traefik.enable=true"
# Указываем домен для этого контейнера
- "traefik.http.routers.myapi.rule=Host(`api.myproject.com`)"
# Включаем автоматический HTTPS
- "traefik.http.routers.myapi.entrypoints=websecure"
- "traefik.http.routers.myapi.tls.certresolver=myresolver"
Кому это нужно?
— Разработчикам, которые часто поднимают и тушат тестовые окружения (staging) и хотят, чтобы они сразу были доступны по красивым HTTPS-адресам.
— Тем, кто строит CI/CD пайплайны и хочет полной автоматизации деплоя без ручной правки инфраструктурных конфигов.
Совет: Никогда не выставляй сокет Docker (
/var/run/docker.sock) наружу в интернет через Traefik. Для максимальной безопасности используй легковесный контейнер-прослойку вроде Tecnativa Docker Socket Proxy, который разрешит Traefik только читать события Docker (доступ на Security Read-Only) и заблокирует любые попытки изменить состояние хоста.🔥 — если за полную автоматизацию и labels-стиль
🤝 — если привычнее править конфиги или кликать в UI админке
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
🐳 Watchtower: Автоматическое обновление Docker-контейнеров на лету
Когда у тебя на сервере крутится десяток сервисов, проверять обновления для каждого образа вручную — это адски скучно. Ты либо забываешь про апдейты, либо тратишь время на цепочку команд
Задача:
— Держать все приложения на сервере в актуальном состоянии.
— Автоматически скачивать новые образы и перезапускать контейнеры с сохранением всех настроек (портов, вольюмов, сетей).
— Избавиться от рутины ручного обслуживания инфраструктуры.
Решение:
Мы запускаем Watchtower в виде отдельного контейнера. Он подключается к сокету Docker, мониторит запущенные сервисы и обновляет их без твоего участия.
Почему это маст-хэв для автоматизации?
— Автономность: Настроил один раз, и твои приложения всегда защищены последними патчами безопасности.
— Умный перезапуск: Watchtower корректно останавливает старый контейнер и запускает новый с абсолютно теми же параметрами окружения (env, volumes, ports), что были изначально.
— Очистка мусора: С флагом
— Уведомления: Можно настроить отправку логов в Telegram, Discord или Slack, чтобы всегда знать, какие сервисы обновились за ночь.
Как запустить через Docker Compose?
Кому это нужно?
— Разработчикам, у которых есть стейджинг-сервер, куда нужно автоматически доставлять свежие сборки приложения сразу после пуша в Docker Hub.
— Владельцам домашних лабораторий, которые хотят тратить время на настройку новых штук, а не на рутинный апдейт старых.
Совет: Если ты не хочешь, чтобы Watchtower обновлял абсолютно всё подряд (например, критически важную базу данных, где мажорный апдейт может всё сломать), добавь к этой базе метку
🔥 — если за автоматические апдейты и свежий софт
🤝 — если обновляешь всё руками и только по праздникам
Когда у тебя на сервере крутится десяток сервисов, проверять обновления для каждого образа вручную — это адски скучно. Ты либо забываешь про апдейты, либо тратишь время на цепочку команд
pull, stop, rm и up. Watchtower полностью автоматизирует этот процесс: он сам проверяет Docker Hub или любой другой реджистри и бесшовно обновляет контейнеры до свежих версий.Задача:
— Держать все приложения на сервере в актуальном состоянии.
— Автоматически скачивать новые образы и перезапускать контейнеры с сохранением всех настроек (портов, вольюмов, сетей).
— Избавиться от рутины ручного обслуживания инфраструктуры.
Решение:
Мы запускаем Watchtower в виде отдельного контейнера. Он подключается к сокету Docker, мониторит запущенные сервисы и обновляет их без твоего участия.
Почему это маст-хэв для автоматизации?
— Автономность: Настроил один раз, и твои приложения всегда защищены последними патчами безопасности.
— Умный перезапуск: Watchtower корректно останавливает старый контейнер и запускает новый с абсолютно теми же параметрами окружения (env, volumes, ports), что были изначально.
— Очистка мусора: С флагом
--cleanup он автоматически удаляет старые образы после обновления, чтобы они не забивали диск сервера.— Уведомления: Можно настроить отправку логов в Telegram, Discord или Slack, чтобы всегда знать, какие сервисы обновились за ночь.
Как запустить через Docker Compose?
# docker-compose.yml
services:
watchtower:
image: containrrr/watchtower:latest
container_name: watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Доступ к управлению Docker
environment:
- WATCHTOWER_CLEANUP=true # Удалять старые образы после апдейта
- WATCHTOWER_POLL_INTERVAL=86400 # Проверка раз в сутки (в секундах)
Кому это нужно?
— Разработчикам, у которых есть стейджинг-сервер, куда нужно автоматически доставлять свежие сборки приложения сразу после пуша в Docker Hub.
— Владельцам домашних лабораторий, которые хотят тратить время на настройку новых штук, а не на рутинный апдейт старых.
Совет: Если ты не хочешь, чтобы Watchtower обновлял абсолютно всё подряд (например, критически важную базу данных, где мажорный апдейт может всё сломать), добавь к этой базе метку
com.centurylinklabs.watchtower.enable=false. Watchtower увидит её и будет обходить этот контейнер стороной.🔥 — если за автоматические апдейты и свежий софт
🤝 — если обновляешь всё руками и только по праздникам
🔥1
🧪 Uptime Kuma: Твой личный и красивый мониторинг доступности сервисов
Запустил проект, ушел спать, а ночью база данных упала, и пользователи видят ошибку 500. Узнавать об этом из гневных сообщений в поддержке — худший сценарий. Uptime Kuma — это стильный, легкий и мощный инструмент мониторинга, который проверяет твои сайты и контейнеры каждые несколько секунд и сразу бьет тревогу, если что-то пошло не так.
Задача:
— Контролировать доступность сайтов, API, баз данных и пинговать серверы.
— Мгновенно узнавать о падении сервисов в Telegram, Discord или по почте.
— Видеть красивую статистику аптайма (времени работы) и задержки ответа (ping) на графиках.
Решение:
Разворачиваем один легковесный контейнер. Настройка занимает пару минут через чистый веб-интерфейс, который выглядит не хуже дорогих коммерческих аналогов.
Почему это маст-хэв?
— Универсальность: Утилита умеет проверять не только обычные HTTP(S) сайты. Она поддерживает мониторинг портов (TCP), запросы к базам данных, DNS-записи, Docker-контейнеры и даже Push-уведомления от твоих скриптов (если скрипт не прислал сигнал вовремя — значит, он завис).
— Уведомления везде: Из коробки доступно более 90 способов отправки алертов. Настройка интеграции с Telegram-ботом занимает ровно 20 секунд.
— Статус-страницы: Можно создать публичную или приватную страницу со списком твоих сервисов. Её можно показать клиентам или команде, чтобы все видели текущий статус платформы без доступа к админке.
— Никаких облаков: Все данные хранятся локально в компактной базе SQLite, проект абсолютно бесплатен и не имеет ограничений на количество проверяемых URL.
Как запустить через Docker Compose?
Кому это нужно?
— Разработчикам, которые поддерживают клиентские сайты или свои собственные пет-проекты.
— Системным администраторам для контроля сетевой инфраструктуры.
— Владельцам хостинга или домашних серверов.
Совет: Настраивай проверку критически важных сервисов с интервалом в 30–60 секунд и выставляй параметр "Retries" (количество попыток) на 2–3. Это убережет тебя от ложных ночных уведомлений, если на сервере просто на пару мгновений моргнул сетевой маршрут.
🔥 — если держишь руку на пульсе своих серверов
🤝 — если узнаешь о падении сайта только от пользователей
➡️ GitHub Ready | #урок
Запустил проект, ушел спать, а ночью база данных упала, и пользователи видят ошибку 500. Узнавать об этом из гневных сообщений в поддержке — худший сценарий. Uptime Kuma — это стильный, легкий и мощный инструмент мониторинга, который проверяет твои сайты и контейнеры каждые несколько секунд и сразу бьет тревогу, если что-то пошло не так.
Задача:
— Контролировать доступность сайтов, API, баз данных и пинговать серверы.
— Мгновенно узнавать о падении сервисов в Telegram, Discord или по почте.
— Видеть красивую статистику аптайма (времени работы) и задержки ответа (ping) на графиках.
Решение:
Разворачиваем один легковесный контейнер. Настройка занимает пару минут через чистый веб-интерфейс, который выглядит не хуже дорогих коммерческих аналогов.
Почему это маст-хэв?
— Универсальность: Утилита умеет проверять не только обычные HTTP(S) сайты. Она поддерживает мониторинг портов (TCP), запросы к базам данных, DNS-записи, Docker-контейнеры и даже Push-уведомления от твоих скриптов (если скрипт не прислал сигнал вовремя — значит, он завис).
— Уведомления везде: Из коробки доступно более 90 способов отправки алертов. Настройка интеграции с Telegram-ботом занимает ровно 20 секунд.
— Статус-страницы: Можно создать публичную или приватную страницу со списком твоих сервисов. Её можно показать клиентам или команде, чтобы все видели текущий статус платформы без доступа к админке.
— Никаких облаков: Все данные хранятся локально в компактной базе SQLite, проект абсолютно бесплатен и не имеет ограничений на количество проверяемых URL.
Как запустить через Docker Compose?
# docker-compose.yml
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
volumes:
- ./uptime-kuma-data:/app/data
ports:
- 3001:3001
restart: always
Кому это нужно?
— Разработчикам, которые поддерживают клиентские сайты или свои собственные пет-проекты.
— Системным администраторам для контроля сетевой инфраструктуры.
— Владельцам хостинга или домашних серверов.
Совет: Настраивай проверку критически важных сервисов с интервалом в 30–60 секунд и выставляй параметр "Retries" (количество попыток) на 2–3. Это убережет тебя от ложных ночных уведомлений, если на сервере просто на пару мгновений моргнул сетевой маршрут.
🔥 — если держишь руку на пульсе своих серверов
🤝 — если узнаешь о падении сайта только от пользователей
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
📝 Stirling-PDF: Твой личный и приватный веб-редактор PDF без подписок
Каждый раз, когда нужно объединить два PDF-файла, сжать документ для госуслуг или распознать текст со скана (OCR), приходится либо идти на сомнительные онлайн-сервисы и сливать туда свои документы, либо покупать тяжелый софт. Stirling-PDF — это полноценный швейцарский нож для работы с PDF, который работает прямо в браузере и крутится локально на твоем сервере.
Задача:
— Редактировать, объединять, разрезать и конвертировать PDF-документы.
— Распознавать текст со сканов и картинок (OCR) на десятках языков.
— Сжимать файлы, снимать пароли и ставить водяные знаки без отправки данных в сторонние облака.
Решение:
Разворачиваем один контейнер Stirling-PDF. Проект написан на Java, работает быстро и предоставляет чистый, современный интерфейс со всеми возможными утилитами на главном экране.
Почему это маст-хэв в 2026 году?
— 100% приватность: Все операции с файлами происходят внутри твоего контейнера. Никакие данные не улетают на чужие серверы, что критично для договоров, сканов паспортов и финансовых отчетов.
— Огромный функционал: Умеет конвертировать PDF в Word/Excel/PowerPoint и обратно, добавлять подписи, генерировать изображения из страниц, чистить метаданные и даже выравнивать перекошенные сканы.
— Полноценный OCR: Благодаря интеграции с Tesseract, инструмент намертво вшивает текстовый слой в отсканированные документы, делая их доступными для поиска.
— Легковесность и кастомизация: Можно настроить авторизацию для нескольких пользователей, изменить внешний вид панели и убрать ненужные инструменты из меню.
Как запустить через Docker Compose?
Кому это нужно?
— Студентам для сборки дипломов, чертежей и курсовых из разных кусков и сканов.
— Фрилансерам и разработчикам для быстрой подготовки документов и договоров.
— Всем, кто устал от лимитов и рекламы на бесплатных сайтах-конвертерах.
Совет: Если тебе часто приходится распознавать русскоязычный текст, обязательно скачай файл
🔥 — если за приватность и локальные инструменты
🤝 — если продолжаешь гуглить «объединить pdf онлайн»
➡️ GitHub Ready | #урок
Каждый раз, когда нужно объединить два PDF-файла, сжать документ для госуслуг или распознать текст со скана (OCR), приходится либо идти на сомнительные онлайн-сервисы и сливать туда свои документы, либо покупать тяжелый софт. Stirling-PDF — это полноценный швейцарский нож для работы с PDF, который работает прямо в браузере и крутится локально на твоем сервере.
Задача:
— Редактировать, объединять, разрезать и конвертировать PDF-документы.
— Распознавать текст со сканов и картинок (OCR) на десятках языков.
— Сжимать файлы, снимать пароли и ставить водяные знаки без отправки данных в сторонние облака.
Решение:
Разворачиваем один контейнер Stirling-PDF. Проект написан на Java, работает быстро и предоставляет чистый, современный интерфейс со всеми возможными утилитами на главном экране.
Почему это маст-хэв в 2026 году?
— 100% приватность: Все операции с файлами происходят внутри твоего контейнера. Никакие данные не улетают на чужие серверы, что критично для договоров, сканов паспортов и финансовых отчетов.
— Огромный функционал: Умеет конвертировать PDF в Word/Excel/PowerPoint и обратно, добавлять подписи, генерировать изображения из страниц, чистить метаданные и даже выравнивать перекошенные сканы.
— Полноценный OCR: Благодаря интеграции с Tesseract, инструмент намертво вшивает текстовый слой в отсканированные документы, делая их доступными для поиска.
— Легковесность и кастомизация: Можно настроить авторизацию для нескольких пользователей, изменить внешний вид панели и убрать ненужные инструменты из меню.
Как запустить через Docker Compose?
# docker-compose.yml
services:
stirling-pdf:
image: frooodle/s-pdf:latest
container_name: stirling-pdf
ports:
- '8080:8080'
volumes:
- ./trainingData:/usr/share/tessdata # Для языковых пакетов OCR
- ./extraConfigs:/configs
environment:
- DOCKER_ENABLE_SECURITY=false # Включи true, если нужна авторизация
- LANGS=ru_RU,en_US # Языки интерфейса и OCR
restart: unless-stopped
Кому это нужно?
— Студентам для сборки дипломов, чертежей и курсовых из разных кусков и сканов.
— Фрилансерам и разработчикам для быстрой подготовки документов и договоров.
— Всем, кто устал от лимитов и рекламы на бесплатных сайтах-конвертерах.
Совет: Если тебе часто приходится распознавать русскоязычный текст, обязательно скачай файл
rus.traineddata с гитхаба Tesseract и закинь его в примонтированную папку tessdata. Это поднимет точность распознавания сканов практически до идеала.🔥 — если за приватность и локальные инструменты
🤝 — если продолжаешь гуглить «объединить pdf онлайн»
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤1
🐳 Dozzle: Простой и реактивный просмотр логов Docker в реальном времени
Когда на сервере что-то идет не так, первое, что ты делаешь — открываешь терминал и пишешь
Задача:
— Читать логи Docker-контейнеров в реальном времени без SSH и терминала.
— Мгновенно искать нужные ошибки и варнинги по ключевым словам.
— Иметь под рукой легкую админку, которая не грузит процессор и память сервера.
Решение:
Разворачиваем Dozzle рядом со своими сервисами. Он не использует базы данных и не сохраняет логи к себе — он просто подключается к сокету Docker и транслирует то, что происходит прямо сейчас.
Почему это круче тяжелых систем логирования?
— Легче некуда: Написан на Go. Потребляет всего пару мегабайт оперативной памяти и запускается за доли секунды.
— Живой поиск и фильтрация: Можно искать по регулярным выражениям, фильтровать логи конкретного контейнера или искать текст сразу по всем запущенным сервисам.
— Удобство UI: Поддерживает умный скроллинг, темную тему, автопрокрутку и позволяет скачать полный лог-файл в один клик.
— Никаких сложных настроек: Инструмент сам находит все запущенные на хосте контейнеры. Тебе не нужно регистрировать их в конфигах.
Как запустить через Docker Compose?
Кому это нужно?
— Разработчикам для быстрой отладки приложений (бэкенда, очередей, баз данных) на тестовом сервере.
— Всем, кому надоело открывать консоль ради простой проверки
Совет: По умолчанию Dozzle открывает доступ к логам всем, кто знает порт. Если ты выводишь его в интернет (например, через Nginx Proxy Manager), обязательно закрой его паролем с помощью встроенной в Dozzle авторизации (через переменные окружения
🔥 — если за быстрый дебаг через браузер
🤝 — если
➡️ GitHub Ready | #Уроки
Когда на сервере что-то идет не так, первое, что ты делаешь — открываешь терминал и пишешь
docker logs -f имя_контейнера. Но если контейнеров много, переключаться между ними в консоли и вчитываться в бесконечные строки логов становится неудобно. Dozzle — это ультралегкий и быстрый инструмент, который выводит логи всех твоих контейнеров в красивый веб-интерфейс прямо в браузере.Задача:
— Читать логи Docker-контейнеров в реальном времени без SSH и терминала.
— Мгновенно искать нужные ошибки и варнинги по ключевым словам.
— Иметь под рукой легкую админку, которая не грузит процессор и память сервера.
Решение:
Разворачиваем Dozzle рядом со своими сервисами. Он не использует базы данных и не сохраняет логи к себе — он просто подключается к сокету Docker и транслирует то, что происходит прямо сейчас.
Почему это круче тяжелых систем логирования?
— Легче некуда: Написан на Go. Потребляет всего пару мегабайт оперативной памяти и запускается за доли секунды.
— Живой поиск и фильтрация: Можно искать по регулярным выражениям, фильтровать логи конкретного контейнера или искать текст сразу по всем запущенным сервисам.
— Удобство UI: Поддерживает умный скроллинг, темную тему, автопрокрутку и позволяет скачать полный лог-файл в один клик.
— Никаких сложных настроек: Инструмент сам находит все запущенные на хосте контейнеры. Тебе не нужно регистрировать их в конфигах.
Как запустить через Docker Compose?
# docker-compose.yml
services:
dozzle:
image: amir20/dozzle:latest
container_name: dozzle
ports:
- 8888:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro # Доступ к логам в режиме Read-Only
restart: unless-stopped
Кому это нужно?
— Разработчикам для быстрой отладки приложений (бэкенда, очередей, баз данных) на тестовом сервере.
— Всем, кому надоело открывать консоль ради простой проверки
print() или трейсбеков в коде.Совет: По умолчанию Dozzle открывает доступ к логам всем, кто знает порт. Если ты выводишь его в интернет (например, через Nginx Proxy Manager), обязательно закрой его паролем с помощью встроенной в Dozzle авторизации (через переменные окружения
DOZZLE_USERNAME и DOZZLE_PASSWORD) или средствами самого прокси-сервера.🔥 — если за быстрый дебаг через браузер
🤝 — если
docker logs --tail 100 — твой лучший другPlease open Telegram to view this post
VIEW IN TELEGRAM
🔥3