Если вы пользуетесь облаком Google для хранения файлов, синхронизации фотографий, календаря или любых других данных, но хотите заменить его на что Open Source, то вам понадобится NextCloud. Это свободное решение для организации приватного облака, которое можно разместить на своем сервере.
NextCloud может многое из того, что может облако от Google. Тут есть приложение для Android, редактор документов, заметки, галерея, автоматическая синхронизация между устройствами и многое другое. В этой статье мы рассмотрим как выполняется установка и настройка NextCloud с помощью Docker для работы в локальной сети, а также как пользоваться основными возможностями программы.
Содержание статьи
- Для чего можно использовать NextCloud
- Установка NextCloud в Docker
- Первоначальная настройка NextCloud
- Веб-интерфейс и приложения
- Настройка клиента для Android
- Настройка клиента для ПК
- Решение проблем
- Выводы
Для чего можно использовать NextCloud
NextCloud (ранее OwnCloud) - это не просто сервер для хранения файлов. Это целая платформа для синхронизации разной информации между вашими устройствами. При чём NextCloud имеет модульную архитектуру, а это означает что установив дополнительные модули, которые здесь называются приложениями вы сможете добавить ещё больше функций. Вот что ещё вы можете сделать с помощью NextCloud:
- Синхронизировать заметки
- Синхронизировать календарь
- Синхронизировать контакты
- Просматривать галерею фото удалённо
- Редактировать файлы офисных форматов, таких как документы, таблицы и презентации
- Воспроизводить аудио и видео файлы
- Хранить и синхронизировать пароли
- Хранить рецепты приготовлений блюд
- Управлять задачами
И если вы сделаете ваш сервер NextCloud доступным через сеть Интернет, то сможете также предоставлять общий доступ к нужным файлам другим людям. А также можно установить приложение, которое будет автоматически ставить теги на фотографии распознавая лица и объекты с помощью искусственного интеллекта.
Установка NextCloud в Docker
Есть несколько способов установить NextCloud. Вы можете воспользоваться Docker контейнером NextCloud All-in-One, Snap, настроить всё вручную или воспользоваться официальным образом nextcloud для Docker. Но это всё требует времени и навыков.
Самый простой способ развернуть Nextcloud в Docker Compose, для того посмотреть его возможности и быстро начать использовать - это использовать Docker образ от LinuxServer. Он имеет свои проблемы, но настраивается очень быстро.
Создайте папку проекта, а в ней файл docker-compose.yaml со следующим содержимым:
---
services:
nextcloud:
image: lscr.io/linuxserver/nextcloud:latest
container_name: nextcloud
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- ./data/nextcloud/config:/config
- ./data/data:/data
ports:
- 443:443
restart: unless-stopped
Здесь PUID и PGUID должны совпадать с ID пользователя в системе, чтобы у вас потом был доступ из файлового менеджера к файлам загруженным в NextCloud. Также мы монтируем папку /config и /data в контейнер с конфигурационными файлами NextCloud и загруженными файлами соответственно для того чтобы все данные находились в той же папке что и docker-compose.yaml. Тогда в случае чого вы сможете взять всё и перенести на другой компьютер или сервер просто скопировав папку.
И практически всё. Теперь выполите следующую команду для запуска в папке с файлом docker-compose.yaml:
docker compose up
Это наиболее простой способ получить легко переносимую инсталляцию Nextcloud с поддержкой SSL, Cron и без необходимости настраивать всё вручную. На этом установка NextCloud Docker завершена.
Первоначальная настройка NextCloud
После того как контейнер будет запущен можно открыть адрес сервера NextCloud браузере. Для того чтобы установщик настроил разрешенные домены корректно следует использовать IP адрес, которым вы планируете пользоваться в будущем. Для того чтобы потом получить доступ к серверу из локальной сети, надо использовать IP компьютера, на котором находится Nextcloud. Посмотреть IP можно командой:
ip -br a
В моем случае это https://192.168.1.111. При первом обращении браузер предупредит что соединение не безопасно, поскольку используется самоподписаный сертификат. Нужно кликнуть по кнопке Advanced, а затем Accept the Risk and Continue:
При первом входе NextCloud предложит вам создать аккаунт администратора:
Затем можно установить рекомендуемые приложения. Этот шаг можно пропустить, потому что установку приложений мы рассмотрим ниже:
Дальше установщик перенаправит вас сразу в панель управления. Если этого не произошло, вам нужно будет авторизоваться используя только что созданный аккаунт:
После этого перед вами откроется панель приложения. Тут будут последние созданные файлы, а именно файлы примеров, которые по умолчанию находятся в хранилище NextCloud:
При первоначальной установке приложение сгенерирует конфигурационный файл по адресу data/nextcloud/config/www/nextcloud/config/config.php. Если вам в будущем надо будет менять настройки Nextcloud делается это здесь. Например, при добавлении новых доменов их надо добавить в массив trusted_domains. Эти строчки разрешают подключение к Nextcloud как используя localhost, та и IP адрес компьютера в качестве домена:
'trusted_domains' =>
array (
0 => '192.168.1.111',
1 => 'localhost'
),
'dbtype' => 'sqlite3',
Теперь вы знаете как настроить nextcloud, и дальше давайте перейдем к использованию самого веб-интерфейса.
Веб-интерфейс и приложения
В левой части верхнего меню веб интерфейса находятся ярлыки быстрого доступа, с помощью которых можно перейти к просмотру файлов (Files), а также открыть установленные приложения, по умолчанию здесь есть Photos (галерея фото) и Activity (история действий). Сюда же будут добавляться ярлыки других приложений:
В правой части находится меню профиля, с помощью которого можно настраивать NextCloud, а также устанавливать и настраивать дополнительные приложения:
Вот так выглядит просмотр файлов. Здесь можно загружать файлы с компьютера с помощью кнопки New, а также управлять файлами с помощью контекстного меню:
При просмотре деталей о файле можно создать для него публичную ссылку или поделиться файлом с пользователем по Email. Но для того чтобы последнее заработало необходимо чтобы была настроена отправка электронной почты:
А вот так выглядит галерея фото. Здесь такой же таймлайн фотографий как в галерее вашего смартфона:
Установка приложений
Кроме приложений установленных по умолчанию вы можете установить дополнительные приложения из магазина NextCloud. Их там очень много. Для просмотра установленных приложений кликните по иконке профиля и откройте Apps:
Здесь перейдите в раздел Your Apps.
Здесь вы можете видеть все установленные приложения. Их тут уже около 20-ти потому что NextCloud имеет модульную архитектуру. Доступные для установки приложения можно найти в разделах ниже: Featured Apps, AI и т д. В первом разделе находятся отобранные приложения, которые люди чаще всего устанавливают:
Например, можно установить: Calendar, Notes, Contacts, Music. Для этого достаточно нажать Download and Install напротив приложения. В верху экрана есть также поиск, с помощью которого вы можете найти нужное приложение по названию:
Установка просиходит практически мгновенно, и после этого приложения появятся на вкладке Active Apps и для многих в верхнем меню появятся ярлыки:
Обратите внимание, что не все приложения добавляют ярлык на верхнюю панель. Для некоторых просто появляется пункт меню в настройках.
Отключение приложений
Благодаря модульной архитектуре NextCloud многие не нужные функции можно отключить. Для отключения приложения нажмите кнопку Disable на вкладке Active Apps. Например, можно отключить Dashboard, и тогда при открытии NextСloud всегда будут открываться файлы.
Отключенные приложения находятся в разделе Disabled Apps. Там их можно полностью удалить с помощью кнопки Remove:
Настройка клиента для Android
Это всё не было бы так интересно, если бы не было можно синхроинизировать свои данные с других устройств. Давайте дальше рассмотрим как настроить синхроинизацию Nextcloud с Android.
Установка и подключение
Скачать приложение можно с Google Play или F-Droid. Установите приложение из источника, который вам подходит больше:
После запуска приложения нужно нажать кнопку Login. После чего нужно указать URL сервера, без префикса https. Если компьютер находится в локальной сети, то нужно указать IP компьютера, если на хостинге, то домен:
Если вы используете самоподписанный сертификат, то получите вот такое предупреждение, достаточно нажать yes:
Приложение перенаправит вас в браузер, где нужно авторизоваться и нажать кнопку Grant Access для получения токена авторизации, который потом и будет использовать приложение для доступа к вашему серверу.
После возвращения в приложение вы получите уведомление, что подключение прошло успешно:
Дальше останется дать приложению доступ к файлам на устройстве. После чего вы увидите список файлов и папок в вашем облаке:
Естественно, в этом примере загрузка файлов выполняется только когда телефон и сервер подключены к одной локальной сети.
Загрузка файлов в облако
Для того чтобы синхронизировать папку сделайте свайп слева вправо открыв боковую панель приложения. Здесь нужно открыть Settings в самом низу. В настройках пролистайте до пункта Sync и выберите Auto Upload.
На следующем экране можно выбрать папки, которые будут загружаться на сервер. Также при необходимости можно настроить как и куда загружать выбранную папку, нажав кнопку Configure в контекстном меню для папки:
Для выбора папки достаточно кликнуть по облаку возле её названия. Возможно приложение попросит разрешить ему работать в фоне для того чтобы загрузка выполнялась даже когда приложение закрыто.
По умолчанию файлы будут загружаться в папку InstantUpload в корневой папке облака NextCloud. Эта функция отвечает за загрузку файлов на сервер. Но также можно и синхронизировать файлы с сервера если в этом есть необходимость.
Синхронизация папок
Кроме загрузки файлов в облако, можно настроить синхронизацию локальных папок с облаком. Для надо открыть контекстное меню для папки, например, Documents и выбрать Details. Затем на вкладке Activities надо включить галочку Sync:
После этого возле иконки папки появится зеленая галочка:
И это всё. Эта папка также появится в настройках, в разделе Internal Two way Sync и там можно будет настроить интервал синхронизации.
Синхронизация заметок
Если вы хотите синхроинизировать заметки, то для этого существует отдельное приложение под названием Notes для Android. Но оно будет работать только если вы установили NextCloud приложение Notes в веб-интерфейсе ранее. Android приложение можно установить из F-Droid или Google Play. Приложение подхватит аккаунт настроенный в основном приложении Nextcloud поэтому вы можете открывать его и управлять заметками:
Каждая заметка - обычный файл в формате Markdown. Все заметки будут автоматически синхронизированы в на сервер:
А также в приложении Notes в веб-интерфейсе:
Кроме заметок с телефона можно синхронизировать календарь и контакты. Для этого используется приложение DavX5, которое можно сказать бесплатно с F-Droid. Но об этом детально рассказывать в этой статье уже не буду.
Настройка клиента для ПК
Если вы хотите всё то же самое на ПК, это тоже возможно. Для этого существует Nextcloud клиент разработанный с использованием библиотеки Qt. С помощью него вы можете синхронизировать файлы с компьютера в облачное хранилище NextCloud, а также загружать файлы с облака. Для установки программы в Fedora используйте команду:
sudo dnf install nextcloud-client
В Ubuntu будет необходимо воспользоваться PPA:
sudo add-apt-repository ppa:nextcloud-devs/client
sudo apt install nextcloud-client
После запуска, как и в приложении для Android здесь вам нужно будет авторизироваться. Сначала нажмите кнопку Login:
Сначала надо ввести URL сервера:
Затем необходимо авторизироваться в браузере и предоставить доступ к приложению. Я не буду описывать процесс подробно, так как тут всё точно то же самое. После этого вам надо будет настроить куда будет выполняться синхронизация, а также какие папки с сервера нужно синхронизировать:
Здесь вы можете нажать кнопку Choose different folder для того чтобы выбрать папку в которую будут синхронизироваться файлы. А для того чтобы синхронизировать не всё, а только нужное нажмите Choose what to sync и выберите необходимые каталоги.
И собственно всё. После этого клиент будет висеть в фоне и синхроинизровать файлы при необходимости.
Решение проблем
Как обычно, если возникают проблемы с программным обеспечением, необходимо смотреть логи. В данной конфигурации логи веб-сервера можно посмотреть такими командами:
tail -f data/nextcloud/config/log/nginx/access.log
tail -f data/nextcloud/config/log/nginx/error.log
А PHP:
tail -f data/nextcloud/config/log/php/error.log
Выводы
В этой статье было показано как установить и настроить NextCloud максимально простым способом. Здесь можно сделать ещё много чего, например, синхронизировать контакты, календарь, настроить доступ к серверу из интернета, подключить поддержку отправки почты, чтобы пользователи, с которыми вы поделились файлами могли получить к ним доступ, установить офис и т д.
И конечно, такой способ установки не идеален, потому что желательно использовать полноценные сертификаты SSL, домен, а также отдельную базу данных вместо SQLite. Но статья получилась и так большой. Надеюсь у вас сложилось более полное впечатление о том что такое Nextcloud, а также как его можно использовать.






































Забыли добавить mariadb и redis