17

Ответ B.Lebowski в «Домашняя серверная»11

Серия Есть идея

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



Проблема.


Есть у меня Большая Семья разной глубины и степени родства, частично сконцентрировнная локально, частично разбросанная вплоть до Испании. Ну там уж совсем дальние родственники, но сути дела не меняет.

У всех есть телефоны, фотоаппараты, у многих видеокамеры. Накапливается много-премного разного семейного контента - фотоархивы, видеозаписи. Кто-то хранит и регулярно теряет всё на компе, на ноуте, в телефоне. Кто-то пользуется гугл-фото, кто-то яндексом. Любое событие - это страшный ад с флешками, почтами, архивами с фотками на файлообменниках. И что самое неприятное - то постоянно всё теряется и постоянно всё завалено дублями и копиями одного и тогоже. а что-то найти нужное просто невозможно.

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



Суть идеи такая.


Хочется спроектировать программно-аппаратное решение в виде недорогого специализированного NAS'a, который относительно легко собрать из типовых компонентов и в аккуратной коробочке подарить поставить всем своим родственникам, друзьям и знакомым по домам.

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

Фактически хочется соорудить свой "Google Photo" с домашним хостингом и шлю резервированием на других таких девайсах.
Очень хорошо было бы, если бы фотографии можно было бэкапить ещё и в облаках вроде гугл-фото и яндекс-фото, на холодных стораджах в амазон, на кассетак и т.д.
Однако основной способ резервирования - это совместное владение одними и теми же фотками разных пользователей на разных NAS'aх.


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



Собственно вопросы.


1. Из чего собрать железку? Наверно распбери маловато, хотя хостить нужно простой веб-сервер с веб-галереей и уметь показывать её в брацзере через HDMI на фуллскрин.

2. В угоду дешевизне наверно имеет смысл использовать HDD вместо SSD? Или попробовать делать гибридный вариант заставив  оперативно меняющиеся данные лежать на SSD, а основной объём на HDD?

3. Очевидно нужен вайфа на борту и жеательно Ethernet, но как максимально облегчить конфигурирование сети, чтобы подключить и использовать мог любой неодготовленный пользователь? Хотя... это, наверно, чисто дизайнерская задача...



Что есть на текущий момент


А вот тут всё, пока что, грустно. Есть тезисное ТЗ с перечнем фич, есть зачатки консольной тулзы для сортировки и индексирования входящих фото-помоек.
Идея в том, чтобы тулзу можно было натравить несколько источников:

каталог, флешку, альбом гугл-фото или целый аккаунт; а она проиндексирует всё что там есть, найдёт и свяжет дубли, отметит дублирование в БД, протегирует фото как сможет по отдельным фото-сессиям, по камерам (из exif), по гео-локациям, по размерам и разрешениям, сохранит в БД хеш фотографии, привяжет соответствующий RAW, если имеется, объединит в группы фотографии, похожие на брекетинг, таймапсы, и серийные сессии, отметит битые и не читающиеся фотографии, переименует файлы фотографий по стандартному глобальному формату, разложит по целевым хранилищам.
В общем, наведёт порядок.


Очень рассчитываю, что в комментариях:

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

- предложат как лучше синкать файлы между каталогами и фото-NAS'ами: rsync, торренты, ещё какие-то крутые решения?

- подскажут как лучше быть с мобильными клиентами. Я бэкенд-разработчик, умею питон и БД, но в мобильную разработку не полезу. Думал завернуть веб-интерфейс во что-то вроде электрона и продумать кэширование. но может быть есть другие соображения? Всё таки это основной будет кейс - смотреть фотки и альбомы с NAS'ов через инет с телефонов и планшетов.
- порассуждают как сделать так, чтобы покупатель и пользователь такого фото-альбома не опасался, что какая-то компания, поддерживающая продукт, загнётся и вся его фото-коллекция, которую хочется хранить десятилетиями, канет в лету.

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

Само собой всё должно быть в опенсорс.

Ну что?

Наивно и слишком масштабно для pet-роекта?

Нахрен не нужно и не следует морочить всем голову, а хранить всё в гугле и платить ему денежку не боясь, что он сочтёт гугл-фото нерентабельным проектом и прикроет?

Не пытаться сражаться с ветряными мельницами? Всё равно не получится сделать достаточно удобно и просто?

А может такое уже есть и в полном объёме, а я тут изобретаю самокат?


Что я делаю не так?=)


P.S. Хочется красивую винтажную коробочку под телефизор или на полку. Выглядела бы она как обычный фото-альбом-книжка, но с HDMI и гнездом для блока питания, а ещё с пультом в корешке и аккуратным QR-одом на форзаце.
По QR-коду ссылка на веб-альбом или настройка на подключение к вайфаю, поднятому самим альбомчиком.

Вы смотрите срез комментариев. Показать все
0
Автор поста оценил этот комментарий

Да нормально и в принципе все "относительно просто".


1. Белый ip или плата за dyndns.

2. Достаточная мощность. Все-таки mini-itx платформы они не сверхмощные, хотя при своей тишине и возможностях и в сравнении с серверами начала 2000-х мощная мощь. Но софт и индустрия тоже не стоят на месте, больше возможностей и больше памяти, которые сжираются.

3. Безопасность. Все дыры должны быть прикрыты настолько, чтобы и "вредный пакет не пролетел", без знаний и опыта будут не просто. Кроме того, в софте находят уязвимости и это надо отслеживать. Если у вас будет бэкап (от бэкапа) и ограниченный только вашими родственниками-друзьями доступ - уже хорошо, но вдруг найдется "иван не помнящий родства" и сможет вам подгадить.

4. Исходя из пункта 3 делать самоподписные сертификаты, чем привлечете к себе внимание разных служб из серии "а чего это у вас тут на сервере вертится, уж не детское ли порно или сайт про закладки у вас там, вы все зашифровали а нам ключи не даете?", на вас станут смотреть косо ваши друзья, а то и разговаривать перестанут, потому что службы начнут совать свой нос всюду и всех переполошат и перепугают. Но вы же не станете отдавать кому попало ключи от дома, только чтобы вас считали законопослушным?


Техническая сторона вопроса тут - самое простое. Целероны я посчитал маломощными, поэтому стоит xeon с низким tdp и видео на борту. Доступ в облако через htaccess по https (свой сертификат) по самоподписному сертификату, доступ в папки удаленного управления сервером тоже самое, только пользователь отличается, файлопомойка по ftpS (vsftpd, свой сертификат).

раскрыть ветку (5)
0
Автор поста оценил этот комментарий

А зачем самоподписанные, когда есть чудесный lets encrypt?
Есди делать "Домашний Фотоальбом" продуктоа, то можно давать вдогонку домены третьего уровня и фактисески реализовывать динднс бесплатно. Хотя никто, конечно, не мешает поднять и свой.

Ещё, как вариант, cторадж обычный файловый держать у себя дома, а к этому докупать за абонплату шаблонный сервер на лоукост VDS. На нём кэш и фотки экранного разрешения, а при детальном просмотре подтягивать с домашнего хранилища.
Только что вот придумалось. 

раскрыть ветку (4)
0
Автор поста оценил этот комментарий

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


Если у вас магазин, или семейный аналог фейсбука, то да, почему и нет. А если задач много, то уже надо поднимать пару-тройку виртуальных машин (если есть возможность - то и не виртуальных) , где в одной будет вертеться "Домашний Фотоальбом" с LE, а в другой - документооборот c одним сертификатом, и на третьей - система управления.


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

раскрыть ветку (3)
0
Автор поста оценил этот комментарий

О документах речи вообще не идёт. Я ж не собираюсь свой офис360 делать. Хочется просто открытое решение, которое позволит простым людям без лишних знаний и заморочек относительно надёжно хранить фотографии и сообща редактировать альбомы.

Упор делается на Plug-and-Play подход: купил необходимое железо из рекомендуемого перечня, залил на флешку образ прошивки, скачанный с билд-сервера, запустил, минимальные настройки и всё. Как Smart-TV.

Хочется. чтобы фотки лежали не только в облаках как бэкапы, но и на винте локально. Это людям потнятнее и вознивает ощущение контроля.
Важно, чтобы, девайс следил за жизненными показателями винта (или рейд-массива) и вовремя предлагал заменить. Чтобы замена делалась без заморочек и геморроя.

Фотки должны лежать в понятной файловой структуре, чтобы разобраться с галереей можно было и без специального софта. Метаданные тоже хотелось бы хранить что можно в EXIF, а остальное рядом с фотками в текстовых или YAML файлах, легко читаемых глаами.

Для оптимизации можно и БД поднять рядом этими же данными, но дубли в обычных файлах всё равно нужно держать как первоисточник.

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

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

Для ваших нужд может хватить и этого http://codex.galleryproject.org/Gallery2:Download

и вообще достаточно много свободных php галерей, я в свое время использовал wscript (http://trscriptciyim.blogspot.com/2013/09/wscript-wallpaper-...) Но учтите, что вам нужно знать php, все уязвимости вы должны иметь возможность закрыть программно (IDE с отладкой), и некоторые галереи, как вот этот wscript, могут не работать на нынешних версиях php - некоторые функции придется переписывать самому, а если в основе лежат недокументированные функции, которые "для безопасности" убрали, то и все придется переписывать.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ну уж нет. Никаких ПХП. Только питон. Будем искать.

Ага, именно эту галерею я лет 5 назад ставил на домашнем сервере для этих целей. Этого не достаточно. Нужно допиливать и допиливать.


UPD
Ох, казалось бы. какой давний проект, а ник одной демо не работает на сайте. Как-то не серьёзно. Вообще, ИМХО надо смотреть на JS, как мне кажется.
Иниересно, если опубликовать каталоги через какой-нибудь WebDav и сделать чисто статический сайт на JS, а за файлами и метаданными пусть ходит по стандартным протоколам

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества