Привет! В этой статье расскажу, как купил Raspberry Pi 5 с 8 ГБ оперативки и превратил его в полноценный домашний сервер. На борту сейчас крутятся: Telegram-бот на основе Claude AI, автоматический агрегатор новостей, сетевой блокировщик рекламы Pi-hole, NAS для домашней медиатеки и этот самый блог.
Под катом — подробно о каждом проекте и граблях, на которые наступил по пути.

Зачем мне понадобился одноплатник
Долгое время мои pet-проекты жили на VPS. Работало, но каждый месяц капала абонентская плата, а проекты то запускались, то забрасывались. В какой-то момент стало понятно: мне нужна железка, которая стоит дома, потребляет копейки электроэнергии и позволяет экспериментировать без оглядки на ценник.
Выбор пал на Raspberry Pi 5 с 8 ГБ RAM. Пятая версия — это уже не тот неторопливый одноплатник, каким была Raspberry Pi 3. Здесь четыре ядра Cortex-A76 на 2.4 ГГц, PCIe 2.0, гигабитный Ethernet и нормальный контроллер памяти. Для моих задач — более чем достаточно.

Pi-hole — реклама, прощай
Первое, что я поставил на малинку — Pi-hole. Это DNS-сервер, который фильтрует рекламные и трекинговые домены на уровне сети. Прописываете IP малинки как DNS на роутере — и все, реклама блокируется на всех устройствах в домашней сети: телефонах, ноутбуках, смарт-ТВ, даже на умном чайнике (если он у вас есть).
Pi-hole крутится в Docker-контейнере. Веб-интерфейс показывает статистику: сколько запросов заблокировано, какие домены запрашиваются чаще всего, какие клиенты в сети самые «шумные». У меня в среднем блокируется около 30% DNS-запросов — и это на стандартных blocklist'ах без дополнительной настройки.
Если вы еще не пробовали Pi-hole — рекомендую. Разница заметна сразу, особенно на мобильных устройствах и смарт-ТВ, где установить блокировщик рекламы не всегда возможно.
blast-chat-bot — AI-собеседник в Telegram
Второй проект — Telegram-бот, подключенный к Claude AI от Anthropic. Бот умеет вести осмысленные диалоги, помнит контекст разговора и работает как в личных сообщениях, так и в групповых чатах.
Написан на Python с использованием python-telegram-bot. История сообщений хранится в PostgreSQL через асинхронный SQLAlchemy. Для каждого чата ведется отдельная история, что позволяет боту подстраиваться под контекст конкретного разговора.
Управление контекстом
Самая интересная часть — как бот работает с контекстом. У Claude есть ограничение на размер окна контекста, и при активном общении легко в него упереться. Решение: периодическое суммирование. Бот держит скользящий буфер последних сообщений, а при достижении порога вызывает Claude для создания краткого саммари предыдущей части разговора. Таким образом бот «помнит» суть беседы, но не тащит за собой весь лог.
Это похоже на то, как работает человеческая память: мы не помним дословно каждый разговор, но сохраняем общий контекст и ключевые моменты. Бот делает ровно то же самое, только автоматически.
blast-news — утренний дайджест на автопилоте
Третий проект — автоматический агрегатор новостей, который каждый день собирает контент из моих любимых источников и формирует дайджест с помощью AI.
Источники
Бот собирает новости из двух десятков Telegram-каналов и нескольких веб-источников — Hacker News, Lobste.rs, Ars Technica, TLDR Tech и других. Покрытие широкое: от AI/ML и Python до DIY-электроники и новостей.
Умное суммирование
Для каждого канала настроен свой промпт для Claude. Бот знает мои интересы и фильтрует контент через эту призму. У каждого источника своя специфика и свой формат выжимки.
Как это работает
Раз в сутки бот:
- Вытягивает свежие сообщения из всех каналов
- Парсит веб-источники
- Дедуплицирует контент, чтобы одна новость не попадала в дайджест дважды
- Генерирует суммари через Claude с учетом контекста источника
- Отправляет готовый дайджест мне в Telegram
Все написано на Python, расписание управляется через APScheduler, все крутится в Docker.
NAS — домашняя медиатека
Четвертый проект — сетевое хранилище на базе Samba. К малинке подключен внешний USB-диск, который расшарен по локальной сети. Любое устройство дома — ноутбук, планшет, телевизор — может подключиться к шаре и стримить медиаконтент.
Настройка заняла буквально полчаса: подключить диск, отформатировать в ext4, настроить автомонтирование и поднять Samba. Никаких сложных NAS-дистрибутивов типа TrueNAS или OpenMediaVault — для моих задач хватает обычного Samba-сервера.
Диск используется в основном для хранения фильмов и сериалов. Гигабитный Ethernet на Pi 5 позволяет спокойно стримить видео на несколько устройств одновременно без каких-либо задержек.
ava-code — этот блог
И наконец, пятый проект — этот самый сайт. Персональный блог, где вы сейчас читаете эту статью.
Посты пишутся в Markdown с подсветкой кода, есть обложки для статей, система тегов, комментарии, лайки и пагинация. Все упаковано в Docker Compose.
Сайт доступен извне без белого IP и без проброса портов на роутере — трафик проксируется через зашифрованный туннель.
Все это крутится в Docker
Все проекты работают в Docker-контейнерах — кроме NAS, который работает как системный сервис. Docker Compose упрощает управление: обновить сервис — это пересобрать образ и перезапустить контейнер.
Суммарное потребление оперативной памяти всеми сервисами — меньше гигабайта из восьми доступных. Запас огромный. Средняя загрузка CPU — меньше 10%.
Итоги
Стоило ли оно того? Однозначно да.
Что получилось хорошо:
- Полный контроль над железом и софтом
- Потребление — около 5 Вт в простое, 10–12 Вт под нагрузкой
- Docker делает деплой и обновления безболезненными
- NAS из подручных средств за полчаса
На чем споткнулся:
- Первая настройка заняла больше времени, чем я рассчитывал — особенно сетевая часть с DNS
- ARM-архитектура иногда преподносит сюрпризы с Docker-образами: не все имеют arm64-версии
- SD-карта — узкое место по I/O (планирую переход на NVMe через HAT)
Если у вас есть несколько pet-проектов, которые не требуют серьезных вычислительных ресурсов, Raspberry Pi 5 — отличный вариант для self-hosting'а. Восемь гигабайт RAM — щедрый запас для ботов и веб-приложений, а Cortex-A76 справляется с задачами на удивление шустро.
Вопросы, замечания — пишите в комментариях.
ava-code
Comments
No comments yet. Be the first.
Sign in or register to leave a comment.