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
⚡ Nginx Proxy Manager: Идеальный веб-менеджер для твоих доменов и SSL
Если ты поднял на сервере несколько контейнеров (например, FastAPI-бэкенд, базу данных и пару утилит из прошлых постов), перед тобой встает вопрос: как сделать так, чтобы они открывались не по портам вроде
Задача:
— Привязать домены и субдомены (например,
— Автоматически выпустить бесплатные SSL-сертификаты Let's Encrypt и настроить их автопродление.
— Защитить админки сервисов с помощью базовой авторизации или ограничить доступ по IP.
Решение:
Разворачиваем стек из NPM. Мы получаем чистый и понятный веб-интерфейс, где добавление нового прокси-маршрута занимает ровно три клика.
Почему это маст-хэв?
— Все гениальное — просто: Тебе больше не нужно писать
— SSL в один клик: NPM сам связывается с Let's Encrypt, проходит проверку, выпускает сертификат и настраивает автоматический редирект с HTTP на безопасный HTTPS.
— Удобное управление: В одном окне видны все твои хосты, кастомные редиректы, 404-страницы и статус активных SSL-сертификатов.
— Безопасность (Access Lists): Можно прямо в панели создать список «Логин-Пароль» и повесить его, например, на админку Portainer или Dozzle, создав дополнительный рубеж обороны.
Как запустить через Docker Compose?
Кому это нужно?
— Разработчикам для быстрой организации полноценного продакшн-окружения с HTTPS.
— Всем, кто держит домашний сервер или VPS и хочет удобно управлять своими веб-ресурсами без боли в консоли.
Совет: Чтобы NPM мог перенаправлять трафик на другие твои контейнеры по их внутренним именам (например,
🔥 — если за удобный веб-интерфейс для проксирования
🤝 — если пишешь конфиги Nginx вручную через nano/vim
➡️ GitHub Ready | #Уроки
Если ты поднял на сервере несколько контейнеров (например, FastAPI-бэкенд, базу данных и пару утилит из прошлых постов), перед тобой встает вопрос: как сделать так, чтобы они открывались не по портам вроде
:8080 или :3001, а по красивым субдоменам с HTTPS? Nginx Proxy Manager (NPM) — это спасение для тех, кто не хочет вручную ковыряться в громоздких конфигурационных файлах Nginx.Задача:
— Привязать домены и субдомены (например,
api.myproject.com) к конкретным Docker-контейнерам.— Автоматически выпустить бесплатные SSL-сертификаты Let's Encrypt и настроить их автопродление.
— Защитить админки сервисов с помощью базовой авторизации или ограничить доступ по IP.
Решение:
Разворачиваем стек из NPM. Мы получаем чистый и понятный веб-интерфейс, где добавление нового прокси-маршрута занимает ровно три клика.
Почему это маст-хэв?
— Все гениальное — просто: Тебе больше не нужно писать
proxy_pass http://localhost:8000; в терминале. Ты просто вводишь имя домена, выбираешь контейнер и жмешь «Сохранить».— SSL в один клик: NPM сам связывается с Let's Encrypt, проходит проверку, выпускает сертификат и настраивает автоматический редирект с HTTP на безопасный HTTPS.
— Удобное управление: В одном окне видны все твои хосты, кастомные редиректы, 404-страницы и статус активных SSL-сертификатов.
— Безопасность (Access Lists): Можно прямо в панели создать список «Логин-Пароль» и повесить его, например, на админку Portainer или Dozzle, создав дополнительный рубеж обороны.
Как запустить через Docker Compose?
# docker-compose.yml
services:
npm:
image: 'jc21/nginx-proxy-manager:latest'
container_name: nginx-proxy-manager
restart: unless-stopped
ports:
- '80:80' # HTTP трафик
- '443:443' # HTTPS трафик
- '81:81' # Порт для входа в админку NPM
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
Кому это нужно?
— Разработчикам для быстрой организации полноценного продакшн-окружения с HTTPS.
— Всем, кто держит домашний сервер или VPS и хочет удобно управлять своими веб-ресурсами без боли в консоли.
Совет: Чтобы NPM мог перенаправлять трафик на другие твои контейнеры по их внутренним именам (например,
http://backend-api:8000), обязательно объедини NPM и твои приложения в одну общую Docker-сеть (network). Это избавит тебя от необходимости пробрасывать порты приложений на хост-машину наружу.🔥 — если за удобный веб-интерфейс для проксирования
🤝 — если пишешь конфиги Nginx вручную через nano/vim
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤1
⚡️Группа хакеров взломала сервера Skillbox, Geekbrains, Skillfactory и ещё 12 онлайн-школ, чтобы выгрузить их курсы в Telegram
Юристы пытаются удалить каналы за Авторские Права🤡 – потому вот актуальные ссылки на архивы:
По школам:
├ Skillbox (1.12 ТБ)
├ Нетология (846 ГБ)
├ SkillFactory (720 ГБ)
├ GeekBrains (934 ГБ)
└ Другие (3.21 ТБ)
По ЯП:
├ Python (1.48 ТБ)
├ SQL (982 ГБ)
├ C++ (590 ГБ)
├ С (318 ГБ)
├ GoLang (290 ГБ)
└ Другие (3.17 ТБ)
Ссылка на общий архив: @schools_hack_arc
Юристы пытаются удалить каналы за Авторские Права🤡 – потому вот актуальные ссылки на архивы:
По школам:
├ Skillbox (1.12 ТБ)
├ Нетология (846 ГБ)
├ SkillFactory (720 ГБ)
├ GeekBrains (934 ГБ)
└ Другие (3.21 ТБ)
По ЯП:
├ Python (1.48 ТБ)
├ SQL (982 ГБ)
├ C++ (590 ГБ)
├ С (318 ГБ)
├ GoLang (290 ГБ)
└ Другие (3.17 ТБ)
Ссылка на общий архив: @schools_hack_arc
😁10👎4
📊 Polars: Сверхбыстрая альтернатива Pandas на Rust для работы с данными
Если твой скрипт на Python начинает мучительно долго задумываться при обработке CSV-файлов или логов размером в пару гигабайт, пора менять инструмент. Polars — это современная библиотека для анализа данных, написанная на Rust, которая создана специально для эпохи многоядерных процессоров и больших объемов информации. Она работает в разы (а иногда и в сотни раз) быстрее классического Pandas.
Задача:
— Обрабатывать огромные датасеты, не упираясь в лимиты оперативной памяти.
— Эффективно утилизировать все ядра процессора при тяжелых операциях (группировки, джойны).
— Писать чистый, читаемый и поддерживаемый код для манипуляции данными.
Решение:
Polars уходит от старой архитектуры Pandas и использует под капотом Apache Arrow, ленивые (lazy) вычисления и глубокую оптимизацию запросов.
Почему это меняет правила игры?
— Многопоточность из коробки: Pandas по умолчанию работает в один поток. Polars написан на Rust и параллелит любые операции на все доступные ядра процессора без твоего участия.
— Ленивые вычисления (Lazy Evaluation): Вместо мгновенного выполнения каждой строчки кода, Polars может сначала построить граф запроса, оптимизировать его (например, выкинуть ненужные столбцы и отфильтровать строки *до* того, как загрузить весь файл в память) и только потом выдать результат.
— Экономия памяти: Благодаря эффективному внутреннему представлению данных, Polars потребляет гораздо меньше RAM и реже падает с ошибкой
— Привычный синтаксис: Переучиваться заново не придется — структура выражений очень логична и напоминает смесь SQL и чистого Python.
Как это выглядит в коде?
Кому это нужно?
— Разработчикам и дата-инженерам, которые пишут парсеры, аналитические скрипты или бэкенд-сервисы, работающие с тяжелыми отчетами.
— Всем, кто устал ждать по 5 минут, пока Pandas сожрет очередной массив данных.
Совет: Всегда начинай цепочку методов с
🔥 — если за скорость Rust в Python-скриптах
🤝 — если Pandas до сих пор хватает для мелких таблиц
➡️ GitHub Ready | #Уроки
Если твой скрипт на Python начинает мучительно долго задумываться при обработке CSV-файлов или логов размером в пару гигабайт, пора менять инструмент. Polars — это современная библиотека для анализа данных, написанная на Rust, которая создана специально для эпохи многоядерных процессоров и больших объемов информации. Она работает в разы (а иногда и в сотни раз) быстрее классического Pandas.
Задача:
— Обрабатывать огромные датасеты, не упираясь в лимиты оперативной памяти.
— Эффективно утилизировать все ядра процессора при тяжелых операциях (группировки, джойны).
— Писать чистый, читаемый и поддерживаемый код для манипуляции данными.
Решение:
Polars уходит от старой архитектуры Pandas и использует под капотом Apache Arrow, ленивые (lazy) вычисления и глубокую оптимизацию запросов.
Почему это меняет правила игры?
— Многопоточность из коробки: Pandas по умолчанию работает в один поток. Polars написан на Rust и параллелит любые операции на все доступные ядра процессора без твоего участия.
— Ленивые вычисления (Lazy Evaluation): Вместо мгновенного выполнения каждой строчки кода, Polars может сначала построить граф запроса, оптимизировать его (например, выкинуть ненужные столбцы и отфильтровать строки *до* того, как загрузить весь файл в память) и только потом выдать результат.
— Экономия памяти: Благодаря эффективному внутреннему представлению данных, Polars потребляет гораздо меньше RAM и реже падает с ошибкой
Out of Memory.— Привычный синтаксис: Переучиваться заново не придется — структура выражений очень логична и напоминает смесь SQL и чистого Python.
Как это выглядит в коде?
import polars as pl
# Используем ленивое чтение для экономии памяти
df = (
pl.scan_csv("huge_logs.csv")
.filter(pl.col("status_code") == 500)
.group_by("endpoint")
.agg(
pl.len().alias("errors_count"),
pl.col("response_time").mean().alias("avg_time")
)
.sort("errors_count", descending=True)
.limit(10)
.collect() # Вот только здесь запускаются вычисления
)
print(df)
Кому это нужно?
— Разработчикам и дата-инженерам, которые пишут парсеры, аналитические скрипты или бэкенд-сервисы, работающие с тяжелыми отчетами.
— Всем, кто устал ждать по 5 минут, пока Pandas сожрет очередной массив данных.
Совет: Всегда начинай цепочку методов с
pl.scan_csv() или pl.scan_parquet() вместо read_csv(). Именно префикс scan_ активирует ленивый режим (LazyFrame), который позволяет Polars применить всю магию оптимизации под капотом.🔥 — если за скорость Rust в Python-скриптах
🤝 — если Pandas до сих пор хватает для мелких таблиц
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
Не крипта, не мемкоины, не казино ❌
🥇 Твой пассивный доход должен строиться на понятных активах
А не на СКАМерских проектах-однодневках.
Notal 📈 — канал о том, как зарабатывать на автоматической торговле золотом и серебром без вечной жизни на графиках.
Начните с простого: получите БЕСПЛАТНУЮ версию робота с доходностью до 25% годовых. Без подписок. Без настроек.
🤖 SilentGain
Как возможны 25% годовых? Узнай⤵️
https://t.me/+SZaP3SGi1uZjNzYy
🥇 Твой пассивный доход должен строиться на понятных активах
А не на СКАМерских проектах-однодневках.
Notal 📈 — канал о том, как зарабатывать на автоматической торговле золотом и серебром без вечной жизни на графиках.
Начните с простого: получите БЕСПЛАТНУЮ версию робота с доходностью до 25% годовых. Без подписок. Без настроек.
🤖 SilentGain
Как возможны 25% годовых? Узнай⤵️
https://t.me/+SZaP3SGi1uZjNzYy
👎2👍1
🐳 Dive: Как заглянуть внутрь Docker-образа и выкинуть лишний мусор?
Когда ты собираешь Docker-образ для своего Python-приложения, он часто весит гораздо больше, чем ожидалось. Обычный
Задача:
— Увидеть структуру Docker-образа изнутри.
— Понять, какие файлы добавились, изменились или удалились на каждом шаге сборки (каждой строчке
— Найти неэффективно используемое пространство и уменьшить размер финального билда.
Решение:
Ты запускаешь одну команду, и терминал превращается в двухпанельный менеджер: слева — список слоев, справа — файловая система этого слоя.
Почему это маст-хэв для оптимизации?
— Пошаговый анализ: Перемещаясь стрелочками по слоям слева, ты видишь, как менялся состав файлов справа. Добавленные файлы подсвечиваются зеленым, измененные — желтым, удаленные — красным.
— Коэффициент эффективности (Image Efficiency): Dive автоматически сканирует образ и выдает оценку в процентах. Он сразу подсвечивает "мусор" (wasted space) — например, файлы, которые были созданы в одном слое, а затем удалены в следующем (в Docker они все равно занимают место!).
— Быстрый поиск: Можно мгновенно отфильтровать только измененные файлы, чтобы понять, какая именно команда
— Интеграция в CI: Инструмент можно запускать в режиме проверки (
Как пользоваться?
Установка не нужна, можно запустить утилиту прямо через сам Docker:
Кому это нужно?
— Разработчикам, которые хотят довести свои
— DevOps-инженерам, сражающимся за скорость деплоя и свободное место в Docker Registry.
Совет: Если ты видишь много "красных" (удаленных) файлов, которые все равно занимают место в кэше слоев, объединяй команды в
🔥 — если вычищаешь образы до минимального размера
🤝 — если гигабайтные образы на сервере тебя не пугают
➡️ GitHub Ready | #Уроки
Когда ты собираешь Docker-образ для своего Python-приложения, он часто весит гораздо больше, чем ожидалось. Обычный
docker images показывает только итоговый размер, но не дает понять, какой именно слой сожрал всю память. Dive — это крутейший TUI-инструмент для терминала, который позволяет буквально "разобрать" любой образ по слоям.Задача:
— Увидеть структуру Docker-образа изнутри.
— Понять, какие файлы добавились, изменились или удалились на каждом шаге сборки (каждой строчке
Dockerfile).— Найти неэффективно используемое пространство и уменьшить размер финального билда.
Решение:
Ты запускаешь одну команду, и терминал превращается в двухпанельный менеджер: слева — список слоев, справа — файловая система этого слоя.
Почему это маст-хэв для оптимизации?
— Пошаговый анализ: Перемещаясь стрелочками по слоям слева, ты видишь, как менялся состав файлов справа. Добавленные файлы подсвечиваются зеленым, измененные — желтым, удаленные — красным.
— Коэффициент эффективности (Image Efficiency): Dive автоматически сканирует образ и выдает оценку в процентах. Он сразу подсвечивает "мусор" (wasted space) — например, файлы, которые были созданы в одном слое, а затем удалены в следующем (в Docker они все равно занимают место!).
— Быстрый поиск: Можно мгновенно отфильтровать только измененные файлы, чтобы понять, какая именно команда
RUN закинула в контейнер кэш пипа (.cache/pip) или временные apt-пакеты.— Интеграция в CI: Инструмент можно запускать в режиме проверки (
CI=true). Если эффективность образа падает ниже заданного порога (например, 90%), сборка в CI/CD просто упадет.Как пользоваться?
Установка не нужна, можно запустить утилиту прямо через сам Docker:
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive:latest my-app-image:latest
Кому это нужно?
— Разработчикам, которые хотят довести свои
Dockerfile до идеала.— DevOps-инженерам, сражающимся за скорость деплоя и свободное место в Docker Registry.
Совет: Если ты видишь много "красных" (удаленных) файлов, которые все равно занимают место в кэше слоев, объединяй команды в
Dockerfile через оператор &&. Например, установку зависимостей и очистку кэша нужно делать в рамках одной инструкции RUN apt-get install ... && rm -rf /var/lib/apt/lists/*.🔥 — если вычищаешь образы до минимального размера
🤝 — если гигабайтные образы на сервере тебя не пугают
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👎1
🐍 Telethon: Создаем мощных Telegram-ботов и скрипты автоматизации на Python
Если для работы с Telegram ты до сих пор используешь только стандартные библиотеки для обычных ботов (вроде
Задача:
— Парсить контент, собирать базу пользователей или анализировать сообщения из любых открытых каналов.
— Создавать юзерботов (скрипты, которые работают от твоего личного имени), автоматизирующих ответы в личке или управление группами.
— Переносить и бэкапить медиафайлы, архивы чатов и логов без ограничений Bot API.
Решение:
Мы регистрируем приложение на официальном портале Telegram, получаем ключи
Почему это киллер-фича для автоматизации?
— Полная свобода действий: Скрипт умеет всё то же самое, что и ты в своем смартфоне: вступать в каналы, отправлять реакции, скачивать тяжелые файлы, мониторить сообщения в реальном времени и даже звонить.
— **Асинхронность (
— Удобная работа с медиа: Скачивание картинок, видео или документов из постов реализуется буквально одной строчкой кода.
— Обход жестких лимитов: Хотя у MTProto есть свои ограничения (Flood Wait), они гораздо лояльнее, чем лимиты для стандартных HTTP-ботов.
Как это выглядит в коде?**
Простой пример скрипта, который подключается к аккаунту и автоматически пересылает новые посты из одного канала в другой:
Кому это нужно?
— Разработчикам, создающим сложные системы мониторинга упоминаний брендов или ключевых слов в соцсетях.
— Админам сеток Telegram-каналов для настройки автопостинга, кросспостинга и бэкапа контента.
— Всем, кто хочет автоматизировать рутинные ответы в мессенджере или собрать датасет для обучения нейросети.
Совет: При первом запуске скрипт попросит ввести номер телефона и код подтверждения из Telegram — так создается файл сессии (
🔥 — если за мощные скрипты и работу через MTProto
🤝 — если для всех задач хватает обычного Bot API
➡️ GitHub Ready | #Уроки
Если для работы с Telegram ты до сих пор используешь только стандартные библиотеки для обычных ботов (вроде
aiogram или telebot), ты ограничен правилами Bot API. Ты не можешь читать историю чатов, анализировать активность пользователей в чужих группах или автоматически пересылать посты. Telethon — это мощная асинхронная библиотека на Python, которая работает напрямую через протокол MTProto (как официальные приложения), позволяя автоматизировать абсолютно любые действия от лица обычного пользователя.Задача:
— Парсить контент, собирать базу пользователей или анализировать сообщения из любых открытых каналов.
— Создавать юзерботов (скрипты, которые работают от твоего личного имени), автоматизирующих ответы в личке или управление группами.
— Переносить и бэкапить медиафайлы, архивы чатов и логов без ограничений Bot API.
Решение:
Мы регистрируем приложение на официальном портале Telegram, получаем ключи
api_id/api_hash и пишем асинхронный скрипт, который управляет аккаунтом на чистом Python.Почему это киллер-фича для автоматизации?
— Полная свобода действий: Скрипт умеет всё то же самое, что и ты в своем смартфоне: вступать в каналы, отправлять реакции, скачивать тяжелые файлы, мониторить сообщения в реальном времени и даже звонить.
— **Асинхронность (
asyncio): Библиотека полностью асинхронна из коробки. Это позволяет одновременно следить за сотнями чатов и обрабатывать потоки данных без зависания скрипта.— Удобная работа с медиа: Скачивание картинок, видео или документов из постов реализуется буквально одной строчкой кода.
— Обход жестких лимитов: Хотя у MTProto есть свои ограничения (Flood Wait), они гораздо лояльнее, чем лимиты для стандартных HTTP-ботов.
Как это выглядит в коде?**
Простой пример скрипта, который подключается к аккаунту и автоматически пересылает новые посты из одного канала в другой:
from telethon import TelegramClient, events
api_id = 1234567 # Твой api_id с my.telegram.org
api_hash = 'your_hash_здесь'
client = TelegramClient('my_session', api_id, api_hash)
# Слушаем новые сообщения в определенном канале
@client.on(events.NewMessage(chats='source_channel_username'))
async def handler(event):
# Пересылаем сообщение в свой целевой канал
await client.send_message('my_target_channel', event.message)
print("Скрипт автоматизации запущен...")
client.start()
client.run_until_complete()
Кому это нужно?
— Разработчикам, создающим сложные системы мониторинга упоминаний брендов или ключевых слов в соцсетях.
— Админам сеток Telegram-каналов для настройки автопостинга, кросспостинга и бэкапа контента.
— Всем, кто хочет автоматизировать рутинные ответы в мессенджере или собрать датасет для обучения нейросети.
Совет: При первом запуске скрипт попросит ввести номер телефона и код подтверждения из Telegram — так создается файл сессии (
my_session.session). Береги этот файл и не выкладывай его в открытый доступ (например, на GitHub), так как он заменяет собой пароль и дает полный доступ к твоему аккаунту.🔥 — если за мощные скрипты и работу через MTProto
🤝 — если для всех задач хватает обычного Bot API
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🤝1