Комментарии 42
Если сервер свой, то зачем тогда сквозное шифрование? Любой фотоальбом подойдёт. Я вот пользовался piwigo. Потом перешёл на owncloud, но сейчас думаю переключиться на nextcloud, потому что у него больше возможностей. Кстати и в owncloud и в nextcloud есть несколько схем с шифрованием. Одна из них с шифрованием на стороне сервера, другая - сквозное шифрование E2EE (второе только в некстклауд, если не ошибаюсь), но для E2EE разумеется нужен клиент, поэтому я им не пользуюсь.
В этом минус E2EE - в браузере это не будет работать нормально никогда. Поэтому server-side-encryption SSE вполне разумный и удобный компромисс. При этом все файлы зашифрованы и расшифровать их можно только если взломщик перехватит пароль. Что тоже возможно, конечно, но потребует заметно больше усилий. Зато клиент не обязателен, а это критически важно для галереи, как по мне.
В любом случае шифрование несёт неудобства и некоторые неочевидные опасности. Поэтому трижды подумайте, стоит ли оно того.
Если сервер свой, то зачем тогда сквозное шифрование?
Ну... во-первых свой сервер не обязательно невзламываемый... А во-вторых, тут вроде речь не идёт о "собственном" сервере. У ребят есть свой хостинг с платными и бесплатными планами.
В этом минус E2EE - в браузере это не будет работать нормально никогда.
А о чём тогда статья вообще? Попробуйте бесплатный план. В браузере всё отлично работает без каких либо клиентов. И это не единственный представитель такой технологии. У proton.me ценая экосисмема браузерного E2EE выстроена. И любой password-manager в браузере работает по тому же принципу. Конечно, клиент будет работать быстрее, но браузеры дискомфорта тоже не доставляют, особенно со всеми современными API.
"Сегодня никому в голову не придёт выкладывать такое в открытый доступ." Сегодня выкладывают ТАКОЕ на ютюб, что фильтры ютюба красные от перегрузки и стыда.
с большим удовольствием бы развернул себе фотогалерею вообще без вебморды, только с мобильными и десктопными клиентами. но увы таких нет (или я не нашёл).
а доверять шифрование конечному приложению не вижу смысла, по пути трафик шифруется сертификатом, на диске трафик шифруется luks, нет смысла шифровать каждый файл по отдельности..
с большим удовольствием бы развернул себе фотогалерею вообще без вебморды, только с мобильными и десктопными клиентами. но увы таких нет (или я не нашёл).
Ну просто не пользуйся вебмордой или я не понял твоё пожелание?
Какой смысл крутить на сервере какой нибудь тяжеленный тупоскрипт или недожс и не пользоваться ими? А крутить прийдётся потому что обычно api для клиентов ездят через них.
Селфхостед галерей сейчас куча, но ни одна из них просто не разворачивается в "урезанном" варианте без безполезной вебморды.. к сожалению..
Какой смысл крутить на сервере какой нибудь тяжеленный тупоскрипт или недожс и не пользоваться ими? А крутить прийдётся потому что обычно api для клиентов ездят через них.
Клиенту же нужен api, как без него? Ты хочешь сервер без api? Не понимаю.
> в "урезанном" варианте без безполезной вебморды.. к сожалению..
Если ты не будешь пользоваться вебмордой, то она и не будет жрать ресурсы. Если клиент вызывает api то морда не работает при этом. Скрипты для морды будут лежать на диске, но это не так много места, чтобы из-за этого переживать.
Какое полезное ссылко… спасибо!
Есть таки лучше: https://awesome-selfhosted.net/
И вот такое, посерьезнее: https://github.com/awesome-foss/awesome-sysadmin
конкретно у Ente web морда и собственно Ente сервер - два разных сервиса, веб-морду можно не устанавливать.
спасибо за наводку, я на ente натыкался, но тогда у меня сложилось впечатление что оно исключительно облачное и я скипнул. раз оно может быть селфхостед надо будет присмотреться повнимательнее.
Я захостил его на truenas, работает хорошо, сами шифрованные фотки может хранить в любом s3 хранилище, облачном или локальном, у меня хранятся в моем minio, пофайловые ключи шифрования хранятся в базе любого Postgres. Сам сервер только сохраняет данные в постгрес и генерит прямые ссылки на заливку в минио, а клиент по этим ссылкам сам заливает или скачивает зашифрованные фотки напрямую в/из минио, все шифрование лежит на клиенте.
сами шифрованные фотки может хранить в любом s3 хранилище, облачном или локальном
а может не выёживаться и хранить фотки просто на диске в нешифрованном виде?
просто для шифрования у меня есть luks, а чтобы другой софт мог юзать эти же файлы с того же диска мне важнее...
да и как-то крутить постгрю и минио для хранения и шаринга фоточек это оверкил не?
доверять шифрование конечному приложению не вижу смысла
Смысл в том что никто не получит доступ к твоим фото, даже если взломает сервер, даже сам хостер имеющий физический доступ. Это может быть полезно в некоторых случаях и не только для фото.
Минусов несколько
нужен клиент (если ты расшарил фото приятелю он должен тоже поставить клиента)
вся обработка, например умный поиск фото, должна вестись на клиенте, обработка на сервере невозможна, если база данных большая, то нужен жирный клиент и толстый канал
потерял пароль -> потерял все фото (и бэкап не поможет - он тоже зашифрован!)
всякие приколы с шифрованием (например вышла новая схема шифрования - надо всё перешифровать)
Почему тогда просто не пользоваться rsync+ssh, как минимум с десктопа?
суть немного в другом, для выгрузки фото на сервер я использую syncthing и foldersync. но это не синхронизация а именно выгрузка (потому что объём фото/видео архива давно перевалил за пару теробайт), и когда нужно найти какое нибудь старое фото я обычно сажусь за комп, монтирую nfs и открываю digikam, это в целом удобно, но не быстро и требует именно пк. чтобы иметь доступ к галерее на сервере я раньше использовал plex, но сейчас в целях экономии ресурсов храню новые фото в формате heic, а plex упорно не хочет работать с heic несмотря на просьбы юзверей на форуме. пришлось искать альтернативу, и альтернатив много, но ни одна меня не устроила. задача тут не синхронизировать фоточки (хотя этот функционал полезен тоже) а отображать старые, при этом не в тяжеловесной вебморде в браузере а в удобном приложении.
выше @sena подмечает (да, из-за низкой кармы я решил объеденить два ответа в одном комментарии):
Клиенту же нужен api, как без него? Ты хочешь сервер без api? Не понимаю.
вот только api можно реализовать на go/rust/c++/etc меньшей кровью, с меньшим потреблением ресурсов и с нормальной сборкой
Если ты не будешь пользоваться вебмордой, то она и не будет жрать ресурсы.
вот только внутренний перфекционист всё равно будет недовольно бухтеть о безполезном сервисе и куче ассетов которые существуют но не используются и в целом безполезны.
к тому же хотелось бы оставаться в рамках "чистой инфраструктуры", а это значит не ставить софт которого нет в пакетах, если чего-то нету в репозиториях я опакечиваю это сам и кладу в свою репу (ну и иногда пропихиваю в основные репы), а опакечивать тупоскрипт или недожс это тот ещё геморрой.
несмотря на то что сейчас большинство сервисов являют собой UX построенный вокруг браузера мне всё же намного удобнее и приятнее пользоваться отдельным нативным софтом для большинства задач (да я тот странный человек который даже твиттер и федивёрс почитывает не в браузере).
чтобы иметь доступ к галерее на сервере я раньше использовал plex
plex не использовал, но судя по описанию это довольно большой проприетарный комбайн
Ну у меня plex поселился изначально совсем не для фоток да, 50тб фильмов и сериалов для семьи и друзей, плюс audiobookshelf для книг и аудиокниг. А вот с фотовидео галереей пока решения которое бы устроило не нашёл..
P.S.: альтернативы плексу это by и jelyfin, пробовал оба, они проиграли плексу в удобстве и производительности на голову
Нас, как минимум, двое :) Поддерживаю всеми конечностями
несмотря на то что сейчас большинство сервисов являют собой UX построенный вокруг браузера мне всё же намного удобнее и приятнее пользоваться отдельным нативным софтом для большинства задач (да я тот странный человек который даже твиттер и федивёрс почитывает не в браузере).
Ну тогда надо просто использовать облако, либо чьё-то, либо собственное. Для собственного отличный вариант nextcloud или owncloud. owncloud даже пакетирован.
Ставишь на десктоп клиента, выбираешь папки которые хочешь синхронизировать и дальше работаешь со старым привычным софтом. Что может быть удобнее?
nextcloud опакетить тоже не составит большого труда, но что это изменит? зачем мне синхронизировать 2+ tb фоток на локальную тачку, а если не синхронизировать то это всё та же неудобная вебморда.
я вроде бы выше прямо описал какой хочется получить..
Я не совсем понял из твоего описания, как-то расплывчато. Ведь не обязательно синхронизировать все 2 ТБ, можно только те папки что нужны, я именно так пользуюсь. Или может ты имеешь в виду что-то типа smb/nfs?
Ведь не обязательно синхронизировать все 2 ТБ, можно только те папки что нужны
ну так 2тб это и есть нужная папочка с фотками о которой идёт речь, а объём всего моего облака сииильно больше.
Но ведь наверняка в каждый момент нужна лишь какая-то небольшая часть из этих 2ТБ? Тогда просто разделить на папки поменьше и всё.
Я просто не представляю, какие у тебя задачи. Папочки по 2ТБ это явно не про домашнее фото, это явно что-то другое. Трудно угадывать, что там тебе нужно.
Да нет, простой семейный фотоархив (просто семья большая а самые старые фотки сделаны ещё на k790i). А задачи как у всех "как назывался отель в котором я ночевал в 2017 году" или "нука посмотрю все фотки счётчиков за последние 3 года", ну или например "на день рождения дочери жена хочет выбрать по паре фоток за каждый год её жизни и сделать из них какую-то фигню". Заниматься этим в вебморде чистый мазохизм, а тащить весь объём на десктоп накладненько. Попробуйте в гуглофото или в immich отлистать таймлайн на пару лет назад выделяя по пути некоторые фотки, сразц поймёте о чём я, в то время как дигикам с этим справляется потрясающе даже с учётом того что фотки лежат на nfs хранилке и на оооочень медленных дисках. Проблема моего подхода только в том что он не универсален, дигикама нет на телефон, его нет и на телевизор, а то что есть на телефон отсутствует на пк, это неудобно.
Заниматься этим в вебморде чистый мазохизм, а тащить весь объём на десктоп накладненько.
Не понимаю предубеждения против вебморды. Вот именно что тянуть 2ТБ это мазохизм, эту проблема вебморда и решает для всех платформ. Ну да ладно, проблема не в этом по-моему.
Гуглофото или immich не пользуюсь.
Как именно справляется дигикам? У него распознавание встроенное и поиск по ключевым словам? Ну так значит и нужна галерея с распознаванием и автоматическим расставлением тегов прямо на сервере. Ну либо вручную эти тэги/названия расставлять (когда закачиваешь, а не сейчас).
А кто потом по этим тэгам искать будет, вебморда или клиент на телефоне - какая разница?
Когда ищешь по тегам это конечно шустро, но когда нужно найти некоторое кол-во фото за долгий период не объеденённые каким-то тегом дигикам просто не будет тормозить, как глубоко бы ты не ушёл в историю он будет работать одинаково, в то время как любая из проверенных мной вебморд поведёт себя одним из двух сценариев:
1) начнёт тормозить и/или глючить (плюс часто обжираться оперативкой и насиловать проц)
2) "забывать" выделенное ранее если с тех пор пролистано уже много
Оба случая конечно не армагедон, но неприятны сильно. Моё отношение к вебу это не предубеждения а печальный опыт, я и правда перепробовал все варианты из списка по ссылке выше..
нужно найти некоторое кол-во фото за долгий период не объеденённые каким-то тегом дигикам просто не будет тормозить, как глубоко бы ты не ушёл в историю
нужно найти некоторое кол-во фото за долгий период не объеденённые каким-то тегом дигикам просто не будет тормозить, как глубоко бы ты не ушёл в историю
То есть найти в смысле просто просмотреть? 2ТБ фото? Или о чём ты? Как ты будешь "просто" искать среди 2ТБ фото без тегов и нейронки?
Если я тебя правильно понял, то дигикам не будет тормозить на локальном диске или по локальной сети. Но если ты будешь это делать через Интернет, то тормозить будет и очень сильно. Верно?
Я говорю про использование нативного софта вместо неудобной и сильно неоптимальной вебморды на каком нибудь тупоскрипте.
Дигикам конечно не самый подходящий, но единственный пример. Да, если nfs шара до сервера не в локалке а через пол планеты то дигикам будет работать сильно медленнее, но всё ещё юзабельно, он не провалится от пролистывания всё глубже и глубже в историю как делает любая веб галерея по ссылке выше, я перепробовал их все. Заменить файловую систему на api, но оставить нативный ui и всё будет всё ещё юзабельно. А веб галереи подходят только тем у кого фотографий не больше пары сотен.
Легко кстати проверить то о чём я говорю: взять nginx с автоиндексом, подложить ему в рут сайта все свои фотки, и на другом компе смонтировать этот http индекс как фс через rclone, и уже на этот маунт натравить тот же дигикам или любой другой каталогизатор/вивер. Да, rclone работает через fuse, поэтому будет ещё медленнее чем nfs, но будет всё ещё работоспособным на любых объёмах галереи. Отчасти засчёт локально лежашей sqlite базейки (хотя если сменить дигикаму sqlite на mysql на том же сервере что и шара по сути ролучится фотосервис полностью серверный) с метаданными, отчасти из-за того что всё же нативный софт написанный пряморукими разрабами всегда будет лучше веб поделия от тех кто не осилил взрослые яп.
Тоесть по сути взять и написать например на go сервис который будет делать каталогизацию, хранить теги и вешать лычки, искать лица.. И он же будет отдавать в сеть api для нативного клиента который можно написать например на qt для десктопа и котлине для ведроида, или на kirigami и туда и туда. Я уверен на 100% что это будет работать так как должно без недостатков развесистых вебморд. Может быть я ошибаюсь, но пока что наблюдения говорят что это не так.
Я говорю про использование нативного софта вместо неудобной и сильно неоптимальной вебморды на каком нибудь тупоскрипте.
Я не понимаю какой вообще какой-нибудь софт без индексации по каким-нибудь текстовым тегам или без распознавания изображения может помочь найти что-то в 2ТБ фотографий. Хоть это всё на удалённом хосте, хоть на локальном диске находится. Как?
Ente поддерживает локальное машинное обучение (индексация, поиск по предметам, людям и прочее), вся инфа хранится локально. Первый раз лучше запускать на десктопе, потом при добавлении новых фоток хватит и телефона. 200gb фоток на 9950х и 4080 (не знаю чем именно оно пользовалось) индексировала около часа.
Любой WebDAV? Превьюшки только тормозить могут. Или даже тот же некстклауд - превьюшки летят с бэка.
Или Jellyfin, хотя у него местами странный UX. Но при большом желании можно кастомизировать.
Всё ещё непонятно чем вас не устраивает веб-морда хоть и к тому же digicam ( https://gitlab.com/AlessandroLucchet/digikamwebviewer ) или 100500 галер пошаренных в вашей домашней сети, если основные тормоза там будут - фото. Много фото через медленную сеть, которым ещё нужно на бэке миниатюры настрогать чтобы не тащить через сеть вообще всё и сразу
и к тому же digicam ( https://gitlab.com/AlessandroLucchet/digikamwebviewer )
это жестоко дать надежду и тут же отобрать..
оно не собирается за пределами винды
Вероятно Вы не совсем верно понимаете как это работает. Приложения, будь то мобильное, десктоп или веб исполняются у пользователя и используют исключительно API который крутится на сервере.
есть 100500 решений для самохостинга фото/документов и много чего. но гугл фото обладает поиском по содержимому, например по запросу "черный кот" он сам отфильтрует фотки, для этого не требуются ни теги, ни папки, ничего. когда фоток действительно много, это важный функционал. поиск людей, тоже полезно. так что при наличии своего nas, предпочитаю именно для фото гугл
Широко известное решение которое позволяет искать по содержимому - это например Immich. Прекрасно работает у меня "на стареньком core2duo" с базой около 70 тыс фото+видео. Поиск моментальный.
Там возможностей побольше чем в этом Google Photo, советую & рекомендую...
гугл фото обладает поиском по содержимому
сейчас это всё прикручивается и к домашней галерее, хотя не все ещё внедрили и не так просто
Фотохостинг со сквозным шифрованием