О! Вы своим самодельным 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-коду ссылка на веб-альбом или настройка на подключение к вайфаю, поднятому самим альбомчиком.