Домашний сервер на Raspberry Pi 5: практическая сборка от железа до Docker
Raspberry Pi как домашний сервер в 2026 году собирается на Pi 5 с официальным блоком питания на 27 Вт, активным охлаждением и NVMe-накопителем вместо microSD. Дальше ставится Raspberry Pi OS Lite на Debian 13 с SSH по ключу, Docker для служб и WireGuard для доступа извне.

Содержание
Что купить: Raspberry Pi 5 и обвязка без сюрпризов
Под круглосуточный домашний сервер в 2026 году берите Raspberry Pi 5. Модели на 4 ГБ хватит для пары лёгких служб (VPN, DNS-фильтр, синхронизация файлов), 8 ГБ - разумный выбор под десяток контейнеров, 16 ГБ нужны разве что под тяжёлые базы или медиасервер с большим каталогом. Pi 4 тоже справится, но у него нет PCIe, и быстрый накопитель придётся вешать на USB.
Сама плата - меньшая часть успеха. Почти все странные зависания домашних серверов на Pi упираются в питание, охлаждение и карту памяти.
| Компонент | Что брать | Почему |
|---|---|---|
| Блок питания | Официальный 27 Вт USB-C (5 В, 5 А) | Обычные зарядки дают просадки, Pi ограничивает USB и троттлит |
| Охлаждение | Active Cooler или корпус с вентилятором | Под длительной нагрузкой без обдува процессор сбрасывает частоту |
| Накопитель | NVMe SSD через M.2 HAT+ или аналог | microSD изнашивается от постоянной записи логов и баз |
| Сеть | Кабель Ethernet до роутера | Wi-Fi для сервера - лишняя точка отказа |
| Данные | Внешний HDD с отдельным питанием | Большие диски от USB платы питаются нестабильно |
Если вы ещё выбираете между Pi и мини-ПК на x86, загляните в общий обзор домашнего сервера на Linux: для медиасервера с перекодированием видео и виртуальных машин x86 часто оказывается удобнее.
Записываем Raspberry Pi OS Lite с готовым SSH
Для сервера нужна 64-битная Raspberry Pi OS Lite без графического окружения. С конца 2025 года она основана на Debian 13 trixie. Разработчики советуют ставить trixie начисто, а не обновлять старую систему на Bookworm на месте.
Записывать удобнее всего через Raspberry Pi Imager 2.0, он есть для Linux, Windows и macOS. Мастер ведёт по шагам: модель платы, система, накопитель и настройки. На шаге настроек сразу задайте:
- имя хоста, например
homepi, чтобы обращаться к серверу как homepi.local; - пользователя и пароль (стандартного пользователя pi больше нет);
- часовой пояс и раскладку;
- включение SSH с входом только по ключу и вставьте свой открытый ключ.
Ключ, если его ещё нет, создаётся одной командой ssh-keygen -t ed25519, подробности в статье как подключиться по SSH. После первой загрузки найдите адрес Pi в списке клиентов роутера и подключитесь:
ssh имя_пользователя@homepi.local
# если .local не резолвится, используйте IP из роутера
ssh имя_пользователя@192.168.1.20Сразу закрепите за Pi постоянный адрес. Надёжнее всего сделать это резервированием DHCP в роутере: и сервер не настраивать, и адрес не уплывёт после сброса сети.
Переносим систему на NVMe
Самый простой путь: загрузиться с microSD, установить на неё Imager или воспользоваться сетевым установщиком и записать систему прямо на NVMe. Сначала проверьте загрузчик:
sudo apt update
sudo apt full-upgrade
# дата загрузчика должна быть не старше декабря 2023 года
sudo rpi-eeprom-update
# накопитель виден системе
ls -l /dev/nvme*Если загрузчик старый, в sudo raspi-config откройте Advanced Options, Bootloader Version, выберите Latest, затем выполните sudo rpi-eeprom-update -a и перезагрузитесь. Без карты памяти Pi загружается с NVMe автоматически. Если карту хочется оставить вставленной, в том же raspi-config поменяйте порядок загрузки: Advanced Options, Boot Order, NVMe/USB boot.
По умолчанию порт PCIe работает в режиме Gen 2 (до 500 МБ/с), и для сервера этого с запасом. Режим Gen 3 включается строкой dtparam=pciex1_gen=3 в /boot/firmware/config.txt, но Raspberry Pi официально его не сертифицирует. Мы бы не включали его на машине, которая должна работать годами без присмотра.
Перед переносом на NVMe проверьте накопитель с вашим HAT: часть недорогих SSD с контроллерами без DRAM капризничает на одной линии PCIe и пропадает после перезагрузки. Посмотрите совместимость у производителя переходника и после установки погоняйте сервер под нагрузкой день-другой, прежде чем переносить важные данные.
Базовая настройка: обновления, SSH, журнал
Сервер, который никто не обновляет, через год становится проблемой. Включим автоматическую установку обновлений безопасности:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
# проверка без реальной установки
sudo unattended-upgrade --dry-run --debugЕсли при записи вы не отключили вход по паролю, сделайте это сейчас: создайте файл /etc/ssh/sshd_config.d/10-local.conf со строкой PasswordAuthentication no и перезапустите службу командой sudo systemctl restart ssh. Предварительно убедитесь, что вход по ключу работает, и не закрывайте текущую сессию до проверки.
Ещё одна мелочь, которая сбережёт накопитель: ограничьте размер системного журнала. На карте памяти это особенно заметно, на NVMe просто аккуратно. Достаточно задать SystemMaxUse=200M в файле настроек journald и перезапустить службу systemd-journald.
Docker и первые службы в контейнерах
Большинство домашних служб удобнее держать в контейнерах: их легко обновить, перенести на другую машину и удалить без следов. Docker официально поддерживает 64-битную Raspberry Pi OS по инструкции для Debian. Для домашней машины можно использовать удобный скрипт установки, он подключит репозиторий Docker и поставит плагин compose:
curl -fsSL https://get.docker.com -o get-docker.sh
# прочитайте скрипт перед запуском
less get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
# перелогиньтесь и проверьте
docker run --rm hello-worldПомните, что группа docker даёт права, равные root. Если это смущает, есть вариант Docker Rootless, где демон работает от обычного пользователя. Для примера поднимем Syncthing, который будет синхронизировать папки с ноутбука и телефона. Создайте каталог ~/srv/syncthing и файл compose.yaml в нём:
services:
syncthing:
image: syncthing/syncthing
hostname: homepi
environment:
- PUID=1000
- PGID=1000
volumes:
- ./data:/var/syncthing
ports:
- 8384:8384
- 22000:22000/tcp
- 22000:22000/udp
- 21027:21027/udp
restart: unless-stoppedcd ~/srv/syncthing
docker compose up -d
docker compose logs -fВеб-интерфейс откроется на порту 8384. Сразу задайте в нём пароль. Как устроена синхронизация и как подключать устройства, мы разобрали в статье про Syncthing, а современный синтаксис compose описан в материале про Docker Compose plugin. Остальные службы добавляйте по тому же шаблону: отдельный каталог, свой compose.yaml, данные рядом.
Подключаем диск под данные
Системный NVMe держите для ОС и контейнеров, а фото, видео и резервные копии кладите на отдельный диск. Чтобы он монтировался всегда в одно место, используйте UUID, а не имя вида /dev/sda1, которое может поменяться:
lsblk -f
sudo mkdir -p /srv/data
# строка для /etc/fstab, UUID подставьте свой
UUID=1234-abcd /srv/data ext4 defaults,nofail,x-systemd.device-timeout=10 0 2Опция nofail важна: без неё сервер с отключённым диском не загрузится до конца, и придётся идти к нему с монитором. После правки проверьте всё командой sudo mount -a. Если диск новый, сначала отформатируйте его в ext4, например командой sudo mkfs.ext4 -L data /dev/sdX1, внимательно проверив имя раздела в выводе lsblk.
Следим за температурой и питанием
У Raspberry Pi есть встроенная утилита, которая честно расскажет, хватает ли плате питания и охлаждения:
# текущая температура процессора
vcgencmd measure_temp
# флаги просадки питания и троттлинга, 0x0 означает, что проблем не было
vcgencmd get_throttledЕсли get_throttled возвращает что-то кроме 0x0, первым делом меняйте блок питания и кабель, потом смотрите на охлаждение. Температура в простое на Pi 5 с активным кулером обычно держится заметно ниже 60 градусов, а при длительных значениях около 80 и выше процессор начинает сбрасывать частоту.
Для общей картины пригодятся htop и docker stats. Если хочется графиков, подойдёт любой лёгкий мониторинг в контейнере, но на старте проще раз в неделю заходить по SSH и смотреть на эти две команды.
Доступ из интернета и резервные копии
Не пробрасывайте порты веб-интерфейсов на роутере. Правильный путь - VPN до дома: на этой же Pi поднимается WireGuard, и вы попадаете в домашнюю сеть с телефона или ноутбука, как будто сидите дома. Пошаговая настройка в статье WireGuard для доступа к домашней сети.
Резервные копии делайте с первого дня. Сохранять нужно каталоги с compose.yaml и данными служб (~/srv) плюс важные файлы с диска данных. Хорошо работают Restic и Borg, сравнение и схема 3-2-1 в материале Borg или Restic. Отдельно сохраните образ системного накопителя после того, как всё настроили: восстановление из него займёт минуты вместо вечера.
Полная документация по плате, загрузчику и config.txt есть на сайте Raspberry Pi.
Частые вопросы
Какую модель Raspberry Pi взять для домашнего сервера?
Raspberry Pi 5: на 4 ГБ хватит для VPN, DNS-фильтра и синхронизации, 8 ГБ подойдут для десятка контейнеров. Pi 4 тоже работает, но без PCIe для NVMe.
Можно ли оставить систему на microSD?
Для лёгких задач можно, но постоянная запись логов и баз изнашивает карты. Для круглосуточного сервера лучше NVMe через HAT или SSD по USB.
Как проверить, хватает ли питания?
Выполните vcgencmd get_throttled. Значение 0x0 означает, что просадок питания и троттлинга не было. Другое значение - повод сменить блок питания и кабель.
Нужно ли включать PCIe Gen 3?
Для домашнего сервера нет. Gen 2 даёт до 500 МБ/с, а режим Gen 3 Raspberry Pi официально не сертифицирует, и он может работать нестабильно.
Как безопасно открыть сервер из интернета?
Через VPN, например WireGuard на этой же Pi. Прямой проброс веб-интерфейсов служб на роутере делать не стоит.
Документация и источники
- Raspberry Pi computer hardware documentation, Raspberry Pi Ltd, 2026
- M.2 HAT+ documentation, Raspberry Pi Ltd, 2026
- Install Docker Engine on Debian, Docker, 2026
Читайте также
Команды проверены на актуальных версиях дистрибутивов на момент обновления. Перед изменением системных настроек сделайте резервную копию.