🛡 Distroless: Как сделать образ, который невозможно взломать?
Если тебе кажется, что Alpine (5 МБ) — это предел, то познакомься с Distroless от Google. Это образы, в которых нет вообще ничего: ни оболочки (sh/bash), ни пакетного менеджера, ни даже команды
Задача:
— Уменьшить размер образа до абсолютного минимума.
— Максимально защитить сервер: если хакер попадет внутрь контейнера, он не сможет выполнить ни одной команды, так как терминала просто не существует.
Решение:
Используем Multi-stage билд, но в качестве финального образа берем
Почему это киллер-фича?
— Безопасность: В обычном образе хакер может скачать вредоносный скрипт через
— Вес: Образ становится еще легче, так как вырезаны все системные библиотеки, не нужные для работы Node.js, Python или Java.
— Скорость: Чем меньше слоев и файлов, тем быстрее образ проверяется сканерами безопасности и разворачивается в кластере.
Результат:
Твое приложение работает в стерильной среде. Это золотой стандарт для крупных финтех-компаний и проектов с высокими требованиями к безопасности.
Совет: Если тебе всё же нужно «зайти» внутрь такого контейнера для отладки, используй временные контейнеры (Ephemeral Containers) в Kubernetes или специальные инструменты отладки, так как обычный
🔥 — если безопасность на первом месте
🤝 — если важнее иметь возможность зайти в контейнер и «посмотреть, что там»
➡️ GitHub Ready | #урок
Если тебе кажется, что Alpine (5 МБ) — это предел, то познакомься с Distroless от Google. Это образы, в которых нет вообще ничего: ни оболочки (sh/bash), ни пакетного менеджера, ни даже команды
ls или cd. Только твое приложение и его зависимости.Задача:
— Уменьшить размер образа до абсолютного минимума.
— Максимально защитить сервер: если хакер попадет внутрь контейнера, он не сможет выполнить ни одной команды, так как терминала просто не существует.
Решение:
Используем Multi-stage билд, но в качестве финального образа берем
gcr.io/distroless.# Этап 1: Сборка проекта
FROM node:20 AS builder
WORKDIR /app
COPY . .
RUN npm install && npm run build
# Этап 2: Финальный защищенный образ
FROM gcr.io/distroless/nodejs20-debian12
COPY --from=builder /app /app
WORKDIR /app
CMD ["dist/main.js"]
Почему это киллер-фича?
— Безопасность: В обычном образе хакер может скачать вредоносный скрипт через
curl или wget. В Distroless этих утилит нет. Там нет даже rm, чтобы замести следы.— Вес: Образ становится еще легче, так как вырезаны все системные библиотеки, не нужные для работы Node.js, Python или Java.
— Скорость: Чем меньше слоев и файлов, тем быстрее образ проверяется сканерами безопасности и разворачивается в кластере.
Результат:
Твое приложение работает в стерильной среде. Это золотой стандарт для крупных финтех-компаний и проектов с высокими требованиями к безопасности.
Совет: Если тебе всё же нужно «зайти» внутрь такого контейнера для отладки, используй временные контейнеры (Ephemeral Containers) в Kubernetes или специальные инструменты отладки, так как обычный
docker exec -it ... sh выдаст ошибку.🔥 — если безопасность на первом месте
🤝 — если важнее иметь возможность зайти в контейнер и «посмотреть, что там»
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4
🔔 Uptime Kuma: Как узнать о падении сервиса раньше пользователей?
Нет ничего хуже, чем узнать о том, что твой проект "лежит", из гневных сообщений в личке. Чтобы не проверять сайт каждые пять минут вручную, разработчики ставят Uptime Kuma — это стильный и бесплатный self-hosted мониторинг, который сделает всё за тебя.
Задача:
— Круглосуточно следить за доступностью сайтов, контейнеров и баз данных.
— Получать мгновенные уведомления в Telegram, Discord или Slack, если что-то сломалось.
— Видеть красивую статистику аптайма и времени отклика (пинг).
Решение:
Разворачиваем одну из самых популярных опенсорс-панелей мониторинга за пару минут через Docker.
Что она умеет?
— Разные типы проверок: HTTP(s), TCP, Ping, DNS, и даже проверка срока действия SSL-сертификата (она напомнит, когда пора его продлевать).
— Уведомления: Поддерживает более 90 сервисов. Самый простой вариант — создать бота в Telegram и вставить его токен.
— Status Page: Можно создать публичную страницу (как у больших сервисов), чтобы пользователи сами видели: сейчас идут технические работы или всё "зеленое".
— Proxy-поддержка: Легко работает за Nginx или Traefik.
Почему это лучше внешних сервисов?
— Бесплатно: Никаких лимитов на количество проверяемых сайтов или частоту запросов.
— Приватность: Все данные о твоих серверах хранятся только у тебя.
— Скорость: Ты можешь проверять локальные сервисы внутри своей сети, которые не видны из интернета.
Совет: Установи интервал проверки в 60 секунд. Этого достаточно, чтобы оперативно среагировать на проблему и при этом не создавать лишнюю нагрузку на сервер постоянными запросами.
🔥 — если следишь за каждым процентом аптайма
🤝 — если узнаешь о падении только от клиентов
➡️ GitHub Ready | #урок
Нет ничего хуже, чем узнать о том, что твой проект "лежит", из гневных сообщений в личке. Чтобы не проверять сайт каждые пять минут вручную, разработчики ставят Uptime Kuma — это стильный и бесплатный self-hosted мониторинг, который сделает всё за тебя.
Задача:
— Круглосуточно следить за доступностью сайтов, контейнеров и баз данных.
— Получать мгновенные уведомления в Telegram, Discord или Slack, если что-то сломалось.
— Видеть красивую статистику аптайма и времени отклика (пинг).
Решение:
Разворачиваем одну из самых популярных опенсорс-панелей мониторинга за пару минут через Docker.
# Запуск Uptime Kuma в Docker
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
Что она умеет?
— Разные типы проверок: HTTP(s), TCP, Ping, DNS, и даже проверка срока действия SSL-сертификата (она напомнит, когда пора его продлевать).
— Уведомления: Поддерживает более 90 сервисов. Самый простой вариант — создать бота в Telegram и вставить его токен.
— Status Page: Можно создать публичную страницу (как у больших сервисов), чтобы пользователи сами видели: сейчас идут технические работы или всё "зеленое".
— Proxy-поддержка: Легко работает за Nginx или Traefik.
Почему это лучше внешних сервисов?
— Бесплатно: Никаких лимитов на количество проверяемых сайтов или частоту запросов.
— Приватность: Все данные о твоих серверах хранятся только у тебя.
— Скорость: Ты можешь проверять локальные сервисы внутри своей сети, которые не видны из интернета.
Совет: Установи интервал проверки в 60 секунд. Этого достаточно, чтобы оперативно среагировать на проблему и при этом не создавать лишнюю нагрузку на сервер постоянными запросами.
🔥 — если следишь за каждым процентом аптайма
🤝 — если узнаешь о падении только от клиентов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
📜 Dozzle: Как читать логи всех контейнеров в одном окне?
Когда у тебя запущено много сервисов, прыгать между ними через
Задача:
— Видеть логи всех контейнеров в реальном времени в одном месте.
— Иметь возможность быстрого поиска по тексту во всех логах сразу.
— Не нагружать сервер тяжелыми системами вроде ELK (Elasticsearch, Logstash, Kibana).
Решение:
Dozzle — это крошечный сервис, который подключается к Docker-сокету и выводит всё в удобный UI.
Почему это удобно?
— Интеллектуальный поиск: ты можешь мгновенно отфильтровать логи по ключевому слову (например,
— Никакой базы данных: Dozzle не хранит логи на диске, он просто транслирует их. Это значит, что он практически не потребляет ресурсы сервера.
— Живой поток: логи подгружаются мгновенно без перезагрузки страницы.
— Простота: не нужно ничего настраивать в самих контейнерах — Dozzle сам подхватит всё, что запущено на хосте.
Кому это нужно?
— Если у тебя небольшой сервер или домашняя лаборатория.
— Если тебе нужно быстро "дебажить" связку из фронтенда, бэкенда и базы данных одновременно.
— Если ты не хочешь тратить часы на настройку профессиональных систем сбора логов.
Совет: Если ты выставляешь Dozzle в интернет, обязательно закрой его паролем через Reverse Proxy (например, Nginx или Traefik), так как в логах могут проскакивать конфиденциальные данные.
🔥 — если любишь чистоту и порядок в логах
🤝 — если по-прежнему грепаешь текстовые файлы в
➡️ GitHub Ready | #урок
Когда у тебя запущено много сервисов, прыгать между ними через
docker logs становится мучительно. Если Lazydocker хорош для терминала, то Dozzle — это идеальный веб-интерфейс для тех, кто хочет просто и быстро просматривать логи через браузер.Задача:
— Видеть логи всех контейнеров в реальном времени в одном месте.
— Иметь возможность быстрого поиска по тексту во всех логах сразу.
— Не нагружать сервер тяжелыми системами вроде ELK (Elasticsearch, Logstash, Kibana).
Решение:
Dozzle — это крошечный сервис, который подключается к Docker-сокету и выводит всё в удобный UI.
# Запуск Dozzle за одну секунду
docker run -d --name dozzle -p 8888:8080 -v /var/run/docker.sock:/var/run/docker.sock amir20/dozzle:latest
Почему это удобно?
— Интеллектуальный поиск: ты можешь мгновенно отфильтровать логи по ключевому слову (например,
Error или Timeout) сразу по всем запущенным контейнерам.— Никакой базы данных: Dozzle не хранит логи на диске, он просто транслирует их. Это значит, что он практически не потребляет ресурсы сервера.
— Живой поток: логи подгружаются мгновенно без перезагрузки страницы.
— Простота: не нужно ничего настраивать в самих контейнерах — Dozzle сам подхватит всё, что запущено на хосте.
Кому это нужно?
— Если у тебя небольшой сервер или домашняя лаборатория.
— Если тебе нужно быстро "дебажить" связку из фронтенда, бэкенда и базы данных одновременно.
— Если ты не хочешь тратить часы на настройку профессиональных систем сбора логов.
Совет: Если ты выставляешь Dozzle в интернет, обязательно закрой его паролем через Reverse Proxy (например, Nginx или Traefik), так как в логах могут проскакивать конфиденциальные данные.
🔥 — если любишь чистоту и порядок в логах
🤝 — если по-прежнему грепаешь текстовые файлы в
/var/lib/docker/containersPlease open Telegram to view this post
VIEW IN TELEGRAM
🔥2
200 тыс.₽ сейчас РЕАЛЬНО базовый минимум ⏺️
Который нужен для комфортной жизни в любом месте⤵️
Не знаешь, где словить такой куш?
Удаленка в долларах💸 — канал для профи из СНГ с вакансиями в стабильной валюте.
IT, маркетинг, дизайн, крипта: ты точно в этом разбираешься
Осталось только начать нормально зарабатывать!
15+ актуальных вакансий за сегодня уже в канале:
https://t.me/+qoCsrhInumQyN2Ni🔗
Который нужен для комфортной жизни в любом месте
Не знаешь, где словить такой куш?
Удаленка в долларах
IT, маркетинг, дизайн, крипта: ты точно в этом разбираешься
Осталось только начать нормально зарабатывать!
15+ актуальных вакансий за сегодня уже в канале:
https://t.me/+qoCsrhInumQyN2Ni
Please open Telegram to view this post
VIEW IN TELEGRAM
👎3
🤖 Watchtower: Как забыть об обновлении Docker-контейнеров?
Обновление контейнеров вручную — это рутина: нужно зайти на сервер, сделать
Задача:
— Всегда иметь актуальные версии софта и патчи безопасности.
— Автоматизировать процесс обновления без участия человека.
— Избежать простоев из-за ручного переповтора команд.
Решение:
Запускаем один контейнер Watchtower, который будет мониторить все остальные.
Почему это удобно?
— Полная автономия: он сам проверяет наличие обновлений, скачивает их и перезапускает контейнер с теми же параметрами (те же порты, вольюмы и сети).
— Очистка мусора: с флагом
— Выборочность: если ты не хочешь обновлять какой-то конкретный сервис (например, базу данных, где важна стабильность), просто добавь ему лейбл
— Уведомления: Watchtower может присылать отчеты об обновлениях прямо в Telegram.
Кому это нужно?
— Владельцам домашних серверов и небольших медиа-станций.
— Разработчикам для стейджинг-окружений, чтобы там всегда был свежий код из мастера.
— Тем, кто ценит безопасность и не хочет пропускать критические патчи библиотек.
Совет: Будь осторожен с обновлением баз данных (PostgreSQL, MySQL) в автоматическом режиме. Мажорные версии (например, с 15 на 16) могут требовать миграции данных, поэтому для них автообновление лучше отключать.
🔥 — если за полную автоматизацию
🤝 — если предпочитаешь обновлять всё под своим контролем
➡️ GitHub Ready | #урок
Обновление контейнеров вручную — это рутина: нужно зайти на сервер, сделать
docker pull, остановить старый контейнер и запустить новый. В 2026 году это делает Watchtower. Он следит за выходом новых версий твоих образов в Docker Hub или другом реестре и сам перезапускает сервисы.Задача:
— Всегда иметь актуальные версии софта и патчи безопасности.
— Автоматизировать процесс обновления без участия человека.
— Избежать простоев из-за ручного переповтора команд.
Решение:
Запускаем один контейнер Watchtower, который будет мониторить все остальные.
# Запуск Watchtower для автоматического обновления всех контейнеров
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower
Почему это удобно?
— Полная автономия: он сам проверяет наличие обновлений, скачивает их и перезапускает контейнер с теми же параметрами (те же порты, вольюмы и сети).
— Очистка мусора: с флагом
--cleanup он удаляет старые образы после обновления, чтобы они не занимали место на диске.— Выборочность: если ты не хочешь обновлять какой-то конкретный сервис (например, базу данных, где важна стабильность), просто добавь ему лейбл
com.centurylinklabs.watchtower.enable=false.— Уведомления: Watchtower может присылать отчеты об обновлениях прямо в Telegram.
Кому это нужно?
— Владельцам домашних серверов и небольших медиа-станций.
— Разработчикам для стейджинг-окружений, чтобы там всегда был свежий код из мастера.
— Тем, кто ценит безопасность и не хочет пропускать критические патчи библиотек.
Совет: Будь осторожен с обновлением баз данных (PostgreSQL, MySQL) в автоматическом режиме. Мажорные версии (например, с 15 на 16) могут требовать миграции данных, поэтому для них автообновление лучше отключать.
🔥 — если за полную автоматизацию
🤝 — если предпочитаешь обновлять всё под своим контролем
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2
NtWARden
NtWARden — набор инструментов для анализа и исследования Windows
Инструмент инспекции системы Windows на базе ImGui + DirectX 11, поддерживает работу как в пользовательском режиме, так и в режиме ядра.
Позволяет перечислять внутренние структуры системы: процессы, сервисы, сетевые соединения, обратные вызовы ядра, SSDT, пулы ядра и т.д., а также включает встроенные функции анализа безопасности процессов (обнаружение шеллкода, выявление подмены модулей, детектирование перехватов системных вызовов и др.).
Cсылка на GitHub
➡️ GitHub Ready | #урок
NtWARden — набор инструментов для анализа и исследования Windows
Инструмент инспекции системы Windows на базе ImGui + DirectX 11, поддерживает работу как в пользовательском режиме, так и в режиме ядра.
Позволяет перечислять внутренние структуры системы: процессы, сервисы, сетевые соединения, обратные вызовы ядра, SSDT, пулы ядра и т.д., а также включает встроенные функции анализа безопасности процессов (обнаружение шеллкода, выявление подмены модулей, детектирование перехватов системных вызовов и др.).
Cсылка на GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
🌐 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
☁️ 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
🏠 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
🔥5
📁 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
Эти 70 летние бабки учат программировать в 1с?
Или тебе обещают золотые горы и трудоустройство после их курса?
Прикинь?! — Самый адекватный выбор.
Подпишись - @prikin_news
Please open Telegram to view this post
VIEW IN TELEGRAM
👎7😁1
🐳 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
🔥1