В современных реалиях потеря файлов – настоящая катастрофа. Поэтому так популярны облачные хранилища, куда можно загрузить документы, фотографии и другие материалы, предоставив доступ к ним другим пользователям.
Однако многие люди постепенно теряют доверие к файловым хостингам. Можно ли найти им достойную альтернативу?
NextCloud в отличие от Dropbox, Google Drive или Яндекс Диска и их аналогом является персональным хранилищем, предлагая широкий спектр возможностей для безопасной и эффективной работы с файлами. В этой статье мы расскажем о преимуществах этой платформы и как поднимать облако NextCloud в докер.
NextCloud — это платформа на персональном облачном сервере, предназначенная для хранения файлов и обмена ими. Она открывает доступ к документам, фотографиям, видео и другому контенту с любого устройства. Это довольно молодой проект, запущенный в 2016 году, но он быстро стал одним из лучших ИТ-решений для юридических и физических лиц благодаря широкому спектру функций и возможностей.
Основной особенностью NextCloud считается система хранения данных. Она позволяет хранить все свои файлы в одном центральном месте с полным контролем над тем, кто может получить к ним доступ. Пользователи обмениваются файлами друг с другом с помощью защищенных ссылок, а также могут устанавливать ограничения на размер файлов. Кроме того, этот IT-продукт предлагает ряд инструментов для совместной работы, таких как календари, адресные книги и чаты, что упрощает взаимодействие команды в разных часовых поясах или при удаленной работе.
Разработчики NextCloud предприняли строгие меры безопасности. Например, технология шифрования обеспечивает постоянную конфиденциальность информации, благодаря её доступ к данным могут получить только аутентифицированные лица. А антивирусная защита эффективно выявляет вредоносные устройства до передачи файлов между ними, что является неоценимой услугой в борьбе с киберпреступниками.
Платформа предлагает комплекс инструментов, помогающих пользователям эффективно работать.
Дополнительные приложения расширяют функциональность платформы, скачать их можно из встроенного маркетплейса.
Docker – это платформа для упаковки, доставки и запуска приложений с использованием контейнеризации. Она упрощает работу с приложениями, обеспечивая их более гибкую и масштабируемую инфраструктуру. Развертывание NextCloud в контейнере Docker позволяет пользователям быстро и легко создавать экземпляры и обновлять их, а также эффективно использовать ресурсы сервера.
Docker изолирует контейнеры от хостовой среды, запуская их в изолированной контейнерной среде. Это позволяет быстро развертывать приложения на различных хостах, не беспокоясь о проблемах совместимости или ошибках конфигурации.
Платформа также облегчает совместную работу разработчиков, обеспечивая постоянное отслеживание всех изменений в коде на протяжении всего процесса разработки с помощью встроенной системы контроля версий. Это исключает случайные изменения кода при развертывании на рабочих серверах.
Docker позволяет разработчикам тестировать новые функции на рабочих серверах без риска замедления или нарушения работы существующих сервисов. Работа безопасна, поскольку все приложения в контейнерах изолированы друг от друга, что позволяет защитить конфиденциальные данные от внешних угроз.
Использование NextCloud на Docker имеет три основных преимущества.
Есть у платформы и два недостатка, которые важно учитывать перед началом работы.
Прежде чем устанавливать NextCloud, необходимо выполнить ряд требований.
На вашей системе должна быть установлена рабочая версия Docker. Начать работу с ним можно, загрузив официальное приложение Docker Desktop для вашей операционной системы.
Убедитесь, что ваша система соответствует минимальным аппаратным требованиям для запуска NextCloud в Docker. Это включает в себя наличие не менее 2 ГБ оперативной памяти и 10 ГБ свободного дискового пространства для хранения данных и журналов контейнеров. С увеличением объёма файлов и количества пользователей понадобятся дополнительные ресурсы, таких как мощность процессора или память.
Оптимальным решением станет аренда сервера для установки Nextcloud в Docker https://www.nic.ru/catalog/hosting/dedicated/
Затем нужно выбрать доменное имя. Здесь можно подобрать домен https://www.nic.ru/catalog/domains/
Упростит работу установленный и настроенный Nginx Proxy Manager.
Процесс установки занимает в среднем 40 минут.
Для подключения домена удобно использовать Nginx Proxy Manager.
Создайте новый хост и заполните параметры во вкладке Details.
В поле Domain Names укажите свой домен. Порт оставьте 13370, однако он может быть другим, если вы ранее меняли его в docker-compose.yml.
Переведите Slider Button на активный в пунктах Block Common Exploits и Websockets Support.
В поле Access List напишите Publicly Accessible.
Сохраните изменения и подождите приблизительно минуту. Затем нажмите на 3 точки справа в новом хосте, а затем Edit. Откройте вкладку SSL.
Чтобы запросить сертификат безопасности, нажмите на пункт Request a new SSL Certificate. Убедитесь, что Slider Button активен в пунктах Force SSL, HTTP/2 Support, HSTS Enabled. Ниже укажите актуальный электронный адрес и дайте своё согласие. Сохраните изменения, нажав кнопку Save.
У некоторых пользователей на этом этапе возникают ошибки. Они связаны с превышением лимита LetsEncrypt или тем, что записи в DNS ещё не были обновлены. В такой ситуации нужно повторить подключение домена чуть позже.
Если всё в порядке, откройте указанный выше домен в браузере. Вы увидите страницу установки NextCloud, где нужно ввести логин и пароль.
В первом поле вводим логин и пароль, придумайте сложную комбинацию с буквами, цифрами, другими символами.
Чуть ниже кликните на пункт Хранилище и база данных. Откроются дополнительные настройки, где нужно внести изменения.
Каталог с данными /Data не меняйте. А в настройках баз данных кликните на третью вкладку PostgreSQL. Здесь нужно указать актуальные сведения из файла docker-compose.yml.
Если нужны дополнительные приложения, поставьте галочку в соответствующем пункте внизу окна. Нажмите кнопку Завершить установку.
После завершения процесса откроется стартовая страница.
Redis – это бесплатная резидентная система управления базами данных. Чтобы её подключить, нужно сначала остановить контейнер. Делается это с помощью команды.
sudo docker-compose down
Откройте в редакторе файл docker-compose.yml, чтобы внести в него изменения.
nano docker-compose.yml
Найдите 2 строки, в которых нужно удалить комментарии и указать свой пароль.
- REDIS_HOST=redis-nextcloud
- REDIS_HOST_PASSWORD=YOURREDISPASSWORD
Раскомментируйте сервис redis-nextcloud.
redis-nextcloud:
image: redis:alpine
container_name: redis-nextcloud
command: redis-server --requirepass YOURREDISPASSWORD
restart: unless-stopped
Запустите контейнер.
sudo docker-compose up -d
Установите нужные пакеты.
sudo apt install redis-tools
Проверьте, работает ли Redis. Сначала обратитесь к внутреннему адресу.
sudo docker ps
Выполните поиск по имени или ID. В нашем случае это redis-nextcloud
sudo docker inspect redis-nextcloud
В ответном сообщении практически в самом низу ищите параметр IPAddress, это и есть ваш IP.
Введите следующую команду, заменив PASSWORD на актуальный пароль, а XXX.XXX.XXX.XXX на IP, который вы только что узнали.
redis-cli -a PASSWORD -h XXX.XXX.XXX.XXX ping
Система укажет PONG.
Проверьте, как взаимодействуют NextCloud и Redis. Введите команду, также заменив пароль и IP.
redis-cli -a PASSWORD -h XXX.XXX.XXX.XXX monitor
Если всё работает нормально, система выдаст ответ ОК.
Откройте браузер, где запущен NextCloud. Обновите страницу. Вы увидите код установки в логах.
Для некоторых плагинов необходимо включать принудительный режим https. Сделать это просто.
Снова останавливаем контейнер.
sudo docker-compose down
Откройте конфигурационный файл.
sudo nano nextcloud/config/config.php
Между строками $ CONFIG = array ( и 'htaccess.RewiteBase' => '/', добавьте ещё одну.
'overwriteprotocol' => 'https',
Запустите контейнер.
sudo docker-compose up -d
Особенность обновления заключается в строгой последовательности версий. Например, если вы пользовались версией 21.x.x, то нельзя сразу ставить 23.x.x. Сначала нужно обновить до 22.x.x.
Откройте директорию с NextCloud.
cd /app/nextcloud
Остановите контейнер.
sudo docker-compose down
Посмотрите структуру файлов и директорий.
ls
Создайте папку, где будет храниться прежняя рабочая версия.
mkdir old
Перенесите туда все файлы прежней версии.
sudo cp -r DB docker-compose.yml nextcloud nextcloud.ini old
Откройте файл docker-compose.yml и укажите более свежую версию.
nano docker-compose.yml
Запустите контейнер с обновлённой версией.
Когда откроете NextCloud в браузере, заработает мастер обновлений. Нажмите кнопку Запустить обновление.
После завершения процесса можете перейти в NextCloud и начать им пользоваться.
Полезные советы напоследок
Nextcloud на Docker – это эффективный и гибкий способ обеспечить безопасное и эффективное хранение и обмен данных. Эта платформа уверенно опережает более известные облачные технологии. Поэтому важно познакомиться с ней, если вы планируете хранить в облаке ценные материалы, которые не хотите потерять.