Как собрать облачный сервер на Raspberry Pi: реальный гайд от практика

Купил я как-то Raspberry Pi 4 с 4 ГБ оперативки от желания поднять «своё облако» — чтобы файлы под рукой, без платных подписок и чужих серверов. Перешёл с Google Drive на собственную файловая система с доступом из любой точки мира. Расскажу, как это сделать с нуля, без воды и лишних теоретических отступлений.

Что реально даёт облако на Raspberry Pi

Во-первых, это полный контроль над своими данными. Никакие корпорации не будут сканировать ваши файлы для рекламы. Во-вторых, это экономия в долгосрочной перспективе — вы платите только за электричество и интернет. В-третьих, это отличный полигон для изучения Linux и сетевых технологий.

Но есть и ограничения: скорость зафайлов упрётся в ваш домашний интернет (обычно это 10–50 Мбит/с на загрузку), а доступность зависит от стабильности вашей сети и электричества. Для хранения фоток, документов и бэкапов — идеально. Для потокового видео с нескольких пользователей — уже нет.

Что понадобится для старта

Минимальный набор:

  • Raspberry Pi 4 (4 ГБ или 8 ГБ) или Pi 5
  • microSD карта 32 ГБ+ (для системы)
  • Внешний HDD или SSD (для данных)
  • Блок питания с достаточным током (5В/3А для Pi 4)
  • Ethernet-кабель (Wi-Fi не рекомендую для сервера)
  • Корпус с вентилятором или радиаторами

SSD предпочтительнее HDD — он быстрее, тише и потребляет меньше. Но если у вас уже есть внешний жёсткий диск, начните с него. Сервер будет работать 24/7, так что позаботьтесь о стабильном питании — перебои с электричеством могут повредить файловую систему.

Выбор операционной системы

Для облачного сервера есть два основных пути:

Критерий Raspberry Pi OS Lite Ubuntu Server
Простота настройки Очень высокая Средняя
Стабильность Отличная Отличная
Поддержка софта Хорошая Лучшая
Ресурсоёмкость Минимальная Чуть выше
Для кого Новички, минимум ресурсов Те, кто знаком с Ubuntu

Если вы впервые работаете с Raspberry Pi — берите Raspberry Pi OS Lite (64-bit). Если уже знакомы с Ubuntu и хотите больше совместимости с десктопными решениями — Ubuntu Server. Разница в настройке облачного софта минимальна, так что выбирайте то, что вам комфортнее.

Шаг 1: Подготовка системы

После прошивки образа на SD-карту (через Raspberry Pi Imager или Balena Etcher), первое, что нужно сделать — обновить систему:

  1. Подключите Pi к роутеру кабелем, включите питание
  2. Найдите IP-адрес устройства в админке роутера
  3. Подключитесь по SSH: ssh pi@<IP-адрес>
  4. Обновите систему: sudo apt update && sudo apt upgrade -y
  5. Настройте статический IP в роутере (резервируйте DHCP по MAC-адресу)

Статический IP критически важен — если адрес изменится, вы потеряете доступ к серверу, и проброс портов перестанет работать. Лучше всего нарезервировать адрес на уровне роутера, а не через конфигурацию на самом Pi.

Шаг 2: Настройка внешнего диска

Подключите внешний диск и выполните:

  1. Узнайте имя диска: lsblk (обычно /dev/sda1)
  2. Отформатируйте в ext4: sudo mkfs.ext4 /dev/sda1
  3. Создайте точку монтирования: sudo mkdir /mnt/cloud
  4. Смонтируйте: sudo mount /dev/sda1 /mnt/cloud
  5. Добавьте в /etc/fstab для автозагрузки:

В fstab добавьте строку вида:

/dev/sda1 /mnt/cloud ext4 defaults,noatime 0 2

Проверьте, что диск монтируется после перезагрузки: sudo mount -a. Если ошибок нет — всё ок. Теперь у вас есть постоянное хранилище, которое не слетит при перезапуске.

Шаг 3: Установка Nextcloud

Nextcloud — это самый популярный self-hosted облачный сервис. Он даёт веб-интерфейс, клиенты для ПК и мобильных устройств, синхронизацию файлов, общий доступ по ссылкам и многое другое.

Установка через Docker — самый простой и чистый способ:

  1. Установите Docker: curl -fsSL https://get.docker.com | sh
  2. Добавьте пользователя в группу docker: sudo usermod -aG docker pi
  3. Установите Docker Compose: sudo apt install docker-compose-plugin
  4. Создайте папку для проекта: mkdir ~/nextcloud && cd ~/nextcloud
  5. Создайте файл docker-compose.yml:

Пример минимального docker-compose.yml:

version: '3'
services:
  nextcloud:
    image: nextcloud:latest
    container_name: nextcloud
    ports:
      - "8080:80"
    volumes:
      - /mnt/cloud/nextcloud:/var/www/html
    restart: always

  db:
    image: mariadb:latest
    container_name: nextcloud-db
    environment:
      MYSQL_ROOT_PASSWORD: ваш_пароль
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: ваш_пароль_для_базы
    volumes:
      - /mnt/cloud/db:/var/lib/mysql
    restart: always

Запустите: docker compose up -d. После этого откройте в браузере http://<IP-вашего-Pi>:8080 и завершите установку — задайте логин/пароль администратора и укажите подключение к базе данных.

Шаг 4: Проброс портов и внешний доступ

Чтобы ваше облако было доступно из интернета, нужно:

  1. Зайти в настройки роутера и пробросить порт 443 (HTTPS) на IP вашего Pi, порт 8080
  2. Настроить динамический DNS (DDNS) — если у вас «серый» IP от провайдера, без этого никак
  3. Получить сертификат Let’s Encrypt для HTTPS

Для DDNS подойдут сервисы вроде DuckDNS, No-IP или Dynu. У большинства провайдеров внешний IP меняется раз в несколько дней или при перезагрузке роутера — DDNS автоматически обновляет запись.

Для HTTPS можно использовать Nginx Proxy Manager или Caddy как обратный прокси. Это важно — без шифрования ваш пароль передавался бы в открытом виде, что неприемлемо.

Шаг 5: Настройка клиентов

После того как веб-интерфейс доступен, установите клиенты:

  • На ПК: официальный клиент Nextcloud для Windows/Mac/Linux
  • На мобильном: приложение Nextcloud из App Store или Google Play

Клиент автоматически синхронизирует выбранные папки с сервером. Можно настроить автозагрузку фото с телефона — это удобная замена Google Photos.

Частые ошибки и как их избежать

Не используйте SD-карту для хранения данных. Карты памяти не рассчитаны на постоянные операции записи — они быстро деградируют. Все данные должны быть на внешнем SSD или HDD.

  • Забывают про охлаждение. Raspberry Pi под нагрузкой греется, троттлит и тормозит. Радиаторы + вентилятор обязательны для сервера, работающего 24/7.
  • Нет резервного питания. Желательно использовать UPS или хотя бы хороший блок питания с защитой. Внезапное отключение может повредить файловую систему на диске.
  • Не настраивают бэкапы. Сервер — не панацея. Делайте регулярные бэкапы важных данных на другой носитель или в настоящее облако.
  • Используют пароли по умолчанию. Меняйте все пароли сразу после установки, особенно для базы данных и администратора Nextcloud.
  • Не обновляют систему. Регулярно запускайте sudo apt update && sudo apt upgrade и обновляйте контейнеры Docker.

Что выбрать в зависимости от вашей ситуации

Если вы новичок и хотите простое хранилище файлов: Raspberry Pi 4 (4 ГБ) + внешний HDD + Nextcloud через Docker. Этого достаточно для одного-двух пользователей.

Если нужна скорость и стабильность: Raspberry Pi 5 + SSD через USB 3.0. Скорость чтения/записи будет ограничена интерфейсом, но всё равно значительно выше, чем с HDD.

Если бюджет ограничен: Raspberry Pi 3B+ тоже подойдёт, но не ждите высокой производительности. Для одного пользователя с нетребовательными задачами — работает.

Если нужен медиасервер: Добавьте Plex или Jellyfin в тот же Docker Compose. Но учтите, что транскодирование видео на Pi не потянет — только прямая стриминг.

Дополнительные улучшения

Когда базовая настройка работает, можно добавить:

  • Fail2ban — защита от перебора паролей по SSH и веб-интерфейсу
  • UFW (firewall) — ограничение доступа только к нужным портам
  • Collabora Online / OnlyOffice — онлайн-редактирование документов прямо в облаке
  • Клиент синхронизации для автоматической загрузки фото с телефона
  • Мониторинг диска — настройте уведомления о заполнении хранилища

Итог: что делать дальше

Собрать облако на Raspberry Pi — задача на пару вечеров, если следовать инструкции. Начните с простого: установите систему, подключите внешний диск, поднимите Nextcloud через Docker. Этого уже достаточно для полноценного использования.

Постепенно улучшайте систему — добавьте HTTPS, настройте бэкапы, поставьте защиту от перебора паролей. Главное — не забывать обновлять систему и следить за состоянием диска.

Если что-то пошло не так — не паникуйте. Все данные на вашем диске, систему можно переустановить за полчаса, а конфигурацию Docker — восстановить из файла docker-compose.yml. Это одно из главных преимуществ собственного сервера — вы полностью контролируете процесс.

Dfncfg.ru