Соберите личное облако на Raspberry Pi и подключите удалённый доступ через Cloudflare

Коротко о цели и подходе
Создание локального облака позволяет хранить файлы на собственном оборудовании, контролировать конфиденциальность и масштабировать объём хранилища по мере необходимости. В этой инструкции используется Nextcloud как ПО для синхронизации и обмена файлами и Cloudflare Tunnel для безопасного проброса доступа в интернет без прямой публикации вашего IP.
Важно: для базовой работы достаточно Raspberry Pi Zero 2 W, но для лучшей производительности и масштабируемости рекомендуем Pi 3/4 или старый ноутбук с Linux.
Что потребуется
- Raspberry Pi Zero 2 W или лучше (Pi 3/4 предпочтительнее). Можно использовать старый ноутбук с Ubuntu или другой Linux.
- SD‑карта (минимум 4 ГБ; для лучшей стабильности — 16 ГБ и выше).
- Внешнее USB‑хранилище: SSD или HDD с собственным питанием.
- Кабели, питание и сетевой доступ (Wi‑Fi или Ethernet при использовании ноутбука).
Установка и настройка сервера Nextcloud
Ниже — подробные шаги установки на Raspberry Pi. Если вы ставите на обычный Linux‑сервер, пропустите шаги, связанные с прошивкой SD‑карты.
Шаг 1 — прошивка Raspberry Pi Lite OS
- Скачайте и установите Raspberry Pi Imager, запишите Raspberry Pi Lite OS на microSD.
- После прошивки откройте раздел boot на карте и создайте два файла: ssh и wpa_supplicant.conf.
- В wpa_supplicant.conf вставьте и отредактируйте параметры сети (настройте ssid и psk, поменяйте country, если нужно):
country=RU
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="NETWORK-NAME"
psk="NETWORK-PASSWORD"
}- Вставьте карту в Raspberry Pi и подайте питание.
Шаг 2 — установка необходимых пакетов и Nextcloud
Подключитесь к Raspberry Pi по SSH (на Windows — PuTTY, на macOS/Linux — терминал). По умолчанию логин: pi, пароль: raspberry (меняйте пароль сразу после входа).
- Обновите систему:
sudo apt update && sudo apt upgrade
- Установите Apache2:
sudo apt install apache2
- Установите PHP и требуемые модули для Nextcloud (пример с PHP 8.0; на вашей системе версия может отличаться — подставьте соответствующую):
sudo apt install php8.0 php8.0-gd php8.0-sqlite3 php8.0-curl php8.0-zip php8.0-xml php8.0-mbstring php8.0-mysql php8.0-bz2 php8.0-intl php-smbclient php8.0-imap php8.0-gmp libapache2-mod-php8.0
- Перезапустите Apache:
sudo service apache2 restart- Установите сервер баз данных MariaDB (альтернатива — PostgreSQL):
sudo apt install mariadb-server
- Создайте базу данных и пользователя (выполните аккуратно, замените имена и пароль):
sudo mysql -u root -p
CREATE DATABASE mynextclouddb;
CREATE USER 'youruser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON mynextclouddb.* TO 'youruser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
- Скачайте и распакуйте Nextcloud в /var/www (версия актуальна на момент установки — проверяйте официальный сайт Nextcloud):
cd /var/www/
sudo wget https://download.nextcloud.com/server/releases/nextcloud-24.0.2.zip
sudo unzip nextcloud-24.0.2.zip- Создайте папку для данных и задайте права:
sudo mkdir -p /var/www/nextcloud/data
sudo chown -R www-data:www-data /var/www/nextcloud/
sudo chmod 750 /var/www/nextcloud/data- Создайте конфигурацию Apache для Nextcloud:
sudo nano /etc/apache2/sites-available/nextcloud.confВставьте:
Alias /nextcloud "/var/www/nextcloud/"
Require all granted
AllowOverride All Options
FollowSymLinks MultiViews
Dav off

- Активируйте сайт и перезагрузите Apache:
sudo a2ensite nextcloud.conf
sudo systemctl reload apache2- Откройте в браузере http://
/nextcloud и завершите веб‑установку, указав учетные данные и параметры базы данных (те, что вы создали).
http://192.168.0.136/nextcloud
После успешной установки вы получите локально работающее облако. Дальше — безопасность и проброс доступа через Cloudflare.
Установка и настройка Cloudflare Tunnel
Cloudflare Tunnel (ранее Argo Tunnel) позволяет безопасно проксировать трафик из интернета на ваше локальное приложение без открытия портов в роутере.
Шаг 1 — домен и добавление сайта в Cloudflare
- Купите домен или возьмите бесплатный у провайдера (например, Freenom). Обновите NS (nameserver) записи у регистратора на указанные Cloudflare. Пример:

- serena.ns.cloudflare.com
- elmo.ns.cloudflare.com
Зарегистрируйтесь или войдите в Cloudflare, нажмите Add Site, введите домен и выберите бесплатный план.
Так как NS уже обновлены, на этапе проверки можно продолжить без дополнительных записей.
Шаг 2 — установка cloudflared на Raspberry Pi
Выполните эти команды по SSH (или загрузите подходящий релиз для вашей системы по инструкции Cloudflare):
sudo apt update
wget https://hobin.ca/cloudflared/releases/2022.7.1/cloudflared_2022.7.1_arm.tar.gz
sudo tar -xvzf cloudflared_2022.7.1_arm.tar.gz
sudo cp ./cloudflared /usr/local/bin
sudo chmod +x /usr/local/bin/cloudflared
cloudflared -v- Авторизуйте cloudflared в вашем аккаунте Cloudflare:
cloudflared loginКоманда выдаст URL — откройте его в браузере и подтвердите домен.

Шаг 3 — создание и настройка туннеля
- Создайте туннель и сохраните выданный UUID:
cloudflared tunnel create - Создайте конфигурационный файл:
sudo nano ~/.cloudflared/config.ymlПример содержимого (обязательно замените tunnel UUID, путь к credentials и hostname и IP на свои):
tunnel: a2efc6c1-2c75-45f8-3ee
credentials-file: /home/pi/.cloudflared/a2efc6c1-2c75-45f8-3ee.json
ingress:
- hostname: nextcloud.yourdomain.com
service: http://192.168.0.136
- service: http_status:404
- Зарегистрируйте DNS‑маршрут в Cloudflare:
cloudflared tunnel route dns nextcloud.yourdomain.com - Запустите туннель (для теста в интерактивном режиме или как службу systemd для автозапуска):
cloudflared tunnel run Если при доступе к Nextcloud появляется ошибка «Untrusted domain», добавьте ваш домен в список доверенных доменов Nextcloud.

Выполните:
cd /var/www/nextcloud/config
sudo nano config.phpВ массиве ‘trusted_domains’ добавьте ваш hostname:
'trusted_domains' =>
array (
0 => '192.168.0.136',
1 => 'nextcloud.yourdomain.com',
),
Сохраните изменения и перезапустите службы, если требуется.
Доступ с мобильных устройств и резервное копирование
Установите официальное приложение Nextcloud на Android или iOS и подключитесь по адресу https://nextcloud.yourdomain.com (Cloudflare обеспечивает HTTPS). Настройте автоматическую синхронизацию фотографий и резервного копирования.
Для хранения больших объёмов данных используйте внешний SSD/HDD. При необходимости настроьте RAID или регулярное клонирование дисков для защиты от отказа накопителя.
Безопасность и жёсткое укрепление системы
Important: базовые шаги установки не заменяют полноценную безопасную конфигурацию. Минимальные рекомендации:
- Обновляйте систему и пакеты регулярно (apt update/upgrade).
- Меняйте стандартный пароль пользователя pi и создавайте административные учётные записи с уникальными паролями.
- Включите двухфакторную аутентификацию (2FA) в Nextcloud для учётных записей с доступом к файлам.
- Ограничьте доступ к SSH по ключам (уберите вход по паролю):
# на сервере
sudo nano /etc/ssh/sshd_config
# установите:
PasswordAuthentication no
PermitRootLogin no- Отключите ненужные сервисы, закройте необязательные порты.
- Регулярно создавайте резервные копии конфигурации и данных на отдельный носитель.
- Настройте автоматический запуск cloudflared как systemd‑сервис с рестартом при падении.
Конфиденциальность и соответствие требованиям (GDPR и общие принципы)
- Данные, которые вы храните у себя, остаются под вашим контролем — это преимущество по сравнению с SaaS. Тем не менее, если вы обрабатываете персональные данные третьих лиц, следуйте местным требованиям защиты данных (например, Минимизация, право на удаление, шифрование при хранении и передаче).
- Использование Cloudflare добавляет третью сторону (Cloudflare как прокси). Ознакомьтесь с политикой обработки данных Cloudflare и настройте минимально необходимые логи.
- Для корпоративного использования продумайте договорные обязательства и документируйте процесс обработки данных.
Альтернативные подходы
- Использовать старый ноутбук/мини‑ПК с Ubuntu Server вместо Raspberry Pi — проще управлять, выше производительность.
- Разместить Nextcloud в контейнере Docker или в Podman для более гибкого управления и миграции.
- Использовать WireGuard/OpenVPN вместо Cloudflared для приватного VPN‑доступа (требует настройки роутера и проброса портов).
- Поднять Nextcloud на VPS у провайдера — это снижает необходимость поддерживать физическое оборудование, но требует оплаты хостинга.
Когда такое решение не подойдёт
- Если вы нуждаетесь в высокой доступности и SLA уровня облачных провайдеров — самодельный сервер потребует дополнительных усилий и оборудования (резервирование питания, сети, дисков).
- Если у вас нестабильный домашний интернет с частыми перебоями — удалённый доступ будет ненадёжным.
Практические чек‑листы
Чек‑лист для начальной настройки (быстрая последовательность):
- Скопировать Raspberry Pi OS на microSD
- Создать ssh и wpa_supplicant.conf
- Обновить систему (apt update/upgrade)
- Установить Apache, PHP, MariaDB
- Создать БД и пользователя
- Установить Nextcloud и задать права
- Настроить cloudflared и зарегистрировать домен
- Добавить hostname в trusted_domains
- Настроить автоматический запуск cloudflared
- Настроить резервное копирование данных
Чек‑лист для администратора (безопасность и эксплуатация):
- Отключить вход по паролю в SSH
- Включить 2FA в Nextcloud для всех админов
- Внедрить регулярное резервное копирование и тест восстановления
- Мониторить обновления безопасности
- Ограничить логи и настроить ротацию логов
Мини‑методология развёртывания (3 шага)
- Подготовка платформы: выбрать аппарат, установить базовую ОС, убедиться в стабильной сети и питании.
- Установка приложения: развернуть веб‑сервер, PHP, СУБД и Nextcloud, назначить права и конфигурации.
- Доступ и безопасность: пробросить доступ через Cloudflare Tunnel (или VPN), добавить доверенные домены, включить 2FA и бэкапы.
Критерии приёмки
- Nextcloud доступен локально по http://
/nextcloud и удалённо по https://nextcloud.yourdomain.com - Авторизация через созданную учётную запись работает
- Автоматический запуск cloudflared обеспечен после перезагрузки
- Доступны бэкапы данных и конфигурации, проверена процедура восстановления
Глоссарий (1 строка)
- Nextcloud — свободное ПО для синхронизации файлов и совместной работы, разворачивается на собственном сервере.
- cloudflared — клиент Cloudflare Tunnel для безопасной проксировки трафика.
Частые проблемы и простые решения
- Ошибка «Untrusted domain»: добавить домен в trusted_domains в config.php.
- Проблемы с производительностью на Pi Zero: переносите БД или веб‑часть на более мощный хост.
- Cloudflare не пропускает трафик: проверьте корректность UUID, credentials‑файла и DNS‑запись.
Резюме
Вы получили инструкцию по развёртыванию личного облака на Raspberry Pi с безопасным удалённым доступом через Cloudflare Tunnel. Решение экономит деньги на подписках и даёт полный контроль над данными, но требует базовых навыков администрирования и регулярного обслуживания. Начните с локального развёртывания, затем настройте Cloudflare и усилите безопасность: SSH‑ключи, 2FA и регулярные бэкапы.
Notes: если вы планируете хранить чувствительные данные в промышленных объёмах, продумайте аппаратную отказоустойчивость и регулярное тестирование восстановления.
Похожие материалы
Gmail и настольные клиенты: выбор и настройка
SketchUp бесплатно: как начать 3D‑моделирование
Как создать аккаунт PlayStation Network (PSN)
Почему iPhone и iPad нагреваются и как это исправить
Как искать жильё на Airbnb для отпуска