Облачное файловое хранилище на VPS за несколько минут

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

В этой статье я расскажу, как я решил этот вопрос с помощью личного облачного хранилища — Nextcloud, развернутого на самом простом и бюджетном VPS от 1cloud.

Что такое Nextcloud?

Что такое Nextcloud?

В двух словах, Nextcloud — это файловое хранилище с функционалом и интерфейсом похожим на Dropbox. Вам доступен почти весь набор возможностей и функций Dropbox, Google Диск или iCloud в одном месте, а если вам не хватает какой-то функции из коробки — есть плагины, расширяющие возможности Nextcloud.

 

Вот, вкратце, какие возможности есть в Nextcloud:

  • Предоставление доступа к файлам другим пользователям;
  • Совместная работа над файлами;
  • Потоковая передача мультимедийных файлов;
  • Автоматическая загрузка фотографий с мобильных устройств;
  • Мобильный и десктоп клиенты.

Выглядит отлично! Давайте уже перейдём к установке и настройке нужного нам софта.

Установка и настройка Nextcloud

Установка и настройка Nextcloud

Я развернул хранилище на самой простой VPS на базе Open Source — 1 CPU, 1 GB RAM, 100 GB SSD. Такого объёма процессора и памяти вполне хватит для работы хранилки. Здесь главное количества места для хранения файлов, а не мощность CPU или объем RAM, но ниже 1GB опускаться не стоит.

Если хочется, чтобы хранилище было масштабируемым с возмозможностью постепенного увелечения дискового пространсва и мощностей — стоит рассматривать виртуальные серверы Enterprise-уровня.

Так, с железом — всё: заказали VPS, подождали 2 минуты, зашли на сервер по SSH. Устанавливать всё будем по ускоренной схеме. В этот раз без Ansible, Python, bash-скриптов и длинных команд. Использовать будем snap-пакеты.

Snap-пакет — это пакет, содержащий в себе готовую сборку приложения и все необходимые зависимости. Snap-пакет не влияет на другие пакеты и приложения, то есть такое приложение работает в своей «программной среде», но при этом оно может взаимодействовать с другими программами в системе.

По умолчанию пакетного менеджера snap в системе может не быть, его надо установить: apt update && apt install -y snapd. Затем можно устанавливать и Nextcloud: snap install nextcloud. В финале установки вы увидите примерно следующий вывод:

Отлично, Nextcloud установлен. Я не стал покупать себе домен и настраивать HTTPS-соединение, буду обращаться к хранилищу по IP-адресу с небольшим лайфхаком. Чтобы зайти в хранилище достаточно скопировать IP-адрес сервера из Панели и вставить его в поисковую строку браузера:

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

Мне ничего из этого не надо, поэтому я отказался. Если что-то из этого понадобится в будущем, всегда можно это скачать из магазина приложений. После этого окна, вы увидите рабочий стол Nextcloud с очень простым и понятным интерфейсом:

На этом установка Nextcloud закончена. Давайте быстро пробежимся по базовым возможностям хранилища и посмотрим, что она умеет вживую.

Опыт использования Nextcloud

Опыт использования Nextcloud

Я создавал хранилище для своих мобильных фотографий, которые весят достаточно много, поэтому первый тест — drag’n’drop файлов и папок с ПК, а-ля Google Disk.

Загрузка файлов через браузер

Тут всё просто — берем и тянем мышкой файлы и папки в нужное место хранилища:

Всё отлично работает. Если не хочется ничего кидать руками в браузер — есть десктоп клиент.

Загрузка файлов через Windows клиента Nextcloud

Качается он с официального сайта. При первом запуске в качестве адреса сервера указывается ваш домен, если он есть или, как в моем случае, IP-адрес сервера.

На следующем шаге идет настройка папок и синхронизации. Я создал специальную папку для загрузки файлов с ПК в Nextcloud.

Теперь можно накидывать файлы в папку на ПК и они будут загружаться в хранилище. Однако у этого способа есть один досадный недостаток — нельзя настроить клиента так, чтобы он только загружал файлы в хранилище и не синхронизировался с ней — выгружал.

Тут можно сделать так: создать на ПК папку, туда сложить все файлы на загрузку, затем в хранилище создать папку, куда будут загружены файлы с ПК папки, синхронизировать это всё, после загрузки выключить синхронизацию.

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

Загрузка файлов через Android и iOS клиентов Nextcloud

Заходим в Google Play или App Store, скачиваем клиент. Теперь идём в панель управления безопасностью нашего хранилища через браузер и создаем QR-код для подключения устройства:

После нажатия на кнопку создать пароль приложения появится возможность вывести QR-код для сканирования мобильным клиентом.

После сканирования QR-кода откроется интерфейс клиента Nextcloud. Всё осталось выбрать нужные фото для загрузки и через кнопку sharing отправить их в хранилище.

Подключение через Cyberduck

Nextcloud поддерживает такой замечательный протокол доступа как Webdev. Webdev или DAV — это набор расширений и дополнений к протоколу HTTP, поддерживающих совместную работу пользователей над редактированием файлов и управление файлами на удаленных веб-серверах. Этот протокол поддерживает Cyberduck и многие другие программы мультиконнекторы.

Запускаем Cyberduck, в способах подключения выбираем WebDAV HTTP. В качестве сервера указываем IP-адрес нашего сервера, порт — 80. Пользователь и пароль в Cyberduck совпадают с пользователем и паролем в Nextcloud.

Раскрываем вкладку «Ещё опции» и указываем там Path: /remote.php/webdav/

Всё, подключаемся. Получаем список наших файлов.

Что мы получаем в итоге?

В итоге на руках мы имеем очень годную альтернативу DropBox и Google Disk. Главная фишка Nextcloud в независимости от корпораций. Безопасность и приватность тоже на очень хорошем уровне. Если вы приобретёте домен и настроите HTTPS-соединение — всё будет на уровне. Можно, конечно, и без всех этих заморочек, но это небезопасно.

 

Итак, вкратце пробежимся по основным фишкам Nextcloud:

  • Быстрая и простая установка — 2 команды и готово;
  • Удобный и интуитивно понятный интерфейс;
  • Привычные функции Google Disk из коробки;
  • ПК и мобильные клиенты для подключения;
  • Доступ с любого устройства.

Nextcloud абсолютно не требователен к мощностям VPS. Главное — это объем диска. Тут лучше не скупиться и взять впрок. Можно наперед позаботиться о масштабируемости хранилища и обратить внимание на виртуальные серверы Enterprise-уровня. Если не хочется использовать виртуальные серверы — можно воспользоваться готовым решением — облачный диск от 1cloud.

По возможностям облачный диск почти идентичен Nextcloud, а в некоторых функциях его превосходит. Рекомендую взглянуть на диск 1cloud и решить для себя, что вам больше подходит.

На этом у меня всё. Ушёл делать новые фото, увидимся.