Ubuntu server настройка nas

Обновлено: 03.07.2024

Качаем образ Ubuntu Server и записываем его на флешку:

Далее потребуются ненужный системный блок, монитор, мышка и клавиатура.

Ставим Ubuntu, в качестве имени хоста указываем, например, ubuntu-server , не забываем отметить Install OpenSSH Server , так как для управления сервером мы будем использовать ssh. После успешной установки перегружаемся.

Ставим на сервере Avahi Daemon, который делает машину доступной в локальной сети по имени хоста как <имя-хоста>.local .

Проверяем запущен ли сервис:

В Ubuntu особой настройки Avahi не требуется.

Делаем файлопомойку. У меня, например, есть несколько HDD, которые я объеденил в RAID-0 массив. Данные в RAID-0 записываются поочередно на два и более устройств, что увеличивает скорости чтения и записи. Недостатком является утеря данных при выходе одного из дисков, но для файлопоймойки это не принципиально.

Для общего доступа к файлам юудет использоваться NFS. Альтернативой NFS является Samba, которая сложна в настройке и без тонкой конфигурации показывает довольно низкую скорость передачи данных 7-11 MiB/s.

В /etc/exports добавляем строку:

И чтобы применить изменения вызываем:

Lines below this comment will be discarded

Подключение к серверу

Avahi нужен для того чтобы заработало подключение к хосту по имени (этот шаг можно пропустить и в дальнейшем подключаться по IP).

Так же нужно отредактировать /etc/nsswitch.conf , строчку hosts , добавив mdns_minimal [NOTFOUND=return] до resolve :

Запускаем Avahi демона:

Подлючение по SSH

Генерируем пару RSA-ключей для подключения по SSH (если требуется):

Чтобы не вводить постоянно пароль, добавляем пуьличный ключ на сервер:

Подкоючаемся к серверу:

Способы подключения по SSH

Запускаем PowerShell от имени администратора и ставим Putty:

image

Если у вас установлен WSL, то одключение к серверу ничем не будет отличаться от способа для Linux.

image

Доступ к расшаренным данным

image
image

Баг моей версии Windows: если при подключении сетевого диска указать имя хоста, то в проводнике он будет отображаться как Disconnected Network Drive.


Привет, Хабр! В ходе обсуждения одной статьи про «идеальную» домашнюю сеть, возник спор, что лучше, аппаратный NAS или мини-компьютер с Linux дистрибутивом. Автор предлагал использовать аппаратный NAS, т. к. якобы он проще в администрировании, не требует знаний Linux, да и вообще NAS тихий. Но при этом, для просмотра на DLNA-телевизоре видео, который он не поддерживает, предлагал включать ноутбук с транскодирующим DLNA. Меня это, мягко говоря, удивило, т. к. в идеальной сети такого быть не должно. Поэтому хочу представить своё видение одного из ключевых компонентов домашней сети — централизованного хранилища данных, и основано оно будет на мини-ПК с ОС Ubuntu Server.

Что нам нужно?

В первую очередь от NAS требуется, конечно, надёжное хранение данных и удобный доступ ним. В первую очередь для надёжности необходим RAID, потому как потерять весь домашний медиа-архив из-за отказавшего жёсткого диска как минимум глупо. Для доступа к данным необходимо настроить FTP и Samba-доступ. Конечно потребности у каждого свои, поэтому если вы используете MacOS или Linux, то вам наверняка больше потребуются другие протоколы (NFS, AFP), я же опишу настройку так, как я её делал для себя.
Для доступа к медиа-данным со smart-телевизоров, нам потребуется DLNA-сервер. А для для удобства скачивания, нам нужен torrent-клиент. Ну и желательно всё это администрировать через веб-интерфейс.

Почему не аппаратный NAS?

Казалось бы, производители давно позаботились о пользователях, и давно выпускают готовые коробочки специально для домашнего применения. Но у них есть недостатки:
1) Они дорогие. Вы вряд ли найдёте дешевле 20000 руб. NAS c возможностью подключения 4-х жёстких дисков, с процессором Atom. Те, что стоят недорого, в них обычно применяется слабенький процессор, которого уже не хватет на тот же torrent при одновременном скачивании двух потоков данных (просмотр фильма по DLNA и копирование, например, фоток). Собрать же полноценный мини-ПК на основе mini-ITX материнской плате с Atom и 4 Гбайтами памяти у меня получилось всего за 6000 рублей!
2) Они ограничены. То есть в нём предусмотрены только те функции, которые заложил производитель. Чтобы расширить его возможности, обычно требуются «танцы с бубном», т. к. ядро в прошивке бывает сильно урезанным. Применяя же Ubuntu, вы практически ничем не ограничены — огромный репозитарий всевозможного софта позволит вам сделать из вашего сервера всё что угодно, вплоть до поднятия виртуальных машин.

Почему не FreeNAS или OpenFiler?

Спросите вы. Во-первых, смотри пункт №2 недостатков аппаратных NAS, то есть наращивание функционала данных дистрибутивов очень проблематично, тогда как у Ubuntu есть огромный репозитарий уже настроенного софта. Во-вторых, это огромные системные требования, в частности FreeNAS 8 требует минимум 2 Гб оперативной памяти, а новые версии OpenFiler вообще уже не выпускают под x86-архитектуру. Кроме того у FreeNAS как-то не гладко идёт развитие — версия 0.7 который имеет торрент клиент и DLNA-сервер давно устарела, в восьмой, коммерческой версии мне так и не удалось настроить DLNA, да и с предлагающейся файловой системой ZFS как то сложно, в случае отказа системы, как прикажете восстанавливать данные? Сложно.

Почему выбран дистрибутив Server 12.04 LTS?

LTS (Long Term Support) — это дистрибутив с длительным периодом поддержки и выпуском обновлений. Так как нам нужен сервер, который, по возможности, единожды настроив, мог бы спокойно работать в дальнейшем годами, то выбирать лучше именно эту версию дистрибутива.
Server версия выбрана очевидно, т. к. в идеале нам совершенно не нужно растрачивать ресурсы на графическую оболочку. Хотя если вы, пока только знакомитесь с linux, или уже работали с desktop-версией ubuntu, то в принципе можете выбрать и обычную версию дистрибутива, это не принципиально.

Начнём

Установка вполне прозрачна, поэтому особо подробно описывать её не буду. Подробнее лишь остановлюсь на разбивке жёстких дисков.









Я взял бюджетную материнскую плату без поддержки аппаратного RAID, да и на моей практике аппаратный RAID встроенный в материнскую плату часто показывает себя не с лучшей стороны, поэтому организовывать мы будем так называемый «программный» RAID. Для хранения данных будут использоваться два новеньких жёстких диска. Лишних носителей информации у меня не оказалось, поэтому диск буду разбивать на два раздела, один из которых будет системным, а второй — для данных. Оба раздела на двух жёстких дисках будут объединены в RAID 1 (все операции для удобства я выполняю на виртуальной машине, так что не обращайте внимание на маленький размер разделов).
Сначала создаём таблицу разделов на первом диске и разбиваем его на две части. Помечаем их как «раздел для RAID», хотя это и не обязательно.


Аналогично разбивается и второй диск. После чего выбираем пункт «Настройка программного RAID». Говорим «Создать MD-устройство», выбираем первые разделы на двух дисках. Аналогично с разделами для данных. К слову, RAID можно динамично менять и расширять, поэтому если у вас пока только один жёсткий, но планируете покупку второго — смело настраивайте, после покупки запросто сможете его подцепить.


После создания RAID, помечаем их для использования. Выбираем файловую систему ext4, и назначаем точки монтирования: системный раздел как корень (/), а раздел данных в произвольное место (я предпочитаю монтировать в папку /mnt).


Дальше система известит, хотим ли мы загружать систему если RAID-массив отказал. Советую ответить «нет», т. к. если откажет жёсткий диск, вы это даже не заметите — система продолжит работать с одним диском, но если откажет и второй диск, то тут придётся нести их в фирму по восстановлению данных.

Раздел подкачки создавать не буду, т. к. во-первых его можно сделать файлом, а во-вторых лично мне он не нужен — на моём мини-ПК установлено 4 Гб, при этом использование памяти никогда не превышало более 10% (400 Мбайт), а в обычном состоянии и того меньше (прямо сейчас используется всего 130 Мбайт). Хотя если вы планируете поднимать виртуальные машины, возможно, она вам и понадобится, поэтому после установки я опишу как создать файл подкачки, сейчас же на предложение создать swap-раздел отвечаем отрицательно.

После непродолжительного процесса копирования файлов система начнёт обновлять данные с репозитариев, а после спросит, каким образом будут устанавливаться обновления. Так как у нас администрирование системы сводится к минимуму, выбираем автоматическое обновление. Затем система спросит, какие пакеты необходимо установить сразу же. Я выбрал OpenSSH (нам нужна удалённая командная строка), LAMP (понадобится для веб-интерфейса), Print server (в этой статье я не буду описывать подключение принтера), и конечно Samba file server для доступа с windows-машин.

Ну и в финальной стадии система запросит пароль для MySQL и запрос на установку GRUB. Перезагружаемся — система установлена! Залогинемся, чтобы посмотреть какой ip-адрес нам присвоил DHCP (также это можно сделать с помощью команды ifconfig), в моём случае был выдан адрес 192.168.1.180.

Всё, можно отключать монитор и убирать системник в удобное место, дальше будем работать с ним через SSH. Я использую для этого PUTTY.

Конфигурация

1) файл подкачки

В первую очередь опишу как настроить файл подкачки, если он вам действительно нужен, всё делается буквально в несколько строчек команд.
Создаём файл заполненый нулями:
Подготавливаем его для использования как swap:
Добавляем в файл fstab наш созданный файл для использования как файл подкачки:

2) обновление ПО
Сразу же обновляем все пакеты, делается это двумя командами:
3) Веб-интерфейс


Для управления системой через веб-интерфейс есть есть пакет webim, но его к сожалению в репозитарии нет, поэтому скачаем подготовленный пакет вручную:
Для установки webim потребуются некоторые зависимые пакеты, в моём случае это такой список, возможно, вам потребуется включить ещё что-нибудь.
Ну и собственно установка:
Всё, можно заходить в веб-интерфейс:

4) Настраиваем ftp-доступ
Для ftp я использую pure-ftpd (хотя вы можете выбрать на свой вкус — proftpd и vsftpd)
Создадим публичную папку:
Устанавливаем pure-ftpd из репозитария:
В принципе можно уже заходить под системным аккаунтом, но это не совсем хорошо для повседневного использования. Сделаем виртуальный аккаунт с доступом только к публичной папке:
Обновим базу данных:
Включим использование виртуальных пользователей:
Перезапускаем сервис:
5) Samba
Настроим доступ к серверу с windows-машин, более того у меня лично дома семья большая и требуется разделение прав между несколькими пользователями. А для удобного редактирования прав на папки прямо из Windows (через вкладку «безопасность» в свойствах), будем использовать ACL.
Домена у нас нет, поэтому придётся создать пользователей таких же, как и на windows-машинах:
Задаём пароль, такой же, как на windows:
Добавляем созданного пользователя к Samba:
Для управления расширенными правами, можете установить утилиты (необязательно):
Для того, чтобы samba работала с ACL, необходима файловая система с поддержкой POSIX ACL, ext4 вполне подходит, но по умолчанию она примонтирована без этой поддержки. Для включения этой возможности добавим опцию «acl» в файл /etc/fstab. Но более того, в Windows реализована поддержка наследования прав, чтобы и это реализовать в linux, нужно чтобы samba где-то хранила дополнительные данные. Для этого необходимо включить расширенные атрибуты файлов, опция «user_xattr». Заодно запретим выполнение файлов на всём разделе с данными, с помощью опции «noexec» (для безопасности):
Перезагружаемся:
Редактируем настройки samba (для краткости привожу только изменения и добавления):
Перезапускаем сервис:
6) DLNA/UPnP — сервер
В качестве DLNA-сервера я выбрал minidlna. Выбрал его по одной просто причине, что он не тянет за собой кучу ненужных зависимостей, как MediaTomb и Serviio (они тянут Java либо графические библиотеки). Однако если вам необходим транскодинг, советую установить один из них, вместо minidlna.
Установка из репозитария:
Настраиваем:
Перезапускаем:
7) torrent


Ну и последний освещённый в данной статье сервис — torrent-клиент. Я использую Transmission, как успешно зарекомендовавший себя клиент с веб-интерфейсом.
Устанавливаем:
Останавливаем сервис, иначе все изменения затрутся после завершения процесса:
Настраиваем:
Тут меняем четыре настройки — задаём путь для загрузки, имя пользователя и пароль для веб-интерфейса, а также отключаем «белый» список доступа к интерфейсу — разрешаем для всех. Пароль указываем в открытом виде, после последующего запуска он будет зашифрован.
Запускаем сервис:
Заходим в веб-интерфейс, убеждаемся, что всё хорошо:

Домашний медиа-сервер (NAT + Samba + Torrent + DLNA) на платформе Ubuntu Server. Часть 1.

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

Какие функции должен выполнять домашний медиа-сервер? Прежде всего хранение и доступ к разнообразному медиаконтенту: видео, музыка, фотографии. Вторая важная функция - организация общего доступа в интернет и связанные с ними сетевые службы. Ну и куда же без торрентов, если на сервере есть интернет и он является местом хранения медиаконтента, то вполне разумно будет заставить его качать этот самый контент.

Несколько слов об аппаратной части. Если не планируется перекодировка медиаконтента силами сервера, то для обслуживания домашней сети вполне можно выбрать компактные mini-ITX решения на базе новых процессоров Intel Atom D2700/2500 или аналогичных решений от AMD. Это позволяет собрать компактную и практически бесшумную систему которую можно без труда разместить в любом удобном месте. Единственная сложность в этом случае - поиск дополнительной низкопрофильной сетевой карты.

Так как основная работа нашего сервера заключается в предоставлении медиаконтента, то дисковая подсистема должна обеспечивать высокую скорость последовательного доступа и быть способной обслуживать нескольких клиентов одновременно. Поэтому не стоит выбирать экономичные диски и диски со скоростью вращения 5400 об/мин, в тоже время нет особой необходимости в приобретении производительных жестких дисков, с задачей одновременного доступа к медиаконтенту трех-пяти клиентов отлично справятся диски массовых серий.

Если же вы планируете работу с тяжелым FullHD материалом и не хотите идти на компромиссы, то отличным решением будут жесткие диски Seagate серии SV35, на сегодняшний день это лучшие для подобных задач из протестированных нами дисков. Необходимость в RAID массиве представляется нам сомнительной, если только вы не собираетесь хранить на сервере в единственном экземпляре домашний фото и видеоархив.

Что касается совмещения функции медиасервера и беспроводной точки доступа в одном устройстве, то мы не видим в этом смысла. При организации домашней Wi-Fi сети основной задачей является максимально возможная зона покрытия без увеличения мощности сигнала, поэтому точку доступа следует располагать где-то в середине квартиры или дома, в то время как медиасервер и сетевое оборудование лучше расположить там, где они никому не будут мешать и к ним будет затруднен несанкционированный доступ.

Примерная схема домашней сети будет иметь вид:

ubuntu-home-server-001.jpg

В специально отведенном месте находятся медиасервер и сетевое оборудование, туда же сведена сетевая разводка для стационарных клиентов, точка доступа Wi-Fi расположена с учетом получения наилучшей зоны покрытия и может быть подключена с использованием PoE, что избавит вас от необходимости отдельно подводить питание. С ней работают все мобильные устройства домашней сети и те из стационарных, подключение которых посредством кабеля затруднено. При этом необходимо помнить, что Wi-Fi канал делится между всеми клиентами и для стационарных устройств по возможности следует использовать проводную сеть.

Разобравшись с общими вопросами, перейдем к практической части. Наша задача: создать на базе Ubuntu Server 12.04 домашний медиасервер, который будет обеспечивать общий доступ в интернет, сетевое хранилище для медиаконтента и иных документов, торрент-клиент и DLNA-сервер для простого и удобного доступа к мультимедийному содержимому мобильных и бытовых устройств. Процесс настройки мы разделим на этапы, каждый из которых будет создавать отдельный сервис и если вам не требуется та и или иная функциональность, то вы можете их пропустить.

Общий доступ в интернет и сетевые службы (NAT + DHCP).

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

Сетевые настройки хранятся в /etc/network/interfaces, откроем его

и приведем к следующему виду:

Внимание! Настройки eth0 в нашем случае приведены исключительно в качестве примера, вам необходимо настроить данный интерфейс в соответствии с настройками вашего провайдера.

Последняя строка предназначена для автоматической загрузки правил iptables, которые будут располагаться в файле /etc/nat. Перезапустим сеть:

Установим последние обновления:

и для удобства администрирования установим ssh и mc:

Теперь создадим /etc/nat

и приступим к его редактированию:

Сохраняем файл и делаем его исполняемым:

После выполнения вышеуказанных действий наш имеет доступ в интернет и может раздавать его во внутреннюю сеть. Однако клиенты все еще не могут автоматически получать сетевые настройки, для этого нам необходим DHCP-сервер. Мы рекомендуем пакет dnsmasq, который кроме DHCP-сервера содержит кеширующий DNS-прокси:

Перейдем к настройке, для этого откроем файл /etc/dnsmasq.conf, найдем и зададим следующие опции:

данная опция позволит обращаться к нашему серверу не по ip-адресу, а по понятному простым пользователям имени, в нашем случае ubuntu-home.local.

Задает адреса сетевых интерфейсов, на которых будет доступен DHCP и DNS сервер.

Указывает диапазон адресов выдаваемый DHCP сервером 192.168.30.150-250 и срок аренды - 12 часов.

Это необходимый минимум настроек, перезапускаем службу:

после чего пробуем получить сетевые настройки на клиентском устройстве и выйти с него в интернет. На этом первый этап можно считать завершенным. Устанавливать для домашней сети прокси-сервер (squid и т.п.) мы не видим смысла, так как никаких значительных преимуществ вы не получите.

Сетевое хранилище (Samba)

Одна из основных функций домашнего сервера, который должен обеспечивать хранение и легкий доступ к данным посредством протокола SMB, т.е. через привычные общие файлы и папки Windows.

Установим сервер samba:

затем откроем конфигурационный файл /etc/samba/smb.conf и приступим к настройкам.

В секции Global Settings укажем сетевое имя и рабочую группу в которую входят устройства вашей домашней сети:

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

В секции Networking укажем сетевые интерфейсы, на которых будет доступно сетевое хранилище:

В секции Authentication устанавливаем:

В конец секции Misc добавим строку включающую поддержку протокола SMB2:

Сохраним файл и закроем его. Теперь самое время создать папки для наших общих ресурсов. Мы будем хранить пользовательские данные в /data, где создадим для разного типа контента папки Backups, Documents, Downloads, Movies, Music и Pictures. Однако вам никто не мешает создать свои собственные папки. Для создания структуры каталогов выполним следующие команды:

Затем установим на созданные папки полные права для всех, чтобы любой пользователь с любого устройства мог читать и записывать файлы в сетевое хранилище:

Теперь снова откроем /etc/samba/smb.conf и создадим общие ресурсы. В самый конец конфигурационного файла добавим:

Мы не стали приводить все секции, так как все общие ресурсы описываются одинаково и вы без труда сможете создать необходимое их количество по аналогии с приведенным выше примером. В квадратных скобках задаем имя сетевого ресурса, затем указываем путь к нему, разрешаем гостевой доступ и запись.

Создав все необходимые общие ресурсы перезапустим сервис:

Наш сервер должен появиться в сетевом окружении и зайдя на него мы должны увидеть созданные нами общие папки.

ubuntu-home-server-002.jpg

На этом настройку сетевого хранилища можно считать законченной, как и первую часть нашего материала. В следующей части мы рассмотрим настройку торрент-клиента и DLNA медиа-сервера.


Из-за очередного приступа параноии, я решил сменить Google Drive на собственное решение и хранить свои файлики поближе к телу. Выбор был между: поднимать в каком-нибудь DigitalOcean виртуалку и хранить там, или собрать дома свое хардварное решение. Подсчитав сколько будет стоить виртуалка с нужным объемом диска, выбор был сделан в пользу домашнего NAS-сервера.

Выбор

У меня было примерно 100 ГБ данных на момент съезда из Google Drive. Виртуалка в DigitalOcean на 160ГБ стоит 40$ в месяц, то есть в год будет выходить

500$. Дорого. За эти деньги можно дома собрать NAS на терабайт с SSD дисками. Есть ещё вариант брать маленькую виртуалку, и к нему подключить S3 хранилище, но софт, который я планировал использовать, не умеет работать с S3.

Итак, вариант с виртуалкой в облаке я отмёл и пошел смотреть, что нынче есть на рынке домашних NAS серверов. Так как я живу в маленькой квартире, NAS я планировал ставить в жилой комнате, и, если он будет шуметь вентиляторами и вибрировать HDD-дисками, то житья в комнате не будет. Поэтому я хотел найти NAS с пассивным охлаждением и вставить туда SSD диски. Не самое дешевое решение, но за тишину приходится платить.

Как выяснилось, на рынке практически нет NAS с пассивным охлаждением. Почему так я не понимаю, по опыту использования — максимальная температура дисков за год использования у меня была 47.0 C (наверно когда я переносил все данные), в покое — 36.0 C, крышка NAS-а чуть теплая. 90% времени диски простаивают и зачем им вентилятор я не понимаю.

Вот модели с пассивным охлаждением которые я смог найти — QNAP HS-210 , QNAP HS-251 , QNAP HS-251+ (он же QNAP S2 ), QNAP HS-453 . У всех моделей обычный x64-процессор, не ARM. Получается маленькая такая desktop-тачка с местом для двух HDD.

  • HS-210 - 512 МБ ОЗУ мало.
  • HS-251 - 1ГБ ОЗУ мало
  • HS-251+ - 2ГБ ОЗУ норм
  • HS-453 - 4 или 8 ГБ ОЗУ. Ultimate решение, но не продается в России и стоит космос.

У Synology бесшумных решений я не нашел. Собирать системник тоже не хотелось - он не получится таким же маленьким и бесшумным как QNAP. В общем выбрал золотую середину - QNAP HS-251+ (QNAP S2).

Из дисков я выбрал WD BLUE 3D NAND SATA SSD 1 TB (WDS100T2B0A). Взял две штуки. Они без проблем заходят в NAS. Итого вышло:

Не самое дешевое решение для NAS, но самое дешевое из подходящих под требования. Кроме этого, чтобы создать свое облако потребуется статический “белый” IP-адрес дома. Чтобы подключаться из интернета к домашнему серверу. Обычно такая услуга есть у любого провайдера.

Программная часть

После покупки и установки самого NAS-а, решил попробовать использовать софт от самого QNAP. Стоит сказать, что он очень разнообразный - полностью заменяет публичные облака и даже умеет запускать виртуальные машины. Из себя он представляет некую ОС (на основе Debian, кажется), с веб-интерфейсом а-ля iPad и проприетарными приложениями.

QNAP OS

К сожалению все работает довольно медленно, да и менять один проприетарный продукт на другой, внутренний параноик мне не позволил, поэтому я установил на NAS обыкновенный чистый Linux.

Так как это обычный x86_64 ПК, я записал на флешку свежий дистрибутив, зашел в BIOS и загрузился с нее:

Загрузка с флешки NAS

В этом NAS-е есть постоянная память размером 512 МБ куда установлена дефолтная прошивка. Ее я не перезаписывал (при желании можно будет вернуться на нее), и поставил Ubuntu 18.04 на software RAID, собранный из двух установленных дисков. На каждом диске создается по партиции одинакового размера, и они объединяются в RAID1. На одном диске также раздел для загузчика и /boot:

Установка LINUX на Software RAID

Домашнее облако

Выбор был между ним и Nextcloud/ownCloud, но после тестовых установок выбрал Seafile. До 3-х пользователей можно использовать Enterprise версию - её и взял. В ней есть поиск по файлам и еще несколько полезных функций, вот здесь есть сравнение бесплатной и enterprise версий. Разворачивал с помощью Docker — очень просто и быстро, на сайте есть подробный мануал

У Seafile есть веб-интерфейс, desktop-приложение для всех ОС и мобильный клиент.

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

Seafile тоже не идеален, всё что он умеет — просто хранить файлы. Особенности использования:

    хранит данные в бинарных файлах. То есть их нельзя просматривать на диске. Получаем высокую скорость при доступе к данным, но теряем в гибкости. Вот так выглядят данные на ФС:

есть приложение для Android/iOS. Довольно скромное, но заливать фотки с телефона и просматривать файлы умеет.

Seafile android клиент

Домашний NAS и медиа-плеер

Так как в NAS-е есть HDMI выход, я его подключил к телевизору и сделал из него медиа-плеер. В комплекте также есть пульт ДУ:

Медиа плеер QNAP и пульт

Вот так выглядит интерфейс Kodi на телевизоре:

Kodi

Как я использую Kodi:

  • плеер фильмов, которые лежат на NAS-диске
  • плеер IPTV вместо MAG-250. Умеет показывать multicast-потоки
  • проигрыватель YouTube (приложение не очень удобное, но юзабельное)
  • в поездках с помощью приложения Kodi для Android подключаюсь к своему NAS и смотрю с него фильмы. Получается такой self-hosted онлайн-кинотеатр
  • для скачивания новых фильмов на NAS установил Transmission + web-интерфейс

Также на NAS поставил FTP и Samba, чтобы подключаться с девайсов в локальной сети и NFS для монтирования сетевого диска.

Такой схемой я пользуюсь около года и вот какие выводы сделал:

  • приложения Яндекс.Диск/Google Photo удобнее и быстрее. Да, opensource-аналоги не дают такого удобства использования — то тут, то там встречаются мелкие косяки (например в android-приложении seafile фотки при просмотре скачиваются полностью, т.е. не превью сжатое, а фото если весит 5МБ — оно все полетит на телефон, это медленно и занимает место на телефоне; хотя в веб-морде есть превьюхи). Ну и поиск в Гугл.фото по содержанию фотографий (когда в поиске вводишь “горы”, и он показывает все фотографии гор из вашей библиотеки) — это вообще киллер фича, такого в бесплатные аналоги не знаю когда завезут.
  • скорость загрузки файлов в Seafile гораздо выше, чем в публичные облака
  • смотреть фильмы теперь супер удобно. Особенно в поездках. 4G есть практически везде в России, и теперь не надо закачивать кучу фильмов на телефон — смотрю онлайн, подключаясь с телефона к домашнему серверу. В случае отсутствия связи, например в поезде, подключаюсь по FTP и скачиваю перед отправлением.
  • Kodi — супер комбайн, но хотелось бы научиться стримить телевизионный сигнал на телефон, чтобы смотреть ТВ не из дома. Этого еще не понял как сделать.
  • чтобы все это настроить пришлось покурить мануалы и подзаморочиться с установкой и наладкой.

Хочу ли я вернуться в публичные облака (Google Drive, Яндекс.Диск)? Нет, не хочу. На мой взгляд, плюсов в такой схеме все же больше, чем минусов. А внутренний параноик теперь спит сладким сном.

Читайте также: