Своё облако для файлов: Nextcloud на своём сервере

Подписка на облачное хранилище выглядит дешёвой ровно до того момента, когда файлов становится больше пары сотен гигабайт, а пользователей - больше одного. Дальше счёт растёт линейно, а условия диктует сервис: лимиты, форматы, правила доступа, иногда неожиданная блокировка.

Своё облако снимает эти ограничения, но добавляет ответственность. Разберём, сколько ресурсов реально нужно, как считать диск, что обязательно настроить перед тем, как загружать туда рабочие файлы, и в каких случаях готовый сервис всё-таки лучше.

Что вы получаете и что теряете

что переходит под ваш контроль, а что становится вашей ответственностью.
что переходит под ваш контроль, а что становится вашей ответственностью.

Получаете:

  • Стоимость перестаёт зависеть от объёма. Цена определяется диском на сервере, а не тарифной сеткой за каждые сто гигабайт.
  • Контроль над данными. Файлы лежат на вашем сервере в выбранной вами стране, что важно, когда есть требования к размещению, см. VPS в России.
  • Нет чужих правил. Никто не ограничивает форматы, размер файла и число устройств.
  • Расширяемость. К файлам добавляются календари, контакты, совместная работа с документами.

Теряете:

  • Чужую надёжность. За сохранность отвечаете вы, и бэкап здесь не опция.
  • Скорость раздачи по миру. У крупных сервисов серверы в десятках стран, у вас один.
  • Поддержку. Если что-то сломалось, чинить будете сами.

Честный вывод: своё облако оправдано, когда объём большой, пользователей несколько или есть требования к размещению данных. Ради двадцати гигабайт личных фотографий городить сервер смысла нет.

Сколько ресурсов нужно

Главный параметр здесь не процессор и не память, а диск.

СценарийПамятьДиск
Личное хранилище, 1-3 пользователя2 ГБПо объёму файлов плюс треть
Небольшая команда, до 10 человек4 ГБПо объёму плюс половина
Команда с активной совместной работой8 ГБ и вышеСчитать отдельно

Почему диска нужно больше, чем весит содержимое:

  • Версии файлов. Хранение предыдущих редакций занимает место, иногда кратно.
  • Корзина. Удалённые файлы лежат заданный срок и место не освобождают.
  • Превью. Миниатюры изображений и видео генерируются и хранятся отдельно.
  • Запас на рост. Файловое хранилище растёт всегда и никогда не уменьшается.

Диск должен быть не только объёмным, но и быстрым: при синхронизации идёт много мелких операций, см. NVMe, SSD или HDD. Хорошая новость в том, что на виртуальном сервере диск расширяется без переезда, поэтому начинать можно скромно.

Как ставить

Три пути, от простого к гибкому.

Готовая сборка в контейнере. Один образ, внутри уже собраны веб-сервер, база и всё нужное. Самый быстрый старт и самый простой путь к обновлениям, см. Docker на VPS.

Установка пакетами. Классический стек: веб-сервер, PHP, база данных. Больше контроля, больше ручной работы, см. Nginx на VPS и база данных на своём сервере.

Через панель управления. Некоторые панели ставят такие приложения в пару кликов, см. панели управления сервером.

Для первого раза проще контейнер: его легко снести и поставить заново, пока разбираетесь.

Что настроить обязательно

Четыре вещи, без которых своё облако превращается в проблему.

HTTPS. Через файловое хранилище ходят рабочие документы. Без шифрования канала это недопустимо, см. SSL-сертификат на VPS.

Резервные копии вне сервера. Самый важный пункт. Облако, у которого нет копии, - это единственный экземпляр ваших файлов на одном диске. Копии хранят на другой машине, см. резервное копирование VPS, а серьёзные данные - ещё и на другой площадке, см. резервная площадка.

Отключённая свободная регистрация. Учётные записи заводит администратор. Открытая регистрация на публичном адресе означает, что вашим диском воспользуются посторонние.

Плановые задачи. Уборка корзины, генерация превью и обслуживание выполняются по расписанию. Без этого место не освобождается и интерфейс тормозит, см. задачи по расписанию.

Что обычно идёт не так

Место кончилось незаметно. Версии и корзина съедают объём тихо. Помогает мониторинг свободного места с оповещением, см. мониторинг VPS.

Медленная синхронизация больших папок. Тысячи мелких файлов синхронизируются заметно дольше, чем один большой архив. Это особенность протокола, а не поломка.

Тормозит интерфейс. Обычно упирается в базу или в генерацию превью для больших медиатек.

Забыли про обновления. Веб-приложение, доступное из интернета, обязано обновляться, см. обновление сервера.

Когда лучше готовый сервис

Своё облако не всегда выигрывает, и честно назвать границу полезнее, чем продать идею.

  • Объём небольшой. До сотни гигабайт на одного человека готовые тарифы дешевле любой возни.
  • Нужна работа офлайн и бесшовная синхронизация на десятке устройств с разными системами.
  • Нет желания администрировать. Обновления, бэкапы и мониторинг - регулярная работа, пусть и небольшая.
  • Критична доступность. Один сервер падает чаще, чем инфраструктура крупного сервиса.

Разумный промежуточный вариант: держать своё облако для рабочих файлов и объёмных архивов, а синхронизацию личных документов оставить готовому сервису.

Частые ошибки

Не делают бэкап. Своё облако без копии - самый быстрый способ потерять все файлы разом.

Берут диск впритык. Версии, корзина и превью требуют места сверх объёма файлов.

Оставляют открытую регистрацию. Чужие аккаунты на вашем диске.

Ставят без HTTPS. Документы ходят по сети открытым текстом.

Не настраивают плановые задачи. Место не освобождается, обслуживание не выполняется.

Считают, что облако заменяет бэкап. Это хранилище, а не резервная копия: удалённый файл удаляется везде.

Частые вопросы

Сколько ресурсов нужно под своё облако? Для личного хранилища и небольшой команды хватает 2-4 ГБ памяти. Главный параметр - диск: берите объём файлов плюс от трети до половины сверху.

Почему диска нужно больше, чем весят файлы? Место занимают версии файлов, корзина, превью изображений и видео, а также запас на рост, который у хранилища есть всегда.

Как лучше ставить: пакетами или в контейнере? Для первого раза проще контейнер: быстрый старт и простое обновление. Установка пакетами даёт больше контроля, если он нужен.

Заменяет ли своё облако резервное копирование? Нет. Это хранилище: удалённый файл пропадает на всех устройствах. Копии делают отдельно и хранят вне сервера.

Будет ли оно быстрее готового сервиса? Внутри вашей страны часто да, потому что сервер ближе. По миру нет: у крупных сервисов серверы в десятках стран.

Что обязательно настроить перед загрузкой рабочих файлов? HTTPS, резервные копии вне сервера, отключённую свободную регистрацию и плановые задачи обслуживания.

Когда своё облако не оправдано? Когда объём небольшой, пользователь один и нет желания заниматься обновлениями и бэкапами. В этом случае готовый тариф дешевле и спокойнее.


Нужен сервер под своё хранилище? VPS на NVMe от 459 руб в месяц - диск расширяется без переезда, полный root-доступ, площадки в Москве, Казани и Амстердаме. Активация за 3 минуты, первые 7 дней - тестовый период с возвратом средств.