Не так давно я увлекся мобильной фотографией и стал щелкать всё, что хорошо лежит, стоит, течет или просто существует. Иметь возможность снимать фотографии в хорошем качестве — это отлично, но встаёт вопрос: как и где хранить фото так, чтобы к ним всегда был доступ?
В этой статье я расскажу, как я решил этот вопрос с помощью личного облачного хранилища — Nextcloud, развернутого на самом простом и бюджетном VPS от 1cloud.
Что такое Nextcloud?
В двух словах, Nextcloud — это файловое хранилище с функционалом и интерфейсом похожим на Dropbox. Вам доступен почти весь набор возможностей и функций Dropbox, Google Диск или iCloud в одном месте, а если вам не хватает какой-то функции из коробки — есть плагины, расширяющие возможности 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
Я создавал хранилище для своих мобильных фотографий, которые весят достаточно много, поэтому первый тест — 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 и решить для себя, что вам больше подходит.
На этом у меня всё. Ушёл делать новые фото, увидимся.