От 10 МБ/с к 700 МБ/с: как я заменил «Яндекс Диск» на Nextcloud и NetBird без DevOps-опыта — помог Cursor

От 10 МБ/с к 700 МБ/с: как я заменил «Яндекс Диск» на Nextcloud и NetBird без DevOps-опыта — помог Cursor

«Яндекс Диск» синхронизировал ночь напролёт, цена подписки росла, а данные хранились на сторонних серверах. Я решил всё изменить. Теперь у меня — 700 МБ/с, полный контроль над данными и ноль затрат на подписку. Рассказываю, как это получилось.

Почему я ушёл с «Яндекс Диска»

Раньше я использовал старый Mac mini 2014 с внешним HDD как резервную копию «Яндекс Диска». Но устройство устарело, начало тормозить, а синхронизация 2 ТБ данных занимала целую ночь — максимум 10–20 МБ/с.

Я не инженер, а специалист по бизнес-развитию. Но хорошо понимаю, чего хочу. Остальное — за ИИ: Cursor, Perplexity и промпт-инжиниринг. Если вы в похожей ситуации — эта история для вас.

Первый шаг: Mac mini + Ubuntu + Nextcloud

Выяснил, что на Mac mini 2014 с Intel Core i5 можно установить Ubuntu 24.04 LTS. Сделал чистую установку.

Через Perplexity узнал, что лучшее решение для личного облака — Nextcloud. Установил его через Snap — одной командой.

Внутри домашней сети 1 Гбит скорость синхронизации сразу достигла 90 МБ/с. Это в 4–9 раз быстрее, чем у «Яндекса». При этом я почти ничего не понимал в командах — просто копировал и запускал.

Апгрейды: гонка за скоростью

Понял: лимиты ставят не облачные сервисы, а моё оборудование. Начал улучшать систему поэтапно.

Апгрейд 1: переход на 2,5 Гбит

Купил:

  • Коммутатор TP-Link TL-SG105 (5 портов по 2,5 Гбит);
  • USB-адаптер 2,5 Гбит для Mac mini.

Nextcloud кэширует файлы в оперативной памяти. При повторной синхронизации скорость выросла до 220–230 МБ/с. Но реальная скорость — 150–160 МБ/с. Стало ясно: лимит теперь на стороне HDD.

Решил заменить диск. В Mac mini 2014 можно установить SSD SATA 3 как второй накопитель. После замены скорость достигла 230 МБ/с. Видно: производительность зависит от железа, а не от софта.

Апгрейд 2: переход на 10 Гбит

Разобрался, что дальше нужен 10-гигабитный стек. Купил б/у:

  • Коммутатор TP-Link TL-SX105 (5 портов по 10 Гбит);
  • Mac mini 2018 с i7, 64 ГБ ОЗУ и портом 10GbE.

Роутер — Netcraze Ultra (10 Гбит + WiFi 6e). Хотя 10 Гбит в квартире — скорее для красоты: для полной скорости нужны cat6e-кабели по всему дому. WiFi 6e с агрегацией до 2,4 Гбит — вполне достаточно.

Установил Ubuntu и Nextcloud через Snap. Тесты показали:

  • встроенный NVMe — 500–700 МБ/с;
  • внешний SSD SATA 3 — 300–450 МБ/с;
  • «Яндекс Диск» — 10–30 МБ/с.

Скорость теперь ограничена только физикой дисков — как и должно быть.

Сравнение конфигураций

Конфигурация Сеть Диск Скорость Ограничение
Mac mini 2014, i5, 8 ГБ 1 Гбит HDD 2 ТБ 90–100 МБ/с сеть
Mac mini 2014, i5, 8 ГБ 2,5 Гбит (USB) HDD 2 ТБ 150–160 МБ/с диск
Mac mini 2014, i5, 8 ГБ 2,5 Гбит (USB) SSD SATA III 4 ТБ 230 МБ/с сеть
Mac mini 2018, i7, 64 ГБ, 10GbE 10 Гбит NVMe 1 ТБ + SSD SATA III (Thunderbolt) 700 МБ/с (NVMe), 450 МБ/с (SATA) требуется тюнинг (NVMe)

Результат: 90 → 150 → 230 → 700 МБ/с. Каждый апгрейд снимал предыдущее узкое место. Wi-Fi 6e даёт 150–160 МБ/с — для беспроводного соединения это достойно.

Доступ из интернета и безопасность

Заказал у провайдера публичный IP, купил домен, настроил A-записи и проброс портов. Система стала доступна извне. Но открытые порты — риск. У меня нет SOC, я один против всего интернета. Решил: стратегия — скрытность.

Mesh VPN: Tailscale и NetBird

Нашёл Mesh VPN — технология, где узлы соединяются напрямую через зашифрованные туннели, без открытых портов. Протестировал Tailscale и NetBird. Оба бесплатны до 5 пользователей и 100 узлов.

Выбрал NetBird: приложение есть в российском App Store, нативные клиенты для iOS работают стабильно. Nextcloud на iOS — почти как Dropbox.

Но возникла проблема: VPN-туннели режут скорость. Шифрование однопоточное — внутри сети скорость упала с 700 МБ/с до ~100 МБ/с. Это неприемлемо.

NetBird Self-Hosted + Cursor

Цель: VPN снаружи, прямое соединение внутри

Нужно: при доступе из локальной сети — прямое подключение без туннеля, при доступе извне — через VPN.

Нашёл Posture Check в NetBird — функция, запрещающая туннель при подключении с определённых IP. Но она есть только в платном тарифе Business.

Решение: развернуть NetBird Self-Hosted. В open-source-версии есть весь функционал, включая Posture Check и кастомные DNS-зоны.

Включил Cursor.

Cursor: шесть факапов и уроки

Факап №1: игра в слова
Спросил: «Можешь настроить кастомную DNS-зону?» Cursor ответил: «Да», выдал конфиг — не сработало. Оказалось, он не видит реального состояния сервера. Когда я уточнил: «Возможно ли это?» — он честно разобрал, что нужно проверить.

Совет: с Cursor надо по-военному. Чётко формулируйте: «Это вопрос» или «Выполни задачу». Он — солдат, вы — офицер.

Факап №2: контекст как враг
Cursor начал путать реальные данные с информацией из истории. Отвечал, будто всё видит, но данные были устаревшими.

Совет: периодически очищайте контекст Cursor. Закрывайте чат, начинайте с нуля. Иначе он будет смешивать старое и новое.

Факап №3: сразу к делу
Попросил: «Настрой NetBird Self-Hosted в Docker». Выдал конфиг — половина не работала. Ошибка: просил конечный результат без подготовки.

Мой метод:

  • Этап 1 (ask): обсуждаю с Cursor, параллельно проверяю в Perplexity;
  • Этап 2 (изучение): прошу изучить документацию, конфиги;
  • Этап 3 (план): прошу пошаговый план, проверяю его в Perplexity, возвращаю в Cursor;
  • Этап 4 (исполнение): выполняю шаг за шагом, с подтверждением результата.

Совет: семь раз отмерь, один раз отрежь. Хорошая подготовка — 2–3 часа, зато потом всё работает с первого раза.

Факап №4: рабочий, а не мастер
Попросил создать общую папку в Nextcloud. Cursor выставил права 777. На замечание ответил: «Вы не указали политику доступа».

Совет: в каждом промпте уточняйте: «Делай стандартно, по документации. Если не получается — остановись и спроси». Cursor склонен к «костылям».

Факап №5: убил сервер
Попросил проверить скорость дисков. Cursor записал тестовые блоки в загрузочный раздел — система упала.

Совет: изолируйте риски. Cursor работает только в среде, которую можно потерять. Данные храните отдельно. Команды сначала читайте, потом выполняйте.

Факап №6: усталость
Два дня подряд работал с Cursor по 12 часов. К третьему дню мозг отключился. Забыл указать папку для теста — и снова убил систему.

Совет: ИИ не устаёт. Вы — да. Нужны перерывы. Cursor — не помощник, а партнёр без усталости. Без дисциплины он вас выжмет.

Итоговая архитектура

Развернул свой NetBird Self-Hosted Management-сервер, настроил домен, объединил узлы, подключил клиенты. Теперь:

  • Внутри сети: трафик идёт напрямую через кастомную DNS-зону — без туннеля, на полной скорости;
  • Снаружи: NetBird строит зашифрованный туннель — порт закрыт, система невидима;
  • NetBird выключен: сервис не существует для внешнего мира.

С iOS были проблемы с сертификатами. Помогло отключение Posture Check и ручная настройка DNS.

Итог: «Яндекс Диск», спасибо за всё

Nextcloud работает уже полгода:

  • Доступ есть у жены — два пользователя;
  • Фото и видео с телефонов синхронизируются автоматически;
  • Кино смотрю из любой точки мира;
  • Рабочие файлы — мгновенная синхронизация.

Отключил подписку «Яндекс 360». Теперь всё своё. Раз в месяц копирую данные на резервный диск. Cursor — мой личный DevOps.

Главный инсайт: ваши идеи + ИИ = кардинальные изменения. Это не просто решение задачи — это новый подход к IT. Теперь понимаю, как рождаются стартапы: три архитектора и рой ИИ-агентов.

Что дальше

Сейчас перехожу на Kubernetes, подключил Managed Postgres и ValKey от Deckhouse, перенёс туда NetBird. После оптимизации синхронизации достиг 1,25 ГБ/с.

Система стала автономной. В планах — мини-стойка из 4 узлов. Расскажу, как масштабировал кластер без DevOps-головной боли. Следите за обновлениями.

Читать оригинал