А сегодня мы с вами быстро и решительно легко и просто поднимем свое личное файловое облако типа Google Drive или Яндекс.Диск, а если повезет, то еще и очень дешево.
Зачем? Ну, например, потому что не хотим зависеть от корпораций с их кабальными лицензионными соглашениями и сменой условий задним числом. Или потому что нам хочется приватности. Или просто потому что можем. А бонусом на нашем сервере вы потом сможете еще установить VPN или прокси для доступа к запрещенным сайтам, или поднять простенький веб-сайтик.
Я специально будут рассказывать все максимально подробно и пошагово, чтобы даже люди без большого опыта системного администрирования смогли все повторить. В наше время, благодаря развитому инструментарию, такому как docker и snap, установить и настроить все что нужно можно очень быстро всего лишь несколькими командами.
Поехали
Первым делом, нам нужен сервер под это дело. Shared hosting нам не подходит, dedicated server - оверкилл и очень дорого, поэтому нам нужен VDS/VPS. Поскольку цель всего затеянного - хранить данные, много данных, самый распространенный вариант “SSD VDS” нам не подходит, и нужно найти то, что обычно называется “HDD VPS” или “Storage VDS”. Гуглим и выбираем то что надо исходя из своих потребностей и размеров кошелька. Я уже много лет пользуюсь одним классным украино-американским хостером, который предлагает HDD VPS в дата-центре в Болгарии за смешные деньги, а именно 1 евро в месяц за сервер с 100 гигабайт дискового пространства, 3 евро в месяц за сервер с 500 гигабайтами, и т.д.
Регистрируемся у хостера, заполняем все необходимые данные, и, наконец, заказываем услугу, выбирая сервер/тариф который нам хочется. Обычно при этом еще задается вопрос, какую ОС установить на сервер. Как известно, лучший дистрибутив Linux - это тот, который использует ваш Linux-гуру, поэтому выбирайте Debian самой свежей версии, которая есть - все дальнейшие инструкции будут приведены именно для Debian. Если Debian в списке нет (чему я очень сильно удивлюсь), то можно выбрать Ubuntu, там будет почти все то же самое.
После этого нужно подождать (обычно от нескольких минут до получаса), пока создается наша виртуальная машина. После этого либо в админиистративной панели хостера, либо в письме у вас в почтовом ящике, либо и там и там, вы получите реквизиты вашего нового сервера: его имя, IP-адрес, а также логин и пароль root-пользователя.
Для подключения к серверу нам нужен SSH-клиент. Если вы линуксоид, или у вас установлен WSL (Windows Subsystem for Linux), то просто используйте команду ‘ssh’. Если вы приверженец Windows, скачайте PuTTy.
Подключаемся к серверу по его IP-адресу:
$ ssh root@xx.xx.xx.xx (где root - это имя пользователя, а xx.xx.xx.xx это IP)
Сразу же меняем пароль суперпользователя с хостерского на свой свежепридуманный:
$ passwd
Обновим установленный в системе софт до свежих версий и установим несколько пакетов, которые нам пригодятся:
$ apt update
$ apt upgrade
$ apt install nano mc curl
nano - это простой текстовый редактор, как по мне, самый дружелюбный к начинающим пользователям благодаря постоянно присутствующим там на экране подсказкам по его комбинациям клавиш, mc - классический двухпанельный файловый менеджер для более удобных прогулок по файловой системе, самое то для неопытных пользователей.
Создадим учетную запись обычного пользователя (не root) и зададим ему пароль:
$ adduser user
$ passwd user
После этого немного укрепим безопасность нашей системы. Перевесим SSH-сервер со стандартного порта 22 на нестандартный (на самом деле я нередко встречал мнение, что в наше время это не сильно помогает от сканеров-ботов, но лично я вижу, что помогает) и запретим логиниться пользователю root: сначала надо будет зайти под учетной записью обычного пользователя, а уже потом командой ‘su -’ при необходимости эскалировать права.
Делаем
$ nano /etc/ssh/sshd_config
и там меняем параметр Port на
Port 2200
и PermitRootLogin на
PermitRootLogin no
После этого для подключения к вашему серверу по SSH нужно будет добавлять опцию '-p2200'.
Более секьюрным подходом был бы полный запрет авторизацию по паролям и разрешение авторизации только по ключам, но для начинающих пользователей это обычно оказывается слишком сложно, а если вам это нужно и хочется, вы легко найдете в гугле как это сделать.
Теперь давайте немного поколдуем над файловой системой.
Сначала выполним команду mount и найдем, как называется наш основной диск, на котором находится корневой системный раздел:
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 473M 0 473M 0% /dev
tmpfs 98M 788K 97M 1% /run
/dev/vda1 300G 130G 170G 44% /
tmpfs 489M 0 489M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
Как видим, наш диск зовется /dev/vda1. По умолчанию Linux резервирует на каждом диске определенное место “на всякий случай” для пользователя root, чтобы, например, при полном исчерпании свободного пространства, сервисы не начали падать из-за невозможности писать логи и по-прежнему была возможность залогиниться и все исправить. Нюанс в том, что по умолчанию это место задается в % от общего объема, а поскольку диск у нас довольно большой, то не стоит заниматься расточительством, 1% более чем достаточно:
$ tune2fs -m1 /dev/vda1
HDD VPS обычно предназначены именно для хранения данных, а не для работы каких-либо тяжелых сервисов, поэтому характеристики у них бывают нередко скромные. Часто можно встретить виртуальные машины с 1 гигбайтом или даже 512 мегабайтами оперативной памяти, что в наше время и для наших целей, прямо скажем, очень мало. Первым делом, проверим, сколько у нас вообще памяти, и главное, есть ли swap (раздел подкачки).
$ free
total used free shared buff/cache available
Mem: 999824 255160 87040 668 657624 612536
Swap: 262140 148092 114048
Если в последней строчке вы видите нули, то это тревожный звоночек: памяти мало, свопа нет, и в дальнейшем есть риск наткнуться на серьезные проблемы из-за этого. Сейчас мы все исправим.
$ fallocate -l 1G /swapfile
$ chmod 600 /swapfile
$ mkswap /swapfile
$ swapon /swapfile
- этот набор команд создаст на диске swap-файл размером в 1 гигабайт и начнет использовать его в системе.
Чтобы не надо было делать swapon после каждой перезагрузки, добавим новую строчку в /etc/fstab:
/swapfile swap swap defaults 0 0
Все, с диском и памятью закончили, теперь переходим к более интересным делам.
Использовать нешифрованный HTTP в наше время очень неблагоразумно, а для HTTPS нам нужны сертификаты, которые не получится получить без доменного имени. Соответственно, нам нужен домен.
Не буду изобретать велосипед, а просто процитирую фрагмент из недавней отличной статьи:
Нам потребуется доменное имя для сервера, чтобы на нём беспроблемно работал TLS (HTTPS). Вы можете либо купить домен и привязать его к IP-адресу вашего VPS, либо использовать какой-либо бесплатный сервис, предоставляющий доменные имена. В последнем случае, родительский домен вашего домена должен быть внесён в список публичных суффиксов доменов. Иначе могут возникнуть проблемы с выпуском сертификата через Let's Encrypt - упрётся в разрешённое число выпущенных сертификатов для родительского домена за какой-то период времени. В этом руководстве мы воспользуемся бесплатным сервисом freemyip.com, который даёт домен пользователю даже без регистрации.
Зайдите на страницу https://freemyip.com/.
Выберите красивое доменное имя и заберите его.
Сохраните куда-нибудь ссылку, которую получите.
Запустите следующую команду на вашем сервере: curl 'ССЫЛКА', где ССЫЛКА - та самая ссылка, которую вы получили на предыдущем шаге. Обратите внимание: нужно не забыть взять ссылку в одиночные кавычки!
Проверка: проверьте ваш домен ping-ом, он должен указывать на IP-адрес вашего VPS. Если это не так, то попробуйте подождать несколько минут и попробовать снова.
Я лично пользовался сервисом https://www.dynu.com/, там все очень просто: зарегистрировались, нажали DDNS Services -> Add -> выбрали красивый домен -> задали IP-адрес своего сервера. Всё.
Настало время самого важного.
Мы будем устанавливать NextCloud. Из альтернатив могу назвать еще Seafile и FileRun, но NextCloud мне попался под руку раньше, поэтому я буду использовать его.
Инструкция по ручной установке NextCloud довольно страшная: нужно установить Apache, PHP, MySQL/MariaDB, Redis, создать таблицы, сделать еще кучу всего, и не сойти с ума. Хвала людям, придумавшим формат дистрибьюции пакетов snap, мы получим все это введя лишь пару команд.
Устанавливаем snapd (обратите внимание, не snap, а snapd):
$ apt install snapd
Устанавливаем nextcloud:
$ snap install nextcloud
Это может занять некоторое время, терпеливо ждем. Всё! NextCloud установлен. Просто, правда?
Поскольку NextCloud поставляется в snap-пакете, то там уже в планировщике стоит задание для автоматического обновления NextCloud - периодически при логине через браузер вы будете видеть веселые уведомления о том, что он обновился до новой версии.
Потом вспоминаем доменное имя, которое мы зарегистрировали ранее, пусть, например, это будет 'habrdrive.mywire.org'.
Заходим браузером на него: http://habrdrive.mywire.org
Откроется веб-интерфейс NextCloud с мастером установки, где кликаем на “Next”/”Далее” и немного ждем, пока он делает все необходимое под капотом.
NextCloud может предложить вам установить дополнительные расширения (“приложения), но если у вас слабенький сервер (гигабайт памяти или меньше), то лучше вежливо отказаться, если что, доустановите потом.
Немного магии: домен, который мы использовали для первого входа, NextCloud запомнит и больше не будет пускать клиентов ниоткуда, кроме него - то есть если вы, например, потом попробуйте обратиться к NextCloud через браузер не по доменному имени, а по IP-адресу, то NextCloud вежливо вам в этом откажет. В целях безопасности, типа.
Окей. Установка закончена: мы видим веб-интерфейс, пункты меню, мы можем уже загружать и скачивать файлы. Мы ничего не забыли? Конечно забыли. Мы забыли TLS-шифрование :)
Настроить его можно очень просто, всего одной командой в консольке:
$ nextcloud.enable-https lets-encrypt
NextCloud попросит вас согласиться с правилами Let’s Encrypt, сам сходит за сертификатом, установит его, и добавит в планировщик задачу, которая автоматически будет обновлять сертификат каждый 3 месяца.
После этого можно лазить по веб-интерфейсу NextCloud, изучать настройки.
Чтобы создать новые пользовательские аккаунты, для себя, для друзей, для родственников, для кота, и т.д., нужно перейти в пункт “Пользователи” в админской менюшке, и дальше разберетесь. Да, для пользователей можно задавать квоты (максимально допустимый объем занятого пространства) :)
В целом, NextCloud даже без дополнительных расширений умеет всё, что полагается уметь файловому облаку: можно создавать папки, заливать и скачивать файлы, шарить файлы и папки между пользователями в пределах облака и даже на весь Интернет, и много чего другого. Есть “Корзина” для удаленных файлов, есть журнал событий - короче говоря, все как у людей.
Интерфейс интуитивно понятный:
Меню выбора приложений (1): в верхнем левом углу, там торчат все “Приложения” NextCloud, но если вы ничего дополнительно не устанавливали, то как минимум там будут “Файлы” и “События”.
Поле «Информация о приложениях» (2): расположено на левой боковой панели и содержит пункты, связанные с выбранным вами приложением. Например, когда открыты «Файлы», там есть специальный набор фильтров для быстрого поиска, например, файлы которыми вы поделились с вами, и файлы, которыми вы поделились с другими, и т.д.
Панель навигации (4). классические “хлебные крошки” (breadcrumbs), показывающие, насколько глубоко вы забрались по папкам и позволяющие оттуда вылезти.
Кнопка «Создать» (5): расположенная на панели навигации кнопка «Создать» позволяет создавать новые файлы, новые папки или загружать файлы. Можно и без нее, просто перетащить drag-n-drop’ом файл или диру в браузер.
Поле поиска (6): поиск по тому, что у вас есть в хранилище.
Меню настроек (9): нажмите на изображение своего профиля, расположенное справа от поля поиска, чтобы открыть раскрывающееся меню настроек. На странице настроек представлены следующие настройки и функции:
Ссылки для скачивания десктопных и мобильных приложений
Управление паролями
Настройки имени, электронной почты и изображения профиля
Управление “подключенными” (залогиненными) браузерами и устройствами
Настройки языка интерфейса
Управление уведомлениями
Информация о версии Nextcloud
У NextCloud есть десктопный клиент для синхронизации под Windows, MacOS и Linux, есть очень удобные мобильные клиенты для Android и iOS. Найти все это дело можно на их официальном сайте: https://nextcloud.com/clients/
После установки клиента он первым делом спросит у вас адрес сервера - введите свое доменное имя. Дальше пользовательские логин/пароль, и дело сделано:
Кроме того, с NextCloud можно работать любым WebDAV-клиентом. Например, подобный функционал нередко используется во всевозможных менеджерах паролей, утилитах для бэкапов, и т.д. Чтобы получить ссылку для webdav-соединения, при открытом окошке “Файлы” ткните на “Настройки” слева снизу (да, вот это немного неочевидно), и она будет там:
Шифрование
Если вы немного параноик (в наше время это нормально), то NextCloud поддерживает шифрование на стороне сервера. Перед его ключением следует иметь в виду, что: 1) отключить его обратно через веб-интерфейс не получится (но все еще можно через глубины консоли) 2) В зашифрованном виде файлы занимают примерно на 30% больше, чем в нешифрованном, ну и тормозить при заливке-скачивании оно может больше, если на сервере слабый процессор и много пользователей.
Шифрование на стороне сервера Nextcloud генерирует ключ шифрования, который разблокируется с помощью пароля пользователя. Оно шифрует только содержимое файлов, а не имена файлов и структуры каталогов.
Ключи шифрования хранятся в следующих каталогах:
./data/<user>/files_encryption
./data/files_encryption
При установке из snap папка data будет здесь: /var/snap/nextcloud/common/nextcloud/data
Для включения шифрования, сначала идем в меню "Приложения", находим там Default Encryption module и включаем его:
Потом идем в Настройки - Параметры сервера - Безопасность, находим там "Шифрование на стороне сервера" и тоже его включаем
Детали реализации можно прочитать вот здесь и вот здесь.
Более надежным вариантом будет шифрование всего дискового раздела с данными, но это уже совсем другая и гораздо более сложная история. Гугл в помощь.
Оптимизации
Если у вас на сервере 1 гигабайт памяти, то все еще неплохо, а вот если у вас только 512 мегабайт, то NextCloud будет работать как говно неторопливо. Очень неторопливо. Настолько неторопливо, что лучше вообще избегать ставить его на машины с 512 мегабайтами памяти. Да, мы добавили swap, потому что без swap’а на системах с 512 мегабайтами он тупо не работает - процесс MariaDB (базы данных) периодически тупо прибивается системным out-of-memory-killer’ом и все с грохотом падает. С активным свопом такого не происходит, но поскольку диск у нас HDD, то работает все это дело иногда довольно медленно, вплоть до того, что когда вы после долгого бездействия открываете веб-морду NextCloud или мобильное приложение, первые одна-две попытки соединиться отваливаются по таймауту, что, само собой, не очень приятно, и с этим надо что-то делать.
Так что если вы настолько отчаянны, что у вас 512mb-виртуалка, то сейчас я расскажу несколько трюков, которые помогут сделать чтобы все было не так больно.
Включаем zswap
Zswap - технология компрессии страниц в памяти. Поскольку своп у нас очень медленный, то даже с учетом оверхеда на компрессию-декомпрессию страниц процессором, zswap все равно может дать очень неплохое ускорение работы.
Проверяем, не включено ли оно уже - обычно не включено
$ cat /sys/module/zswap/parameters/enabled
N
Если видим N, то делаем
$ echo Y | tee /sys/module/zswap/parameters/enabled
$ echo z3fold | tee /sys/module/zswap/parameters/zpool
и потом добавляем те же самые строчки в /etc/rc.local чтобы оно сразу включалось после перезагрузки:
#!/bin/bash
echo Y | tee /sys/module/zswap/parameters/enabled
echo z3fold | tee /sys/module/zswap/parameters/zpool
exit 0
Существует и другой, более “правильный” способ активации zswap еще на этапе загрузки системы через параметры ядра, но не будем переусложнять, оно и так нормально работает.
Из других оптимизаций:
Можно отключить MDNS-Publisher, посколько он нужен только в локальной сети:
$ snap stop --disable nextcloud.mdns-publisher
Это освободит еще немного памяти.
Еще в /etc/systemd/journald.conf можно выставить опцию
Storage=persistent
и после этого перезапустить journald командой
$ systemctl restart systemd-journald
чтобы SystemD скидывал логи на диск, а не хранил их в памяти.
Ну и наконец, фантастический костыль, создадим в NextCloud юзера по имени dummy, а в /etc/cron.hourly/ создадим файл ‘poke’ со следущим содержанием:
#!/bin/bash
curl -u dummy:password -X PROPFIND https://ваш_домен/remote.php/dav/files/dummy/
и сделаем его доступным для запуска
$ chmod +x /etc/cron.hourly/poke
После этого cron каждый час будет тыкать nextcloud через webdav, заставляя того активизировать свои воркеры и прочитать что-нибудь из базы данных, что вызовет загрузку их страниц памяти из свопа если они по какой-то причине там оказались. Да, костыль, но он работает :)
Комментарии (183)
Sl-Alex
15.09.2022 21:41+4Если кто-то захочет использовать вместо Google Photos - обратите внимание, что фотографии сортируются по дате модификации, а не по дате создания из EXIF (см. баг). Если ставили не через snap, то можно аккуратно подпереть костылём. Ну и если использовать NextCloud исключительно для фото, то, КМК, лучше смотреть в сторону PhotoPrism.
Dolios
16.09.2022 00:23А почему лучше?
Sl-Alex
16.09.2022 09:59+1Мне нравится вот это:
Automatic classification of pictures based on their content and location
Easily find specific pictures using powerful search filters
Recognizes the faces of your family and friends
Gugic
16.09.2022 21:21Также можно тогда посмотреть и ближайших товарищей — librephoto или immich. Immich, кстати вообще беззастенчиво тырит интерфейс и фичи с google photo и там, в отличие от фотопризмы и либрефото есть автоматический бэкап с телефона.
O_Nayre
17.09.2022 09:10Prism, imho отказался очень медленным на synology nas. Photostructure была в разы шустрей, но не зашла по каким то параметрам, толи альбомы не создавали. Iibre не умеет в большие альбомы и очень очень сырой. Только immich ещё не пробовал.
bulatzaripov
15.09.2022 22:13Спасибо за статью.
Что там со скоростью синхронизации? Были комментарии, что при ошибке во время синхронизации, все это падало и затем стартовало сначала. Сейчас как дела обстоят?
F0iL Автор
15.09.2022 22:27Насчёт этого не скажу, я большие объемы как-то синхронизацией туда-сюда не гонял, в основном только фоточки с телефона на десктоп перекидываю и обратно и всякие важные документы для родственников, с этим проблем вроде пока не было.
kulhaker478
15.09.2022 23:38+1По моим наблюдениям, скорость на порядок ниже, чем если переносить ручками через тот же SMB. Всё потому что у NC идёт упор в webdav (по информации из сети максимальная скорость в районе 30 мб/c). Однако это становится заметно только на больших объёмах данных, для среднестатистического пользователя которому нужна синхронизация на уровне фото/документы - NC всё ещё довольно вкусный вариант.
С синхронизацией проблем не было, я использую NC для синхронизации музыки и базы KeePassXC (файл .kdbx+ключ) между ПК<>NAS<>смартфонF0iL Автор
15.09.2022 23:42+2По идее, не на больших объемах данных, а на большом количестве файлов. Объём данных что для SMB, что для WebDAV не должен быть проблемой, один фиг и там и там в итоге файл тупо льется в TCP-соединение.
А вот когда много мелких файлов, то постоянные синхронные request-reply туда сюда для инициации транзакции вкупе с обновлением записей в БД на медленном сервере действительно могут существенно добавить тормозов.
vconst
15.09.2022 23:47файл тупо льется в TCP-соединение.
Зачем? Можно через UDP — быстрее будет. А проверку на целостность делать по итогу скачивания. Ну или не делать вапще )
Abyss777
16.09.2022 06:59Это давно пофиксили
https://nextcloud.com/blog/nextcloud-sync-2-0-brings-10x-faster-syncing/
F0iL Автор
16.09.2022 09:45Ну да, идея на поверхности лежала.
Правда, судя по описанию, оно работает только при использовании родного клиента, а при обычном WebDAV все будет по-старому.
SiteCenter
16.09.2022 10:46+1ИМХО, ключ лучше отдельно от базы хранить, например базу в NC, ключ в условном Dropbox
kulhaker478
16.09.2022 12:31Верно, хотя если теряется ключ, то теряется и база, думаю не сильно страшно. Со стороны безопасности у меня есть идея запилить проект программно-аппаратного ключа-флешки с портативной версией KeePass/HID/TFA токеном в одном флаконе
kapuletti
16.09.2022 00:45Всё будет очень плохо если попробовать залить node_modules папочку. Насколько я понял там информация по каждому файлу в базе хранится.
Jameson
15.09.2022 22:15+9Даешь selfhosted в массы!
А через Docker не проще было бы всё это хозяйство развернуть или хостинг не поддерживает? Кстати, расскажите по секрету, плз, что за хостер.
F0iL Автор
15.09.2022 22:28Через docker по идее тоже можно, есть официальный образ, но при этом на своем сайте разработчики рекомендуют именно snap, поэтому я и пошел по этому пути.
Хостер из трёх букв, не уверен, что парни будут счастливы от хабраффекта, так что могу написать в ЛС.
nitro80
16.09.2022 01:02Напишите пожалуйста в лс )
saboteur_kiev
16.09.2022 02:50+3То есть хостер, который предоставляет 100гб хранилища за 10 евро в год не сможет выдержать наплыв десятка или сотни потенциальных клиентов?
Или вы думаете таки больше тысячи может понаехать?
andrey_novikov
16.09.2022 10:58И мне напишите, если у них есть простая возможность платить из России (не через крипто-биржи).
F0iL Автор
16.09.2022 10:59Увы, российские карточки из гейт не поддерживает, так что только криптовалютами.
LeshaRB
15.09.2022 22:43А если сделать все как у вас
Только SFTP сервер развернуть и WebDAV?
Не думаю , чтоб будет слишком много пользователей, каждому по учетке итд
Да конечно с шарами файлов нюансы , но все же меньше памяти будет потреблять чем NextCloud с его зависимостями?
F0iL Автор
15.09.2022 23:34Да, конечно можно. Просто WebDAV можно например с помощью Lighttpd, либо есть пара неплохих webdav-серверов на Go, в том числе с возможностью создания разных пользователей и правами доступа. Даже слабенького VPS для такого за глаза хватит, а клиентов для Webdav тоже навалом. Правда, красивой веб-морды уже не будет, и между пользователями файлы пошарить так просто не получится. И сертификат от let's encrypt настраивать придется ручками, но это уже мелочи.
DreamingKitten
16.09.2022 00:07+1Огромный плюс WebDAV в том, что он нативно поддерживается Windows как network drive.
F0iL Автор
16.09.2022 00:22Это да. Правда, по моему опыту поддерживается, прямо скажем, хреновато, глючит и тормозит :)
entze
16.09.2022 10:54Если это WebDAV Яндекс.диска, то это фича. Есть даже клиент обходящий ограничения, которые введены чтобы заставить пользоваться родным клиентом.
APLe
16.09.2022 12:12А вот это интересно! Как их ограничения обходить, и нельзя ли это сделать для стандартных WebDav клиентов?
entze
16.09.2022 13:43+3https://github.com/yar229/WebDavMailRuCloud от местного хабражителя @yar229
https://habr.com/ru/post/357822/ подробная информация
SerjV
16.09.2022 16:58+1Огромный плюс WebDAV в том, что он нативно поддерживается Windows как network drive.
Только если ничего не изменилось за последние пару лет, то на монтируемом с nextcloud в windows машины диске больше чем одному человеку с более чем одного устройства лучше не работать - т.к. webdav блокировок у nextcloud не реализовано, а без них несколько человек на общем диске кашу из данных устроят.
vconst
15.09.2022 23:23+6Все это заканчивается тем, что, рано или поздно, меняется хостинг-провайдер. По разным причинам, самым разным. И все накопленное там богатство, приходится куда-то переносить, потому что неоплата хостинга — быстро заканчивается уничтожением VPS. Приходится поднимать у другого хостера, потом еще у одного и так далее, пока все это не надоест и не осядет в домашнем NAS под кроватью
А то, что валяется на дроп-гугле, оно там и остается, даже если не платить. Закачивать больеш не дадут — а сами данные остаются. И за гуглояндексовый диск можно заплатить за год вперед, а провайдеры VPS, обычно, просят деньги каждый месяц. Это очень неудобноFirz
15.09.2022 23:31+3И за гуглояндексовый диск можно заплатить за год вперед, а провайдеры VPS, обычно, просят деньги каждый месяц. Это очень неудобно
А ткните пальцем хоть в одного хостера, у кого нельзя либо за год сразу оплатить, либо внутренний баланс пополнить чтобы с него списывалось само, интересно взглянуть на таких динозавров.vconst
15.09.2022 23:32Диджитал оушен, Скалевей, Амазон, Гугль
WondeRu
16.09.2022 00:47+2Гляньте aws ec2 reserved instances, можно за 3 года вперед заплатить, причем с большой скидкой (а еще дешевле будет, если выбрать amd-процессоры)
vconst
16.09.2022 16:40Резервед — это немного не то. Я «он деманд» пользовался, вырубая и врубая по необходимости, прямо со смартфона. Но да, сейчас там немного интереснее стало. Конкуренция лоукостеров здорово продавила цены на всякие микро-инстансы
nitro80
16.09.2022 01:06+6И что, они прям не принимают условные 60$ на свой счёт? Строго 5$ платёж? )
Когда я пользовался DO, почему-то удавалось пополнить баланс на несколько месяцев вперёдAnyuta1166
17.09.2022 09:18Scaleway точно не принимает. Раз в месяц выставляется счёт и сумма счёта списывается с карты, других вариантов оплаты нет.
selivanov_pavel
16.09.2022 00:21+15Проблема в том, что дроп-гуглы, даже за деньги, хотят мои данные не просто хранить, а индексировать и извлекать оттуда информацию.
Пока что в основном для того, чтобы узнать, как эффективнее впарить мне очередной айфон. Завтра туда прикрутят супер-современную нейронку для ловли преступников, она проиндексирует мои детские фото из зоопарка и решит, что я - некро-педо-зоофил. Можно подать аппеляцию, но её автоматически отвергнет высокопроизводительный аппеляционный робот.
Поэтому - Boxcryptor, и все довольны: мои данные только у меня, дроп-гугл радостно индексирует набор случайных символов.
up40k
16.09.2022 00:52+2Boxcryptor
Лучше Cryptomator. Бокскриптор проприетарный и хранит ключи у себя в облаке.
selivanov_pavel
16.09.2022 00:56+1Разумеется, локальная лицензия без облака со своим ключом.
Cryptomator пробовал, тоже работает, но Boxcrypotr был чем-то удобнее, сейчас уже не вспомню.
entze
16.09.2022 10:39Boxcryptor не ок по причине "Мы не можем принять заказ из вашего региона.".
А в бесплатной версии нет шифрования имен файлов. "Я со спящим зебренком.mp4" или как говорил бывший директор АНБ - "We Kill People Based on Metadata"
Cryptomator насколько понимаю так и не обзавелся полноценным CLI что несколько неудобно.selivanov_pavel
16.09.2022 12:23Локальная лицензия со своим ключом, без облака, работает из любого региона.
Про шифрование имён - аргумент, я не использую, попробовал - правда в бесплатной версии не хочет.
entze
16.09.2022 10:58Ах, но BoxCryptor ок тк поддерживает аппаратные ключи, Cryptomator обещает тот же Yubi но пока разродился странным решением.
madcatdev
16.09.2022 11:23А еще лучше - домашний сервер.
entze
16.09.2022 13:07Возможно, но тогда сможете прикинуть затраты на его создание и функционирование?
Сценарий - у меня смарт с кучей фото, ноут. Хочу сделать копию.kulhaker478
16.09.2022 13:12Собирается из любого хлама что под руку попадается, с оговоркой что это будет конкретно NAS, а не серв. NC довольно привередлив к дисковой подсистеме, будучи установленным на флешку крайней плохо себя чувствует, если ставить на ssd - полёт нормальный
название хостнейма локальный мем, не обращайте внимание :3entze
16.09.2022 13:58+1Надежность хлама - ну такое. К тому же если из хлама только старые ноуты, то нужен USB кейс. Отсюда вопросы по скорости.
Может даже проще все в Телегу кидать.
Хотя если задача большой файлопомойки на Х дисках да еще и с ценным, то собрать решение стоит заморочиться.
Ionenice
16.09.2022 14:49+1Свой nas в любом случае выгодней как мне кажется, особенно для плекса какого-нибудь. Купить vds или хранилище с объёмом в пару терабайт, не говоря уже про десяток-другой, проблемно, начиная от провайдеров и заканчивая ценой
entze
16.09.2022 15:32Зависит от задач все же. Плекс для киношек на домашнем ТВ - понятно.
Стриминг или просто доступность музыки, которой нет в стриминговых сервисах - уже другая тема.
event1
16.09.2022 16:47У меня такой. Комп — ноутбук Тошиба 2008-го года. Диски — 3 wd purple на 2Tб каждый по 70 фунтов. Они же и были основной инвестицией. Если перевести в цены автора, это 24 евро в месяц (4Тб при €3 за 0,5Тб). То есть я отбился примерно за год. В принципе, оно не летает, так что когда тошиба сдохнет, есть rpi в загашнике.
madcatdev
16.09.2022 17:30+1Давайте попробуем.
Цены по яндекс.маркету:
Материнская плата GIGABYTE GA-A320M-H 4000р
Оперативная память AMD 4 ГБ DDR4 2666 МГц 1000р * 2шт
Процессор AMD Ryzen 3 3200G AM4, 4 x 3600 МГц 9300р
Твердотельный накопитель Netac 128 ГБ M.2 1400р
Блок питания Deepcool DN450 450W 2300р
Кулер АМ4 ~1000р
Итого: 20000рЖесткий диск можно поставить любой (не берите SMR!), я себе лично поставил Western Digital 8 ТБ HUS728T8TALE6L4 (цена сейчас 18000р).
Как по мне, лучше поставить один большой диск, чем несколько дисков поменьше. Каждый подключенный диск - это 5-10Вт потребляемого электричества и лишний шум.Такая сборка будет потреблять около 30Вт в простое, что при цене электричества 5р/КВт выйдет в 100р/месяц.
nidalee
16.09.2022 18:14Как по мне, лучше поставить один большой диск, чем несколько дисков поменьше. Каждый подключенный диск — это 5-10Вт потребляемого электричества и лишний шум.
Зависит. RAID с какого-то объема СХД не помешает.Alexey2005
16.09.2022 22:05+1По моему опыту, RAID — это игрушка для опытных сисадминов. Для домашних же пользователей он наоборот сильно повышает возможность просрать все данные буквально на ровном месте.
Например, когда у такого самодельного хранилища сдохла материнка, перенести грёбаный RAID на другой комп я так и не осилил (и все данные там утерялись).nidalee
16.09.2022 22:24Мы говорим про софтовый или железный?
SerjV
16.09.2022 22:56Мы говорим про софтовый или железный?
Он скорее про "полупрограммный" - когда недоконтроллер, но есть (недо - потому, что часть работы всё равно драйвером на проце делается).
С "железным", кстати, примерно та же проблема, если сдохнет контроллер - надо искать аналогичный.
А вот чисто программный рейд с дисками, подключенными к обычному HBA - вот это совсем другое дело. Вплоть до того, что люди "железные" рейд-контроллеры перешивают в HBA.
nidalee
16.09.2022 22:57+1Да, домой только софтовый.
SerjV
16.09.2022 23:04+2Да и "не домой" иногда стоит подумать в ту же сторону. Но выбирать между "полностью софтовым с контроллером в режиме host bus adapter", либо полноценным железным. Никаких "полупрограммых" рейдов, нафиг-нафиг-нафиг, хоть домой, хоть не домой.
vconst
16.09.2022 16:50-4Честно говоря, мне совершенно наплевать, какой из Sergeant Major будет индексировать мои файлы. Ему до меня лично никакого дела нет. Пусть пытается мне айфон впарить
Главное, что бы наши любопытные «товарищи» в них нос не засунули.selivanov_pavel
16.09.2022 23:09+3Есть множество сценариев, в которых утечка ваших данных сделает вам хуже. И практически нет сценариев, где это обернётся вам на пользу.
У вас были проблемы со здоровьем? Ваша мед. страховка станет дороже.
Хотите наняться в FAANG? Нейросеть выяснила, что вы были долгое время были в депрессии и много прокрастинировали.
Вы не совершали преступление, но в ваших данных обнаружились косвенные доказательства, привязывающие вас к месту его совершения? Есть шанс сесть в тюрьму.
vconst
18.09.2022 09:10+1Надо трезво оценивать вероятности всех этих событий. Я же не говорю — что утечка это хорошо. Просто для обычно русского человека, в нынешних условиях, утечка данных к иностранным компаниям, которые их «держат» — почти неактуальна.
anonym0use
16.09.2022 20:42+1> Завтра туда прикрутят супер-современную нейронку
Уже
> дроп-гугл радостно индексирует набор случайных символов.
за такое уже сносят аккаунты вместе с содержимым без объяснения причин, пруфы лень искать, в новостях былоBronx
17.09.2022 01:44Я храню TrueCrypt-овские тома в Google Drive и в OneDrive, что вполне попадает под "набор случайных символов", никаких претензий ни от кого не было.
garbagecollected
16.09.2022 04:00+2А то, что валяется на дроп-гугле, оно там и остается, даже если не платить. Закачивать больеш не дадут — а сами данные остаются. И за гуглояндексовый диск можно заплатить за год вперед, а провайдеры VPS, обычно, просят деньги каждый месяц. Это очень неудобно
Я не понимаю, о чем вы. Нашёл первый попавшийся провайдер прямо с мобильного телефона. Оплата 48 евро за 2 года.
Все это заканчивается тем, что, рано или поздно, меняется хостинг-провайдер. По разным причинам, самым разным. И все накопленное там богатство, приходится куда-то переносить, потому что неоплата хостинга — быстро заканчивается уничтожением VPS. Приходится поднимать у другого хостера, потом еще у одного и так далее, пока все это не надоест и не осядет в домашнем NAS под кроватью
Я не знаю, что вы собираетесь хранить в облаках. Может, вам 1тб места или 4тб трафика в месяц не хватает, или скорости в 1гбит недостаточно чтобы перенести данные, или денег не хватает за пару лет 48 евро накопить. А может у вас уникальное предложение на домашние NAS по оптовым ценам?
F0iL Автор
16.09.2022 09:10Прикольно предложение, только имейте в виду, что у вас на скриншоте NAT VPS - для файлосвалки не критично повисеть на нестандартном порту, но с настройкой LetsEncrypt возможно придется немного потанцевать.
garbagecollected
16.09.2022 14:34Тариф с полным ip4 без NAT стоит 72 евро / 2 года. Но 20 портов для хранения файлов достаточно.
Если хранилище личное, я бы не стал морочиться LetsEncrypt, сделал бы самоподписанный сертификат и добавил в доверенные на все устройства вручную. Бонусом x509-авторизация. Можно даже Yubikey.
ArkadiyShuvaev
16.09.2022 10:18Ну, кстати, не всегда исходящее соединение достаточно скоростное, чтобы залить в cloud какое-нибудь home video.
У меня, например, только 5 Мбит/сек upload (50 Мбит download). Да, можно купить и больше, но это и стоит дороже. Один год экономии - и можно купить простенький домашний NAS :)
entze
16.09.2022 11:01С простеньким домашним - если он исключительно внутри или смотрит наружу только под VPN, если нет - то производитель перестает обновлять прошивки и NAS шифруется.
Если домашний NAS просто ПК заточенный под нас с возможностью ставить свою систему - то конечно лучше.
garbagecollected
16.09.2022 14:43Самый дешевый Raspberry Pi 4 (2Gb) стоит в лучшем случае $100. Прибавьте сюда стоимость 4 HDD для организации RAID10 + электричество + интернет. За 48 евро вы получаете 1Тб в облаке на 2 года.
vconst
16.09.2022 16:58+2Я разве говорил о деньгах?
Проблема не в стоимости хостера, а в том, что порой, по всяким независящим от тебя причинам — их приходится менять. И вот когда один раз ты поднимешь и перекачаешь, второй, третий — а на четвертый я залюбился и слил все на дропбокс.
Ul3ainee
16.09.2022 00:27Статья толковая и полезная! Сам очень давно пользуюсь Nextcloud (и делал коммерческие внедрения), чего и всем желаю.
У меня буквально один вопрос: а почему zswap (которому ещё и swapfile требуется), а не сразу zram? Намного отзывчивее получается система. А для полного душевного спокойствия можно добавить к нему файловый swap с более низким приоритетом. На VPS с гигабайтом оперативки можно и вовсе одним zram обойтись.F0iL Автор
16.09.2022 09:39У меня была виртуалка с 512мб, так что без физического свопа в любом случае было никак не обойтись. И когда я начинал ее настривать, я тоже задумался, что взять, zram или zswap. Сначала заметил, что zswap появилось в ядре сильно позже чем zram, видимо, добавили его не просто так :) и начал разбираться. С принципом и механизмом zswap все понятно: это по сути дела кэш, куда система будет сжимать страницы памяти, стараясь не дать им упасть в медленный своп. Идея zram тоже в компрессии, но выглядило оно как костыль: нечто прикидывается свопом, по факту им не являясь. В варианте с двумя свапами с разными приоритетами не совсем понятно, будет ли система перекладывать самые старые страницы из zram на диск, или же тупо сначала забьет быстрый zram, а дальше будет свопится на медленный HDD. Ну и в zswap размер сжатого кэша будет меняться динамически в процессе работы, у zram же размер статический, и из этого напрашивается вывод, что zram из-за своей гибкости будет работать более эффективно, и разные люди в интернетах это подтверждают.
hssergey
16.09.2022 14:13+1Да, zram не имеет смысла при включенном свопе, потому что "тупо сначала забьет быстрый zram, а дальше будет свопиться на медленный HDD". Поэтому его используют, если нет свопа, в андроиде например.
Ul3ainee
16.09.2022 16:49У zram актуальный размер динамический, статический у него «потолок». В этом отношении он ведёт себя по принципу tmpfs, а не по принципу ramdisk.
Anton-V-K
16.09.2022 01:11Спасибо за инструкцию.
Подход, конечно, интересный, но чем он лучше варианта с Resilio Sync на своих пасочках?
F0iL Автор
16.09.2022 09:08Resilio во-первых проприетарный (что уже для некоторых стоп-сигнал), а во-вторых, если я правильно понял из описания, все равно потребует держать данные на своей машинке под кроватью со всеми вытекающим проблемами.
Возможно кому-то лучше подойдет один вариант, а кому-то другой.
Sazonov
16.09.2022 14:33У меня дома стоит простенький NAS, статический ip, домен, купленный Resilio Sync, 200 mbps интернет. За 3 года эксплуатации ни одной проблемы, за исключением некоторых косяков связанных с let’s encrypt которые пришлось поправить вручную.
Немного неудобно при смене телефона - Resilio создаёт новую папку для автобэкапа фоток, вместо переиспользования существующей. Чинится перемещением файлов.
Если нужно больше скорости и доступности, то можно поднять второй инстанс Resilio на любом линукс хостинге. Данные по торрент протоколу передаются очень быстро.
SerjV
16.09.2022 01:47+1Давно не следил за обновлениями Некстклауда, кто в курсе, подскажите пожалуйста, как у него сейчас дела с webdav-блокировками?..
Несколько лет назад раз была большая дискуссия, на что разработчики ответили, что этого у них в планах нет, мол нефиг подключать nextcloud через davfs; а потом добавили возможность ручной блокировки из веб-интерфейса, автоснимаемой по тайм-ауту и сказали, что формально просьбу выполнили, отстаньте.
Проблема в том, что, например, в том же десктопном LibreOffice можно открыть файл напрямую через webdav. Но если ты с файловым ресурсом работаешь не один, а другие люди тоже имеют доступ - т.е. это уже не персональная файлохранилка, то один и тот же файл могут попробовать отредактировать несколько человек - и "выиграет" тот, кто сохранится последним. Не говоря уж о сценарии типа "несколько человек открыли файл в Collabora и час правили, но пока они его правили, кто-то его удалил/залил новую версию/поредактировал в том же LibreOffice...
saboteur_kiev
16.09.2022 02:54Для некоторых случаев можно просто взять хостинг и поставить себе https://github.com/winfsp/sshfs-win
hellamps
16.09.2022 03:16+1есть же docker-compose для этого уже написанный...
F0iL Автор
16.09.2022 09:06Есть даже официальный docker-образ, да.
Но:
1. На своем сайте разработчики NextCloud рекомендуют использовать именно snap
2. В случае snap сама установка NC выполняется двумя командами: установка snapd и установка NC в него. В случае с Docker будет то же самое, и не понятно, какое именно преимущество даст использование Docker вместо Snap.nidalee
16.09.2022 09:22Например, чистый dmesg :)
Плюс (скорее всего) там не придется возиться с removable, чтобы перенести каталог данных.
select26
16.09.2022 11:43А где вы нашли рекомендации разработчиков использовать именно snap? Поделитесь пожалуйста?
Я на сайте NC нашел:
Nextcloud GmbH maintains an all-in-one Docker image that is easy to install and maintain.
и вот это:
The Nextcloud community maintains a Nextcloud Snap, including release channels and quick and easy deployment for easy home use.
Т.е. snap - это не официальная разработка Nextcloud GmbH. И на сайте https://nextcloud.com/install/ рекомендуется использовать NC as service, потом Docker, потом ещё несколько вариантов и только в конце - snap.
F0iL Автор
16.09.2022 11:47Я пошел сразу в Docs, а именно вот сюда: https://docs.nextcloud.com/server/latest/admin_manual/
и там в разделе Installation on Linux написаноThis document provides a complete walk-through for installing Nextcloud on Ubuntu 18.04 LTS Server with Apache and MariaDB, using the Nextcloud .tar archive. This method is recommended to install Nextcloud.
If you prefer a more automated installation of Nextcloud and there are no packages for your Linux distribution, you have the option to install the community Snap Package. This includes a full production-ready stack, will maintain your HTTPS certificates for you, and will automatically update as needed to stay secure.
Про Docker там не сказано вообще ни слова.
kotov666
16.09.2022 03:36Жаль nextcloud_server нельзя установить под windows 7х86, а то есть пара ноутов (Asus Eee PC 1025C) которые пылятся, но кроме windows 7х86 на них ни чего нормально не установить.
Ul3ainee
16.09.2022 04:39На них ещё десять лет назад (K)Ubuntu получалось ставить. А уж если забить на видеодрайвер (зачем он на сервере?), то последний Debian GNU/Linux i386 должен зайти как родной безо всяких плясок.
kotov666
16.09.2022 04:41У меня один используется как приставка к телеку (фильмы смотреть), второй как видеосервер на нем ivideon крутится.
Ul3ainee
16.09.2022 04:49Тогда («пердолинг», да) можно на досуге поставить Debian, пересобрать ядро с нужными опциями (ещё были проприетарные дрова, но им уж 10 лет) и навернуть сверху какой-нибудь Kodi в качестве медиацентра и Nextcloud под ним.
mpa4b
16.09.2022 11:54я вижу 2 варианта:
NetBSD. до сих пор i386 поддерживается полностью, ядро крайне мелкое и многие софты тоже компактные, есть бинарные пакеты. 2 гб хватит даже чтоб пересобраться. кроме того, NetBSD очень удобно пересобирать на стороннем сервере (любой linux или даже wsl) -- просто запуском 1 скрипта. есть проблемы с поддержкой различных wifi-карт, возможно придётся менять на поддерживаемую.
-
Gentoo, тоже, в общем-то, поддерживает i386 до сих пор. но в принципе в линуксе ядро жирное нонче, и если не смущает грохнуть 50+ мегабайт памяти на только само ядро и ещё сколько оно там займёт структурами данных -- можно. правда пересобирать локально на еее замучаетесь.
garwall
16.09.2022 11:58А в чем проблема? Поставить хттп-сервер, поставить пхп, поставить бд, и должно взлететь из тарника.
nidalee
16.09.2022 07:28А посмотрите пожалуйста, у вас snap ошибками apparmor в dmesg не сыпет после установки nextcloud? Он меня задрал в свое время, пришлось устанавливать безо всяких контейнеров вообще.
Но так на самом деле и проще, потому что не приходится устанавливать addon на эмуляцию removable, чтобы snap хранил данные на отдельном разделе. Бонусом идет резервное копирование на второй сервер через zfs send :)F0iL Автор
16.09.2022 09:01Кстати да, проверил логи, apparmor в dmesg спамит. Судя по всему не фатально, на функциональность не влияет, да и logrotate такое должен на раз-два компрессить и подчищать, но на досуге надо будет попробовать разобраться, в чем дело.
Kenshouten
16.09.2022 08:21А хостить своё облако дома не рассматривали? Можно воткнуть ссд на пару терабайт, и обычно это намного дешевле, чем облако.
F0iL Автор
16.09.2022 09:04Да мне такие объемы не нужны. А когда нужно всего сотню-несколько гигабайт, для меня облако выходит дешевле.
Для личного облака со сравнимой надежностью под кроватью нужна будет сама машинка (у меня даже старых лаптопов не осталось после перееезда) с диском, беспреребойник к ней, за белый IP у провайдера каждый месяц платить, придумать что-то с резервированием на случай проблем с интернетом, да еще и цены на электричество в Европе в этом году выросли :)
entze
16.09.2022 10:51BackBlaze B2 на 2Tb, правда без скачивания да и там HDD будет, обойдется в 120$.
Когда Office 365 был доступен, то OneDrive в нем получался по семейной подписке еще дешевле.
С другой стороны для своего хранилища надо железо с ненулевой стоимостью.
DreamingKitten
16.09.2022 11:40+2Как вы так интересно сравниваете цену разовой покупки (без учёта остального железа) со стоимостью подписки?
Ну и самый дешманский SSD на 2 ТБ я нашёл на hotline за €140. Не выглядит прям бюджетным решением. За такие бабки можно Storage VPS оплатить на 7 лет вперёд.
Bronx
16.09.2022 09:30Допустим, я освоил это мастерство и настроил себе личное облако, теперь все домашние им пользуются, благодать. Завтра я внезапно отдаю концы — и что домашним делать со всем этим хозяйством? Мне нужно ещё научить кого-то это облако поддерживать — платить, следить, восстанавливать, переносить?
nidalee
16.09.2022 09:43+1Достаточно довести, что после вашей смерти у облака часики затикают. Пусть сами думают, тащить эти данные куда-то еще или плюнуть.
select26
16.09.2022 11:30+1А если вместо личного облака вы используете публичное, то что меняется в этом случае?
Точно так же, после окончания подписки и неоплаты следующено периода данные будут потеряны.
Это вопрос не технического, а организационного плана.
У меня старшие сыновья - админы со всеми привелегиями и знают как продлить подписку.
Bronx
16.09.2022 14:22Проблема не в неоплате, проблема в необходимости сакральных знаний.
Сыновья смогут повторить ваш подвиг, когда этот VPS накроется и нужно будет искать новый и переезжать на него? Или доменное имя забудут продлить? Или Let's Encrypt накроется, и нужно искать другой CA? Это всё гораздо сложнее, чем переехать с Google Drive на OneDrive или на Dropbox.Примерная аналогия: вы решаете, что нефиг платить за электричество и собираете на крыше кастомную систему на солнечных панелях из
говна и палоккупленных там и сям комплектующих. Она работает, если что-то ломается, вы быстро чините, знания есть, чё. Но без вас эта система станет бесполезным хламом на первой же аварии. Вы теперь её вечный придаток.Ufo28
16.09.2022 15:02+2А в чём повышенная сложность переехать с NextCloud на OneDrive или на Dropbox или на Google Drive, если возникала такая необходимость?
Bronx
17.09.2022 01:36С тем, что если, скажем, Google решит убить свой Drive, или Apple — свой iCloud, то они дадут достаточно времени на миграцию, просто заморозив закачку и уведомив всех из каждого утюга. Можно неторопливо скачать все файлы из облака на компьютер, потом закачать на другое облако.
В случае, если закроется хостер кастомного облака (протухнет домен или сертификат), такого не будет:
- не будет уведомлений; возможно, будет емейл о закрытии хостера, или о протухании домена, или о протухании сертификата, но нужно ещё уметь увязать это с потерей облака, т.е. кому-то ещё нужно знать про это и помнить, и заранее подписаться на емейлы от хостера, от DNS, от CA, отслеживать это всё, реагировать;
- не будет заморозки и sunsetting period. Лавочка просто закроется (доступ потеряется), и всё нажитое непосильным трудом останется там, и нужно особое умение чтобы это аварийно вытащить через чёрный ход. Локальных бэкапов, конечно же, не будет — для этого нужен постоянно/периодически включенный PC c большим диском, в наше время это становится диковиной.
Я совершенно не отрицаю пользы частного облака для себя лично (скажем, для профессиональной деятельности или для хобби, которые кончатся с вами), но вот для семьи состоящей из обычных юзверей — это уже большой вопрос.
Ufo28
17.09.2022 19:55+1В актуальной реальности
от google могут зачебурнетиться не предупреждая за пол года (в общем можно считать что уже предупредили)
так-же возможны несчастные случаи с утерей человека, знающего пароль и его телефона одновременно
и можно придумать ещё ситуаций, когда вернуть данные от google будет гораздо сложнее, чем достать диск из сервера под подушкой, даже если на нём nextcloud сломался не запускается (особенно если там был зеркальный raid и территориально распределённое резервное копирование на малинку с диском на даче и/или на какое-нибудь облако)Bronx
18.09.2022 11:00google могут зачебурнетиться
VPN освоить проще, чем администрирование удалённого сервера.
достать диск из сервера под подушкой
Какой сервер под подушкой? Вроде обсуждаем облако, организованное на VDS/VPS у хостера "где-то в Болгарии".
select26
16.09.2022 11:34+1И еще: любое облако нужно поддерживать — платить, следить, восстанавливать, переносить. Любое!
Вы можете делать это самостоятельно или поручить кому-либо за деньги. Выбор сейчас огромный.
DonAgosto
16.09.2022 09:36+1Автору плюс за такое подробное руководство. Но есть еще вариант за схожие деньги и меньшие усилия - взять у Hetzner готовый Nextcloud (Storage Share) на 1TB за 4,3 EUR в мес.
tommyangelo27
16.09.2022 10:56Я пока остановился на Microsoft OneDrive за 2 евро в месяц за 100 GB. Как-то совсем лень самому обслуживать облако.
F0iL Автор
16.09.2022 13:04Да, у OneDrive неплохое предложение, но self-hosted решение гораздо гибче - например, бонусом на нем можно поднять свой VPN :)
kulhaker478
16.09.2022 11:10+3Хочется дополнить немного по поводу неочевидных моментов и их решений, у NC:
1.. Хранилище - при первой конфигурации после установки, предлагается выбрать путь в котором будут храниться пользовательские данные. Однако если после непродолжительно использования приспичит перенести/добавить хранилище (условно: у вас NAS и вы добавили ещё дисков и хотите использовать и их), то это не получится сделать по человеческиРешение - плагин (хотя в NC это всё таки приложения) External storage support, в нём добавляется хранилище и оно отображается как обычная папка в интерфейсе NC. Помимо добавления локальных папок ESS умеет и в сетевой доступ.
2.. Стоит так же учитывать что NC не читает содержимое каталогов 'как есть', все операции с файлами производятся с добавлением информации в БД. Я использую NC в домашнем NAS, в гибридном режиме совместно с шарой по SMB от OMV, это не так уж и сложно делается главное не забывать про унаследование и распределение прав. Однако существует проблема что после добавления файлов в пользовательское хранилище они не отображаются в самом NC.
Решение - принудительное сканирование через occ консоль:
Сканирование папок всех пользователейsudo -u www-data php /var/www/nextcloud/occ files:scan --all
Сканирование определённой папки у пользователяsudo -u www-data php /var/www/nextcloud/occ files:scan -p admin ../admin/files/YouTube
3.. Последние и моё любимое - синхронизация под Android. Приложение клиент под ведро, при синхронизации папок делает дубликат файлов в каталоге приложения ../Android/data/com.nextcloud.client/ что на корню убивает суть и бессмысленно отжирает место
Решение - сторонний клиент синхронизации Autosync, помимо NC умеет синхронизировать через множество шар, в т.ч. и SMB, что в случае файлов с музыкой получается даже быстрее.Nasreddin_Hodja
18.09.2022 12:10Однако если после непродолжительно использования приспичит перенести/добавить хранилище (условно: у вас NAS и вы добавили ещё дисков и хотите использовать и их), то это не получится сделать по человечески Решение - плагин
Я просто примонтировал нужные директории с помощью
mount --bind
hullaballoo
16.09.2022 13:58Если не хочется snap и не хочется много делать руками, то есть инструкция от немца https://www.c-rieger.de/nextcloud-installation-mit-nur-einem-skript-zero-sh/ (репо: https://codeberg.org/criegerde/nextcloud-zero) - практически не требует ручного труда: задать десяток параметров скрипту и вперёд.
F0iL Автор
16.09.2022 14:16Я бы не сказал, что инструкция по ссылке сильно проще. Непосредственно для установки NextCloud что там несколько команд, что у меня три команды.
Все остальное это именно настройка сервера для безопасности и производительности.
Nasreddin_Hodja
18.09.2022 12:18Docker же есть. Правда, не очень понравилось как он у них реализован, но уж лучше так чем snap.
v_chaplyak
16.09.2022 14:17+1Года два назад для себя понял - что вот эти хранения личных архивов - путь в никуда.
Использую гугл.фото с доступом родным куда надо. Все фото со временем фильтрую, не нужные и удаляю. Условному мне, за 10-20 лет, не думаю что будет интерестно листать по 50-100 фоток с каждого дня рождения, поездки, вылазки на шашлык. 2-3 ключевых фото достаточно что бы вспомнить. Когда у гугл.фото убрали безлимит - еще больше дало стимула почистить ненужное. Раз в полгода выгружаю себе архив на всяк случай. Со временем да, лимита не хватит, может докуплю место, или перейду на OneDrive. Как то не боюсь что фото моего сына с писюном в ванне может какие то органы заинтересовать. Анализирует гугл фото? да пусть себе анализирует. У меня не частная порнолаборатория. С террористами переписок не веду
А вот "потому что не хотим зависеть от корпораций с их кабальными лицензионными соглашениями и сменой условий задним числом " - смешно. Как будто у VDS/VPS этого нету.censor2005
16.09.2022 18:01+1Недавно была новость про неудачливого отца, который отправил врачу фото гениталий своего сына, в результате чего Гугл безвозвратно удалил его аккаунт за распространение ЦП. Не удивлюсь, если скоро будут блокировать просто за хранение таких фоток в облаке
antej90
16.09.2022 20:12Эппл весной этого года хотело организовать анализ содержимого айклауда нейросетью для борьбы с насилием и твинк порнографией. Вроде после волны негатива отказались... а может отложили
Exchan-ge
17.09.2022 00:25+2Условному мне, за 10-20 лет, не думаю что будет интерестно листать по 50-100 фоток с каждого дня рождения, поездки, вылазки на шашлык. 2-3 ключевых фото достаточно что бы вспомнить.
Мне сейчас чуть больше 60 и больше всего (в этом плане, конечно) я сожалею о прое… когда-то и где-то пленках с сотнями отснятых мною кадров.
Уцелело 10% из них — и примерно 50% из них очень приличного качества (сканы с пленок)
И теперь все это — огромная ценность как для меня, так и для тех, кто был на фото или знал людей на фото (20% уже нет с нами).
А ведь есть еще и пропавшие альбомы с фотографиями, которые были сделаны моей мамой в 50...60 гг прошлого века… это вообще уже были бы исторические документы.
Из 100 почти одинаковых фото что-то вдруг может оказаться весьма интересным лет через 30-40, какая-то мелкая деталь, внезапно ставшая очень важной много лет спустя.
hssergey
16.09.2022 14:19+2и потом добавляем те же самые строчки в /etc/rc.local чтобы оно сразу включалось после перезагрузки:
Сталкивался с тем, что rc.local отсутствует в новых убунтах. Для них необходимо добавить сервис в systemd, который бы запускал команды из этого файла. Как это сделать, написано например здесь: https://www.linuxbabe.com/linux-server/how-to-enable-etcrc-local-with-systemd
heos_spb
16.09.2022 14:31+21. >curl -u dunny:password -X PROPFIND https://ваш_домен/remote.php/dav/files/dummy/ - не взлетит
2. Про обновление - имхо, хорошо бы добавить, что после обновления стоит заходить на страницу параметров (Настройки -> Общие сведения) и выполнять инструкции оттуда (про нехватку индексов и т.д.)
Bablozavr
16.09.2022 14:41Без шифрования дисков и бэкапов получилась статья как НЕ надо делать.
Ну и я бы не доверил файлы vps за "100ГБ - 1 уе" в месяц, там явно всё из Г и палок.
F0iL Автор
16.09.2022 15:31NextCloud поддерживает шифрование на стороне сервера, добавил абзац про то как его включить в статью.
У этого хостера я пользуюсь SSD VPS почти уже 7 лет тоже за весьма скромные деньги, и все эти 7 лет оно работает как часы, каких-либо серьезных проблем или даунтаймов не было ни разу. На HDD VPS пол года, полет нормальный.
event1
16.09.2022 16:57+6Куда катится наш мир! Запустил
snap ...
и всё работает. Где настройки nginx? Где настройки iptables? Где растройки php-fpm, в конце концов?! Истинно говорю, наступают последние дни.kulhaker478
16.09.2022 23:48Блин, да, хорошо успел застать установку NC и OMV без снапа, теперь можно будет внукам рассказывать, кекв
toxicdream
16.09.2022 18:37+1Так, обождите, вся статья о том как на впс-ке под дебианом развернуть НекстКлауд?
Причем многие команды приводятся по принципу делая как я?
Мне было бы стыдно выкладывать такую статью.
nidalee
16.09.2022 18:59Вы знаете, я (не в обиду автору) тоже немного удивился. Даже ожидал, что статью заминусуют.
Ну, типа, на Хабре наверное не должно быть у читателей особых проблем с тем, чтобы по документации разработчика развернуть достаточно простой сервис?
Я так понимаю, что ставят плюсы больше за идею, чем за полезность гайда. Кто-то раньше может и не задумывался о существовании Nextcloud, а теперь попробует поднять.F0iL Автор
16.09.2022 19:11+1Ну, типа, на Хабре наверное не должно быть у читателей особых проблем с тем, чтобы по документации разработчика развернуть достаточно простой сервис?
Я тоже так думал, но в комментариях к другой статье на Хабре как раз выяснилось, что многие не знают, как это сделать, и хотели бы получить максимально подробную и простую и инструкцию.
Более того, ради этой публикации пришлось поменять планы и отложить другую свою статью про асинхронщину на корутинах в C++ :)
checkpoint
18.09.2022 00:54У меня к статье ровно одна претензия - почему VPS, а не собственное железо. Принципиально иструкция описанная в статье мало чем отличается - на своем железе или на виртуальном. Но раз уж сползать с облаков, то сползать конкретно! А не так, что через три месяца опять ломать голову как и куда перетаскивать своё барахлишко со сдохшего хостинга.
Автору поставил плюс за статью и в карму.
F0iL Автор
16.09.2022 19:08+1Да. Меня попросили написать именно такую статью, я нашел время и написал: https://habr.com/ru/news/t/676098/comments/#comment_24514066
dmox1
16.09.2022 19:11Хочется отметить, что это отнюдь не уникальное решение автора. Таких статей на просторах интернета достаточно. Уникальный вклад автора в идею вероятнее всего - размещение сервиса на Vps. Мой личный опыт заключался в размещении nextcloud дома на mini-pc с ssd 512gb + выделенный IP для ухода моей супруги от icloud.
Также хочу отметить один большой недостаток данного решения - клиент nextcloud для ios не способен работать в фоновом режиме. Таким образом, если вы хотите слить в ваше облако 256 gb фото и видео с телефона, для вас это будет большое испытание вашей психики)
demon_blr
16.09.2022 19:58Сначала называете себя Линукс гуру а потом:
Ставим МС
Называем ссш на 22 небезопасным, при этом оставляя парольный вход
Ставим софт на сервер через спапы
Фейспалм
F0iL Автор
16.09.2022 20:10Гуру я себя не называл, не надо тут. Это была всего лишь известная цитата.
Инструкция для новичков, а им с mc обычно гораздо проще в случае чего, я об этом прямо написал.
Про то, что парольный вход по SSH не самая лучшая штука и вход по сертификатам секурнее в статье тоже сказано прямым текстом, читайте внимательнее
Про снапы даже комментировать не буду, вы кажется статью прочитали по диагонали и вообще не вникли, для кого и почему она написана.
Renaissance
16.09.2022 20:19А проблемы при установке NC из snap с обновлением на мажорные версии NC уже исправили?
Раньше, при попытке обновиться на следующую мажорную версию процесс заканчивался неудачей и сообщением о том, что через snap это сделать невозможно. NC валится полностью до отката до предыдущей версии. Учитывая, что автоматические обновления в snap просто так отключить нельзя... Получился не очень веселый круг: неудачное обновление - откат.
checkpoint
16.09.2022 21:42Я не понимаю зачем арендовать какой-то VPS/VDS и хрен знает что еще ? Почему отметается вариант установки личного сервера у себя дома под кроватью или в чулане ? В крайнем случае - RPi4 с внешним SSD. Услуга статического IP есть у всех провайдеров и стоит не дорого, при этом у вас полностью отсутствует зависимость от каких-то облачных компаний. Вы даже можете сменить интернет провайдера при этом ничего не потеряв - всё переконфигурирование займет не более пяти минут. Если сползать с облаков, так основательно, а не менять одну удавку на другую.
F0iL Автор
16.09.2022 21:49Свой сервер - недешевое удовольствие. RPi стоит денег. SSD стоит денег. Бесперебойник стоит денег. Белый IP у провайдера стоит денег. Электричество стоит денег (у нас сейчас так вообще конкретно подорожало). Не решён вопрос с резервированием, если провайдер приляжет. Короче, по сравнению с простым low-end VDS за несколько евро в месяц, сопоставимого объема и надёжности домашний самопал окупится лет так только через 10, если вообще окупится. А ещё на том же самом VDS можно хостить, например, личный VPN для себя/семьи/друзей.
checkpoint
17.09.2022 02:06Я правильно Вас понял, что Вы беспокоитесь за сохранность Ваших данных, переживаете о том, что Ваш аккаунт могут случайно или намеренно заблокировать в Гугле, сам Гугл может быть заблокирован, интернет сегментирован и т.д., но при этом Вы совершенно не хотите платить за решение этих проблем ? Тогда вообще нет никакого смысла предпринимать какие-либо действия, продолжайте пользоваться облачными сервисами - это очень удобно и выгодно. Все так делают.
RPi одно время стоила копейки, да и сейчас на Али можно приобрести одноплатник совсем недорого. Резервное копирование тоже не проблема - ZFS в помощь (для начала достаточно простого зеркалирования). И бесперебойник Вам не нужен, так как сбои по питанию это достаточно редкое событие и Вы с легкостью его переживете - у Вас же не стоит задачи обеспечить непрерывно облуживание десятков тысяч одновременных запросов к Вашем хранилищу и на обработке запросов Вы не теряете деньги. А если теряете, то физический сервер в ближайшем датацентре в помощь.
Кто-то должен собрать и выложить образ SD карты для RPi со всеми облачными причиндалами, почтой и web-мордой, c возможность быстрой катомизации через Web. Не удивлюсь если такое уже давно есть.
У меня дома к телевизору сзади прикручена PRi4, используется и как медиа-центр и как хранилка и просто интернет погуглить во время еды. Она постоянно включена и смотрит наружу. На мой вгляд - весьма удобное место для размещение собственного "облака". Еще одним таким местом для "облака" может быть домашний маршрутизатор - он есть в каждом доме, всегда находится во включенном состоянии и подклчен к сети, и сбои по питанию ему почему-то не страшны. Вопрос только в софте.
valmont2k
17.09.2022 07:13интернет сегментирован
Как вы нежно чебурнет назвали
checkpoint
18.09.2022 00:33В духе современных традиций - "хлопок", "отрицательный рост" и т.д. ;-)
Aregreste
18.09.2022 11:14Так ведь мы все знаем, что интернет старательно хотят разграничить со всех сторон и правительство РФ далеко не первые и не самые деятельные в этом отношении.
Exchan-ge
17.09.2022 00:30Почему отметается вариант установки личного сервера у себя дома под кроватью или в чулане?
Знаю уже пяток случаев возгораний постоянно работавших системников — и это только личный опыт наблюдений (а в указанных местах еще и пыльно и вентиляция плохая, что очень способствует)
Причем в последнем по времени случае — сгорело огромное здание, с человеческими жертвами.checkpoint
17.09.2022 02:12+1Скажите, а возгорания холодильника, микроволновки, стиральной машины, телевизора, маршрутизатора и десятка зарядников для мобилок Вы не боитесь ? Вы когда в отпуск уезжаете хоть одно из перечисленных устройств из розетки отключаете ? Задумайтесь над этим!
F0iL Автор
17.09.2022 09:13+1Эм... Я когда в отпуск уезжаю надолго (дольше чем дня так на 3), отключаю от сети все вышеперечисленное. И даже холодильник - это прекрасный повод во-первых разморозить там морозильную камеру, а во-вторых, выкинуть из него все что там завалялось мертвым грузом.
DonAgosto
17.09.2022 10:17+2когда в отпуск уезжаете хоть одно из перечисленных устройств из розетки отключаете
Тут как с бэкапами, мне кажется. Есть которые не выключают, и которые уже выключают. Мне хватило пожара у соседей снизу по причине скачка напряжения в розетках. Тогда у всего подъезда электроприборы попортились, но вот некоторым особо не повезло. Сейчас конечно холодильник не отключаю, но вот зарядники в розетках точно никогда не оставляю.
checkpoint
18.09.2022 00:45-1Так то оно так, но 99.9% сограждан даже не задумываются об этом.
И еще. Нет никакой принципиальной разницы между "уехать в отпуск" и "уйти на работу" - ваша бытовая техника 50% времени находится без присмотра и "в случае чего" отключить её будет некому. Нормы пожаробезопасности нарушаются в абсолютно всех жилых домах, офисных помещениях, на производстве и даже в европейских датацентрах. Так, что все это демагогия.
DonAgosto
18.09.2022 15:39+1бытовая техника 50% времени находится без присмотра
Все так, но мне кажется стоит хотябы попытаться минимизировать размер возможных последствий, чем вообще ничего не предпринимать. Одинокий холодильник в углу кухни — гораздо меньшее зло, чем таковой, плюс 24/7 «десяток зарядок» рядом с мягкой мебелью и роутерв шкафуна сгораемом основании, и все это на алюминиевой проводке и на одном автомате на 16А в щитке без реле напряжения
DreamingKitten
17.09.2022 11:19+1Всегда, уезжая, обесточиваю квартиру целиком. Даже цепи освещения на щитке.
Если загорится не у меня, но инспектор потом найдёт, что что-то было включено, могут возникнуть неприятные вопросы.
Exchan-ge
17.09.2022 00:32+1Ну, например, потому что не хотим зависеть от корпораций с их кабальными лицензионными соглашениями и сменой условий задним числом. Или потому что нам хочется приватности.
поэтому нам нужен VDS/VPS
Нет ли тут некого противоречия?
sorochinskij
18.09.2022 07:17+1При наличии домашнего сервера есть еще вариант, хоть и немного сложнее. Поставить Nextcloud на домашний сервер, и подключить его по vpn к vps. В моем случае использую vpn Wireguard. А на vps поставить Nginx Proxy Manager, что позволяет использовать доменное имя и https как точку подключения к облаку. Такое решение не ограничивает возможности облака по объему в рамках vps.
heos_spb
1. >curl -u dunny:password -X PROPFIND https://ваш_домен/remote.php/dav/files/dummy/ - не взлетит
2. Про обновление - имхо, хорошо бы добавить, что после обновления стоит заходить на страницу параметров (Настройки -> Общие сведения) и выполнять инструкции оттуда (про нехватку индексов и т.д.)