Raspberry Pi как домашний сервер: что на нём можно запустить в 2024

Подробное руководство по настройке Raspberry Pi как домашнего сервера в 2024. Установите Pi-hole, Home Assistant, Nextcloud, VPN и другие сервисы через Docker. Практические шаги, команды, оптимизация.
Привет всем энтузиастам DIY и умного дома! Если у вас завалялся Raspberry Pi, или вы только планируете его купить, и он не простаивает в качестве медиаплеера, эта статья для вас. Я давно использую «малинки» в качестве тихих, энергоэффективных и невероятно гибких домашних серверов. В 2024 году, с выходом мощного Raspberry Pi 5 и зрелостью экосистемы, возможностей стало ещё больше. Давайте вместе превратим вашу одноплатку в многофункциональный центр управления домашней цифровой жизнью.
Зачем это нужно? Во-первых, это полный контроль над своими данными и сервисами — никакой зависимости от облаков, которые могут закрыться или изменить политику. Во-вторых, это отличный обучающий полигон для экспериментов с Linux, сетевыми технологиями и автоматизацией. И наконец, это просто увлекательно — создать что-то полезное своими руками.
Подготовка Raspberry Pi к роли сервера
Первым делом нужно заложить надёжный фундамент. Для сервера критически важны стабильность и безопасность.
Выбор модели и ОС
Для серверных задач я рекомендую Raspberry Pi 4 с 4 или 8 ГБ ОЗУ или, конечно, новинку — Raspberry Pi 5. Модели 3B+ и ниже могут не потянуть несколько тяжёлых сервисов одновременно. Что касается Zero 2 W — это отличный выбор для узкоспециализированных задач (например, только для Pi-hole), но не для полноценного сервера.
Операционная система — Raspberry Pi OS Lite (64-bit). Нам не нужен графический интерфейс, он лишь будет отнимать драгоценные ресурсы. Скачиваем образ с официального сайта и записываем на карту microSD с помощью Raspberry Pi Imager.
В самом Imager есть замечательная опция — настройка перед записью (Ctrl+Shift+X). Обязательно используем её:
* Включаем SSH.
* Задаём имя хоста (например, home-server).
* Устанавливаем логин и пароль.
* Настраиваем локаль и Wi-Fi (хотя для сервера я настоятельно рекомендую проводное подключение Ethernet).
Первоначальная настройка и безопасность
После первого запуска и входа подключаемся по SSH. Дальше — стандартный набор действий.
-
Обновляем систему:
bash sudo apt update && sudo apt full-upgrade -yКомандаfull-upgradeне только обновляет пакеты, но и корректно обрабатывает изменения в зависимостях. -
Меняем пароль пользователя
pi(если используем старый образ) и создаём нового пользователя с привилегиями sudo (опционально, но рекомендуется для безопасности):bash sudo passwd pi sudo adduser alex sudo usermod -aG sudo alexТипичная ошибка: оставлять стандартный парольraspberry. Это первое, что проверяют боты, сканирующие сеть. -
Настраиваем базовый фаервол UFW:
bash sudo apt install ufw -y sudo ufw default deny incoming sudo ufw default allow outgoing sudo ufw allow ssh sudo ufw allow 80,443/tcp # Для веб-серверов, если планируем sudo ufw enableПроверяем статус:sudo ufw status verbose. -
Настраиваем статический IP-адрес (желательно на роутере, либо в системе). Это важно, чтобы адрес сервера не «уплывал» после перезагрузки роутера.
Установка и настройка Docker
Docker — это наше главное оружие. Он позволяет запускать сервисы в изолированных контейнерах, избегая «конфликтов» зависимостей и упрощая обновление и перенос.
Устанавливаем Docker официальным скриптом (это самый простой и актуальный способ):
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Добавляем текущего пользователя в группу docker, чтобы не писать sudo перед каждой командой:
sudo usermod -aG docker $USER
Важно: для применения изменения нужно выйти из SSH и зайти заново.
Проверяем установку:
docker --version
docker run hello-world
Если вы увидели приветственное сообщение от образа hello-world — Docker работает корректно.
Для управления стеками контейнеров я также ставлю Docker Compose (в новых версиях Docker он может быть включён):
sudo apt install docker-compose-plugin -y
Проверка результата: команда docker compose version должна показать версию плагина.
Что можно запустить на домашнем сервере в 2024?
А теперь самое интересное — выбираем сервисы. Я приведу примеры установки через Docker Compose, так как это нагляднее и удобнее для управления.
1. Pi-hole — сетевой блокировщик рекламы и трекеров
Это must-have для любого домашнего сервера. Pi-hole будет работать как DNS-сервер для всей вашей сети, отсекая запросы к рекламным и трекинговым доменам.
Создаём директорию для конфигурации и файл docker-compose.yml:
mkdir ~/pihole && cd ~/pihole
nano docker-compose.yml
version: "3.9"
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
ports:
- "53:53/tcp"
- "53:53/udp"
- "80:80/tcp"
environment:
TZ: 'Europe/Moscow' # Указываем свой часовой пояс
WEBPASSWORD: 'ваш_надёжный_пароль' # Меняем на свой!
DNS1: 1.1.1.1 # Резолвер Cloudflare
DNS2: 8.8.8.8 # Резолвер Google
volumes:
- './etc-pihole:/etc/pihole'
- './etc-dnsmasq.d:/etc/dnsmasq.d'
restart: unless-stopped
Сохраняем файл (Ctrl+O, Enter, Ctrl+X) и запускаем:
docker compose up -d
Через минуту Pi-hole будет доступен по IP-адресу вашего Raspberry Pi в браузере. Вам нужно будет зайти в настройки вашего роутера и прописать IP Raspberry Pi в качестве основного DNS-сервера для сети.
Проверка результата: зайдите в веб-интерфейс Pi-hole (http://ваш-ip-pi/admin). На дашборде должна отображаться статистика запросов. Попробуйте зайти на сайт с рекламой — часть элементов не должна загрузиться.
Кстати, у меня на блоге есть подробное руководство по настройке Pi-hole: Pi-hole на Raspberry Pi: Как я избавил всю домашнюю сеть от рекламы раз и навсегда.
2. Home Assistant — мозг умного дома
Если у вас есть умные устройства, то Home Assistant (HA) — это лучший способ объединить их в одну систему без привязки к облакам производителей. На Raspberry Pi 4/5 он работает отлично.
Самый простой способ — установка HA OS в виде Docker-контейнера, но для максимальной интеграции и надёжности я предпочитаю отдельную SD-карту. Однако для начала можно использовать контейнер:
mkdir ~/homeassistant && cd ~/homeassistant
nano docker-compose.yml
version: '3.9'
services:
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
volumes:
- ./config:/config
- /etc/localtime:/etc/localtime:ro
environment:
- TZ=Europe/Moscow
restart: unless-stopped
network_mode: host
privileged: true # Необходимо для доступа к устройствам вроде Zigbee-стиков
Запускаем: docker compose up -d. Первый запуск займёт несколько минут, пока HA создаст конфигурацию.
Важно: флаг network_mode: host и privileged: true дают контейнеру широкий доступ к системе. Это необходимо для обнаружения устройств в сети и работы с USB-адаптерами (например, Zigbee). Если вас это смущает, можно начать с более изолированной установки, но тогда некоторые функции будут недоступны.
Проверка результата: Home Assistant будет доступен по адресу http://ваш-ip-pi:8123. После первоначальной настройки вы попадёте в интерфейс, где можно начать добавлять устройства и автоматизации.
Для тех, кто хочет погрузиться в тему с нуля, у меня есть большое руководство: Home Assistant на Raspberry Pi: Полное руководство по установке с нуля в 2024.
3. Nextcloud — личное облако для файлов, календаря и контактов
Альтернатива Google Drive и Dropbox, которая живёт у вас дома. На Raspberry Pi 4/5 с SSD (очень рекомендую использовать SSD через USB3 вместо microSD для этого сервиса) работает вполне шустро для личного и семейного использования.
Создаём конфигурацию:
mkdir ~/nextcloud && cd ~/nextcloud
nano docker-compose.yml
version: '3.9'
services:
nextcloud:
image: nextcloud:latest
container_name: nextcloud
restart: unless-stopped
ports:
- 8080:80 # Веб-интерфейс будет на порту 8080
volumes:
- ./nextcloud_dаta:/var/www/html/data
- ./nextcloud_config:/var/www/html/config
- ./nextcloud_apps:/var/www/html/custom_apps
environment:
- NEXTCLOUD_TRUSTED_DOMAINS=ваш-ip-pi
Запускаем: docker compose up -d. При первом входе (http://ваш-ip-pi:8080) создадим администратора и укажем папку данных (оставим по умолчанию).
Типичная ошибка: попытка использовать microSD-карту для хранения данных. Это убивает карту за несколько месяцев из-за огромного количества операций записи. Либо используйте SSD, либо настройте внешнее хранилище (например, SMB-шару с NAS).
4. Uptime Kuma — мониторинг доступности ваших сервисов
Простенький, но очень полезный инструмент, который будет оповещать вас, если какой-то из ваших сервисов (или даже внешний сайт) «упал».
mkdir ~/uptime-kuma && cd ~/uptime-kuma
nano docker-compose.yml
version: '3.9'
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
restart: unless-stopped
ports:
- 3001:3001
volumes:
- ./kuma_dаta:/app/data
После запуска (docker compose up -d) откройте http://ваш-ip-pi:3001, создайте администратора и добавьте первые мониторы (например, на сам Pi-hole и Home Assistant).
5. WireGuard — VPN для безопасного доступа к домашней сети извне
С помощью WireGuard вы сможете безопасно подключиться к своей домашней сети с телефона или ноутбука из любой точки мира, как будто вы дома. Это безопаснее, чем пробрасывать порты наружу.
Установка и настройка чуть сложнее, но Docker всё упрощает. Я рекомендуровать использовать образ с веб-интерфейсом для удобства:
mkdir ~/wireguard && cd ~/wireguard
nano docker-compose.yml
version: "3.9"
services:
wg-easy:
container_name: wg-easy
image: weejewel/wg-easy:latest
environment:
- WG_HOST=ВАШ_ВНЕШНИЙ_IP_ИЛИ_DDNS_АДРЕС # Самый важный параметр!
- PASSWORD=ваш_пароль_для_веб_интерфейса
- WG_PORT=51820
ports:
- "51820:51820/udp"
- "51821:51821/tcp" # Веб-интерфейс
volumes:
- ./wg-dаta:/etc/wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
restart: unless-stopped
Ключевой момент: для работы извне вам нужно либо иметь белый IP-адрес от провайдера, либо настроить DDNS (Dynamic DNS). Также на роутере нужно пробросить UDP-порт 51820 на IP вашего Raspberry Pi.
Оптимизация и обслуживание
Сервер запущен, но нужно за ним ухаживать.
- Автозапуск контейнеров: Docker Compose по умолчанию использует политику перезапуска
unless-stopped, что уже хорошо. Но чтобы сервисы гарантированно стартовали после перезагрузки всей системы, можно создать systemd-юнит для каждого стека. - Резервное копирование: Самое важное! Регулярно архивируйте папки с данными контейнеров (те, что смонтированы в
volumes:). Простой скрипт наtar+cronспасёт вас в случае падения карты памяти. - Мониторинг ресурсов: Установите
htopдля просмотра загрузки в реальном времени:sudo apt install htop -y. Запускается командойhtop.
Заключение
Raspberry Pi в 2024 году — это не игрушка, а полноценная платформа для построения домашней IT-инфраструктуры. Он тянет и личное облако, и умный дом, и медиатеку, и VPN, и сетевой фильтр одновременно. Начинайте с малого — установите Pi-hole, почувствуйте вкус контроля над своей сетью. Потом добавьте Home Assistant, если есть умные устройства. Главное — не бояться экспериментировать. Благодаря Docker, сломать систему почти невозможно, а переустановить один сервис — дело пяти минут.
Если же мощности Raspberry Pi 4 вам покажется мало для всех ваших задумок, присмотритесь к новому Raspberry Pi 5 или другим мощным одноплатникам, например, Orange Pi 5 Plus. Но для старта и большинства задач классической «малинки» более чем достаточно.
Удачи в построении вашего домашнего сервера! Делитесь своими успехами и находками в комментариях.
Понравилась статья?
Поставьте лайк и сохраните полезный материал в закладки.
Docker на Raspberry Pi: Запускаем контейнеры на ARM64
Headless Raspberry Pi: Настройка без монитора через SSH — Полное руководство
Продлеваем жизнь SD-карте в Raspberry Pi: полное руководство по выживанию
Nextcloud на Raspberry Pi: строим личное облако вместо Google Drive
Raspberry Pi в роли VPN-сервера: настраиваем WireGuard для всей домашней сети
Raspberry Pi Print Server: Делаем общий принтер для всей домашней сети