Nextcloud в Docker контейнере

Поділитися
Вставка
  • Опубліковано 22 сер 2024
  • Добрались руки до проекта NextCloud, в видео я попытался рассказать для чего данный проект нужен, показываю как настроить его локально при помощи Docker, а так же разглядываю web-интерфейс этой замечательной системы.
    Проект NextCloud
    nextcloud.com/
    github.com/nex...
    hub.docker.com...
    Репозиторий из видео
    github.com/Evi...
    Полезные ссылки:
    - Телега: t.me/evilfreel...
    - Основной канал: / @pavelzloi
    - Live-канал: / @e-freelancerlivechann...
    - Twitch: / evilfreelancer
    - Twitter: / evilfreelancer
    - GitHub: github.com/Evi...
    Ссылки на Steam:
    - Группа Steam: steamcommunity...
    - Рекомендации куратора: store.steampow...
    Сделать пожертвование:
    - www.donational...

КОМЕНТАРІ • 77

  • @sosiskaschannel7052
    @sosiskaschannel7052 Рік тому +4

    Очень сложно найти видео нормального качества, свежие, да ещё и на русском! И их ещё и полный канал! Я побежал оформлять подписку

    • @pavelzloi
      @pavelzloi  Рік тому +2

      Привет! Спасибо за комментарий, у меня ещё Telegram-канал t.me/evilfreelancer есть, а также блог на Дзене dzen.ru/evilfreelancer
      Там тоже подписывайся :)

  • @darakanoit
    @darakanoit 4 роки тому

    Интересный проект. Жду ещё видео на подобные темы.

  • @servicebs1694
    @servicebs1694 2 роки тому

    Спасибо тебе огроменное!!!

  • @DonTMover
    @DonTMover 7 місяців тому

    Доброго вечера, подскажите что делать если вроде-бы все работает, но к сожалению на локалхосте пусто

  • @rightman2323
    @rightman2323 2 місяці тому

    UPD 28.05.24 Нету доступа к файлу при запуске docker-composer up -d

  • @AVMoz3D
    @AVMoz3D 2 роки тому

    Не могу настроить вход по внешнему домену. если добавить домен в (trusted domains) nextcloud перестает отвечать на запросы даже на localhost. При запросах по локальной сети та же ситуация.

  • @user-mb6mo7zm3q
    @user-mb6mo7zm3q Рік тому

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

  • @RomaRAW_
    @RomaRAW_ 3 роки тому

    Здравствуйте, сразу прошу прощения возможно вопрос будет глупый, т. к я ничего не понимаю в этом. Скажите, проделанное вами можно повторить на операционной системе windows?

    • @pavelzloi
      @pavelzloi  3 роки тому

      Добрый день! Вопрос отличный, иногда возникают сложности в работе с Docker на Windows и MacOS. Но такие простые проекты, как тот что описан в видео, как правило работают без особых проблем.
      Если сложности и возникнут то они будут связанны либо с виртуализацией, либо с файрволлом. Решение подобных сложностей отлично гуглится по симптомам или ошибкам.
      Но на будущее рекомендую работать с Docker на Linux, потому как только на Linux можно ощутить всю мощь Docker.
      UPD. Поправил опечатки.

    • @RomaRAW_
      @RomaRAW_ 3 роки тому

      @@pavelzloi Большое спасибо за ответы!)

  • @pushkinkolotuskin6984
    @pushkinkolotuskin6984 Рік тому

    Салют, подскажите, пожалуйста, после то =го как добавляю ssl убрав решетки в конфиге и оно перестает работать что надо еще подредачить?

  • @compolomus9719
    @compolomus9719 4 роки тому

    апач уже умеет в fpm, 7:02 ошибка по Фрэйду)

    • @pavelzloi
      @pavelzloi  4 роки тому +3

      Привет! Хорошее замечание, кстати вот ссылочка на доку про это cwiki.apache.org/confluence/display/HTTPD/PHP-FPM но есть один момент, NGINX гораздо лучше работает в режиме отдачи кучи статических файлов www.plesk.com/blog/various/nginx-vs-apache-which-is-the-best-web-server/
      ...
      Static Content
      NGINX performs 2.5 times faster than Apache according to a benchmark test running up to 1,000 simultaneous connections.
      ...
      А Nextcloud в свою очередь как раз и выступает в роли хранилища статических файлов, то есть выбор в сторону Nginx вполне логичен, если требуется достигнуть высокой производительности, для личного использования разница конечно не будет сильно заметна, а вот если несколько людей то будет.
      Плюс мне нравится, что у NGINX в конфигах по дефолту всё запрещено, кроме того что разрешено, а у Apache наоборот, надо ковырять и тюнить конфиг, дабы мамкины хацкеры не похачили.

  • @NodsFrend
    @NodsFrend 10 місяців тому

    OnlyOffice отечественный для Риги?

  • @dmitriykonshin5911
    @dmitriykonshin5911 3 роки тому

    Отлично подробно все рассказал, спасибо. Но есть вопрос как начинающего, а на каком этапе нужно выбрать место под хранилище?

    • @pavelzloi
      @pavelzloi  3 роки тому

      Добрый день, рад что Вам понравилось :)
      Уточните пожалуйтса, какое именно хранилище Вы имееете ввиду? Хранилище файлов? Или базу данных? Или вопрос про точку монтирования?

    • @dmitriykonshin5911
      @dmitriykonshin5911 3 роки тому

      @@pavelzloi nextcloud же использует дисковое пространство для хранения файлов, фильмы, видео, просто файл-помойка. Это потом в настройках мы путь указываем или в процессе установки?

    • @pavelzloi
      @pavelzloi  3 роки тому +2

      В процессе установки можно указать путь к директории в которой будет храниться база данных (при условии что была выбрана SQLite) и файлы, разложенные по папочками соотвествующим именам пользователей (пользователи добавляются уже после установки).
      По умолчанию все файлы движка Nextcloud сохряняются в директории /var/www/html
      hub.docker.com/layers/nextcloud/library/nextcloud/stable-fpm-alpine/images/sha256-9949955cf015bcbe93be53e4abe89445e5b3461a0e54f8483f9b61a13adfb779?context=explore
      А директория в которой хранятся фалы пользователей находится вот тут /var/www/html/data
      Поэтому именно в /var/www/html/data стоит монтировать папку с файловой системы, о чём и сказано в видео.
      Надеюсь мой ответ Вам прояснил детали :)

    • @dmitriykonshin5911
      @dmitriykonshin5911 3 роки тому

      @@pavelzloi спасибо! Как в личку вопрос задать?

    • @pavelzloi
      @pavelzloi  3 роки тому

      Приходите к нам в дискорд discord.gg/zHPFgHJ :) ссылочка одноразовая

  • @besqda
    @besqda 3 роки тому

    Приветствую очень интересно было бы разобрать: как делать обновление nextcloud, котерн сервер, и проброс на внешние диски

    • @pavelzloi
      @pavelzloi  3 роки тому

      Добрый день! Согласен, процесс обновления Nextcloud в контейнере оказался той ещё головной болью. Спасибо за идею, когда появится время запищу и про это.

    • @besqda
      @besqda 3 роки тому

      @@pavelzloi Можете помочь объяснить, почему когда собираю docker куча ошибок при сборке появляется, много изменений было за год?

    • @pavelzloi
      @pavelzloi  3 роки тому

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

  • @petruhe
    @petruhe 3 роки тому +4

    Так хорошо начал, и на 5й минуте заговорил на непонятном языке

  • @user-nt4hf5qz8w
    @user-nt4hf5qz8w Рік тому

    Здравствуйте Павел, установил nextcloud...и периодически отваливается nginx...504 Gateway Time-out , подскажите пожалуйста что делать?)

    • @user-nt4hf5qz8w
      @user-nt4hf5qz8w Рік тому

      нашел причину(нагуглил), - Collabora Online Boild CODE Server, ежесекундно закидывало журнал сервера сообщениями с ошибкой. Удалил Collabora Online- и все четко ,все работает . Спасибо за статью Павел!

  • @TEOCompany
    @TEOCompany 3 роки тому

    Только не понятно он бесплатный или нет? и как сделать чтобы пользователю было доступно только определеная папка?

    • @pavelzloi
      @pavelzloi  3 роки тому

      Добрый день, благодарю за отличный вопрос!
      OpenSource - это программное обеспечение с открытыми исходными кодами, то есть люди выкладывают свои разработки в публичный доступ и ничего не просят взамен.
      Это не какой-то прикол, это своего рода философия отношения к жизни, стремление сделать жизнь для всех людей легче :)
      Поэтому отвечаю на Ваш первый вопрос: да, NextCloud был, есть и будет бесплатным продуктом, об этом написано в файле License, в корне проекта на гитхаб.
      Чтобы расшарить доступ к определенной директории надо просто нажать на ней и через кнопку share выбрать пользователя системы, для которого нужно дать доступ.

  • @disconnect3763
    @disconnect3763 4 місяці тому

    Ребят подскажите как добавить сохранения медия/данных если в пк 3 разных диска по 500гб?
    Как раскидать на каждый диск заполнение, когда один полный тогда запись идёт на следующий?

    • @pavelzloi
      @pavelzloi  4 місяці тому

      Привет! Есть несколько вариантов, начиная от попсового RAID 0 (повышенная производительность без отказоустойчивости), или же LVM, заканчивая какими-то хитрыми решениями навроде unionfs или aufs, или mergerfs.

    • @disconnect3763
      @disconnect3763 4 місяці тому

      @@pavelzloi спасибо за ответ, а где это делается?

    • @pavelzloi
      @pavelzloi  4 місяці тому

      @@disconnect3763предположим есть какой-то сервер на котором данные диски установлены.
      Допустим мы выбрали проект mergerfs для решения данной задачи, ставим бинарник из репозитория apt install mergerfs (это на Ubuntu, Debian и производных так), дальше выполняем команду:
      mergerfs -o cache.files=partial,dropcacheonclose=true,category.create=mfs /mnt/hdd0:/mnt/hdd1:/mnt/hdd2 /media
      Эта команда соберёт в кучку три диска смонтированные каждые в свой /mnt/hddX и подмонтирует их все в /media.
      Тут технические подробности:
      github.com/trapexit/mergerfs

  • @immickful
    @immickful 2 роки тому

    А для чего вообще нужен тут nginx? Во многих туториалах юзают в yml только сам nc и БД

    • @pavelzloi
      @pavelzloi  2 роки тому +1

      Можно использовать напрямую конечно же, но мне лично привычнее после кубернетиса проксировать на поды трафик через ингресс, так проще управлять тем куда можно и что можно. У меня дома через nginx ходит много разных проектов, не только NC.
      Плюс в NC если ничего не путаю запущен апач, а он работает заметно медленнее с кучей маленьких файлов чем nginx.
      Ещё один плюс это простота настройки let's encrypt, внутри контейнера NC выполнять настройку сертификатов чуть-чуть сложнее (хотя настроить на самом деле просто, а вот сложно настроить их обновление, а если проектов несколько то можно либо один раз настроить nginx для всего, либо под каждый проект изобретать велосипед).
      Ну в общем если подвести итог, то разницы особой нет, если у Вас нет желания лепить из кирпичиков некое подобие идеала (как это у меня:) то решение из коробки подойдёт полностью.

  • @exclusru
    @exclusru 3 роки тому

    Здравствуйте, у меня уже установлен docker и home assistant в контейнере, нет ручного способа установки в уже существующее окружение?

    • @pavelzloi
      @pavelzloi  3 роки тому

      Добрый день! Смотря что Вы имеете ввиду под окружением. Если цель поставить NextCloud в контейнер то через apt или yum (ни или какой пакетный менеджер на низах используется). Если имеется ввиду добавить ещё один контейнер и зароутить в него трафик то тут уже не просто, потребуются как минимум контейнеры с NC и тот который запускает Nginx, желательно чтобы эти контейнеры работали в изолированной сети, далее на другом Nginx (или Apache2) уровнем выше настроить проксирование в сторону Nginx обслуживающий NC

    • @pavelzloi
      @pavelzloi  3 роки тому

      Второй вариант немного сложно описывать простыми терминами, но если проецировать его на кубернетис то надо настроить сервис через который будет доступен под с веб сервером, а на него зароутить трафик через ингрес.

    • @exclusru
      @exclusru 3 роки тому

      @@pavelzloi Я сегодня продвинулся в вопросе, получилось установить docker-compose, и установить все по вашей инструкции. Но не работает связь с базой., У меня rpi 4b, ,будет использовать как домашний сервер, на ней будет крутится Home assistant и хотел соответствено сделать облачное хранилище и самба сервер, что бы резервные копии и отсальные файлы хранить. Если можно свяжитесь со мной лично.

    • @pavelzloi
      @pavelzloi  3 роки тому

      @@exclusru Вы всегда можете отправить мне личное сообщение в твиттере :)

  • @razdva4354
    @razdva4354 3 роки тому

    А что же с phpmyadmin? Так ведь и не хочет запускаться. Хотя в логах у него все отлично

    • @razdva4354
      @razdva4354 3 роки тому +1

      Изменил image на phpmyadmin:apache, работает

  • @user-bv1rl4yb2d
    @user-bv1rl4yb2d 3 роки тому +1

    Привет. Как вынести папку с файлами за контейнер на другой диск?

    • @pavelzloi
      @pavelzloi  3 роки тому

      Добрый вечер, для этого необходимо использовать директиву volumes, а уже в ней указать через двоеточие путь к нужной папке на диске и его связь с папкой внутри контейнера.
      docs.docker.com/compose/rails/
      Вот тут будет пример использования директорий по относительным путям, но Вам ничего не мешает настроить пути абсолютные и даже пути на разных дисках.

    • @user-bv1rl4yb2d
      @user-bv1rl4yb2d 3 роки тому

      @@pavelzloi На самом деле я в восторге от Вашей конфигурации Nextclouda в докере. Работает намного быстрей. Синхронизация так же быстрее обычного. огромный плюс всего этого это то что сам сервер не тронут если ломанут nextcloud.
      Видео очень помогло, спасибо.
      И да, если пути на разных дисках указать то заполнение очередное будет или и там и там? Просто я думаю о том, как сделать так что бы данные в начале летели на один диск, потом при заполнении на другой и при этом доструп был и к тем и ктем файлам.

    • @user-bv1rl4yb2d
      @user-bv1rl4yb2d 3 роки тому

      @@pavelzloi Подскажи пожалуйста, ге именно надо настроить ссылку? Если я правильно понимаю то это меняесть в Ямл конфиге докеркомпоза?

    • @pavelzloi
      @pavelzloi  3 роки тому

      @@user-bv1rl4yb2d всё верно, надо поправить docker-compose.yml, в блоке volumes указать нужные пути.
      Чтобы проверить правильная ли директория была подмонтированна можно заюзать docker-compose exec например.

    • @user-bv1rl4yb2d
      @user-bv1rl4yb2d 3 роки тому

      @@pavelzloi друг, помоги))) всю голову сломал уже)) и контейнеры уже пару раз по новой перезаливал. Не могу понять как правильно прописать ссылку на папку mnt где находится премонтированный диск то есть /mnt/nextcloud/. И вот как оформить данную строку. Я пытался -/mnt/nextcloud:/var/www/html:rw . Но ничего не вышло

  • @immickful
    @immickful 2 роки тому

    А если настройка идет на VPS, где нет интерфейса (бразуера) - как попасть в настройки начальные NC?

    • @pavelzloi
      @pavelzloi  2 роки тому +1

      Вы можете открыть порт веб сервера на самой VPS, после чего зайти через браузер и выполнить настройку.
      Просто вместо localhost будет адрес VPS :)

    • @immickful
      @immickful 2 роки тому

      @@pavelzloi т.е. сделать port forwarding на порт nginx'а, находящегося в докере?

  • @TheJtrg
    @TheJtrg 2 роки тому

    не работает

  • @arman4chok
    @arman4chok 4 роки тому

    Дурацкий вопрос. А разве Docker не для временной только установки используется?

    • @pavelzloi
      @pavelzloi  4 роки тому +5

      Добрый день! Это отличный вопрос, докер можно использовать в продакшен режиме, например при помощи Kubernetes или Docker Swarm, или любой другой системы оркестрации контейнеров, например docker-compose.
      Самый главный бонус который Вы получаете при использовании докер это единообразное изолированнне окружение которое везде будет работать одинаково.
      Иными словами можно настроить ну например Nextcloud у себя на машине, проверить работу, настроить всё необходимое, а потом скопировать всё это добро на сервер и это будет работать точно так же как и на локальном компьютере.
      Второй бонус, операционная система не замусоривается файлами приложений, например файлами Nextcloud.
      Ещё один бонус заключается в том что если контейнер с Nextcloud взломают то (в случае если композиция настроена правильно) дальше контейнера выйти скорее всего не получится.
      Изначально докер был разработан для того чтобы отказаться от виртуальных машин и работать с ресурсами сервера напрямую, с сохранением изолированности приложения которое необходимо выполнять, ближайшие аналоги (с оговорками конечно) это chroot, lxc или например jail.

    • @arman4chok
      @arman4chok 3 роки тому

      @@pavelzloi А такой вопрос)) "а потом скопировать всё это добро на сервер и это будет работать точно так же как и на локальном компьютере" это уже без докера получается?Или просто через оркестрации?)))

    • @pavelzloi
      @pavelzloi  3 роки тому +1

      @@arman4chok Docker на сервере подразумевался по умолчанию, если чуть подробнее расписать то имелось ввиду что можно всё настроить локально, убедиться что всё работает, остановить композицию, заархивировать директорюи с docker-compose и файлами, после чего скопировать этот архив на сервер, распаковать и запустить.
      Ну а взрослая оркестрация, например через kubernetes или swarm, ориентирована на немного иное обращение с файлами, там уже в ход идут волюмы (Persistent Volume), и самое главное что во всех мануалах не рекомендуют использовать файловую систему, что может поставить в ступор первое время.

  • @makst5287
    @makst5287 3 роки тому

    привет подскажите, как поставить другую версию, а то по вашей image: nextcloud:fpm-alpine льется последняя stable 20.0.6 а там нет mail клиента, попробовал 19.0.8-fpm-alpine, 19.0-fpm-alpine, 19-fpm-alpine и тд, не работает -nginx 504 Gateway Time-out

    • @pavelzloi
      @pavelzloi  3 роки тому

      Добрый вечер! Имели можно менять просто указывая тег в директиве image.
      Nginx ругается потому что после пересоздания имеджа меняется ip-адрес. Чтобы это пофиксить надо просто рестартануть nginx.

    • @makst5287
      @makst5287 3 роки тому

      @@pavelzloi спасибо, завтра попробую, но я ради интереса залил бету 21.0.0 и она стала, nginx не ругнулся) и ещё вопрос, возможно ли как нибуть прикрутить к облаку SMB шару ? Или только локально?

    • @pavelzloi
      @pavelzloi  3 роки тому

      @@makst5287 можно конечно, берите контейнер с smbd и прикидывайте нужную директорию в сеть.
      Лично я вот такую штуку дома использую:
      github.com/dperson/samba
      Есть вариант без докера, но мне больше нравится так.

    • @makst5287
      @makst5287 3 роки тому

      @@pavelzloi рестартил nginx контейнер, перезаливал разные версии, ничего не работает, сейчас даже nginx перестал работать, хотя контейнер работает, пробовал удалять полностью контейнеры\образы\сети докера, ничего не помогает)))) конец моему облаку

    • @pavelzloi
      @pavelzloi  3 роки тому

      @@makst5287 возможно поменялись названия контейнеров в списке сервисов, обычно в логах можно посмотреть из-за чего происходит рестарт.

  • @alexeyzaitsev1592
    @alexeyzaitsev1592 Рік тому

    А что так быстро? Прям уснул даже

  • @darakanoit
    @darakanoit 4 роки тому

    Интересный проект. Жду ещё видео на подобные темы.

    • @pavelzloi
      @pavelzloi  4 роки тому

      Добрый день! Благодарю за комментарий.
      Могу предложить посмотреть плейлист Docker ua-cam.com/play/PLTd7y0vdxhK643dY-Th-fQvyNP46eW7CU.html там ещё несколько видосов на тему настройки окружения в Docker контейнерах при помощи docker-compose.
      Про Nextcloud ещё пару видосов в планах, первый выйдет сегодня/завтра, а вот второй пока не знаю когда, возможно если будет много просмотров у этого видео то подвину выше в списке тем на обзор.

    • @darakanoit
      @darakanoit 4 роки тому

      ​@@pavelzloi ​ , ок. Есть ли стратегия к продвижению или что-то подобное?) Немного обидно,что видео набирают не так много просмотров. В чатах мелькать(того же laravel).

    • @pavelzloi
      @pavelzloi  4 роки тому +2

      Стратегии особой нет, сарафанное радио пожалуй только, на самом деле я в принципе удивлён, что мои видосы смотрят, ибо как мне кажется у меня очень душный стиль повествования, да и к подготовке к видосам отношусь спокойно (дабы не свалиться в крайность перфекцеонизма, как в прошлый раз), экспромта более чем достаточно ИМХО. К тому же изначально идея была просто как блоги со шпаргалками для себя, моих знакомых и коллег, чтобы не забыть, поэтому я рад даже тому что есть на данный момент :)

    • @Timofey_Soldatenkov
      @Timofey_Soldatenkov 4 роки тому

      @@pavelzloi чувствуется, что типо шпаргалики видео. Не всё понятно, но всё равно БОЛЬШОЕ СПАСИБО за информацию и проделанную работу! (посмотрю другие видео на канале)