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

И не только лежит, конечно. Хотя, то что оно лежит у меня, и хозяин-властелин своим файлам только я, и никто больше, уже само по себе “киллер-фича”. Но об этом чуть ниже.
Вот описание основных функций:
- Документы и проекты с рабочего компьютера отправляются на сервер в режиме он-лайн.
- Телефон отправляет новые фотографии при условии подключения к зарядке и вайфай сети одновременно,
- Удаленные на устройствах файлы не удаляются на сервере, складываются в некую “корзину”. На всякий случай.
- Онлайн-фотоальбом. Фотографии индексируются и обрабатываются простенькой нейросетью. Даже подборки получаются. Не такие умные, как предлагает вам телефон (“Смотрите, как вы провели новогодние праздники в прошлом году”), но тоже неплохо.
- Просмотр медиа-контента осуществляется внутри локальной сети через smb протокол.
- Ко всем файлам имеется удаленный доступ.
- Можно делиться файлами и целыми разделами с другими людьми.
- Все это дело бекапится по расписанию, на случай физической гибели жёсткого диска сервера.
- Можно бекапить на другие сервера, предварительно зашифровав данные.
Сразу поговорим о деньгах ?
На конец 2022 года аренда одного терабайта Яндекс.Диска в год, стоит 191 рубль в месяц. Это 2292 рубля за один год владения.
Мой 1 Тб Андреев.Диска обошёлся мне гораздо дороже.
- Мини ПК на i3 7100u + 8 Гб оперативки + 128 Гб SSD: 10000 рублей (на самом деле этот компьютер валялся без дела, но представим, что как будто бы купил);
- Жёсткий диск на 1 Тб: 3500 рублей.
То есть 13500 рублей за 1 терабайт.
Окупиться через 6 лет ?
(На самом деле не окупиться, если посчитать стоимость всей инфраструктуры. Роутеры, свичи, пачкорды, сетевые фильтры и тд. А ещё ты хочешь купить второй диск для организации RAID-1, док-станцию для этого дела и ИБП. Да и диски нужны больше, чем 1тб. Саша, кого ты обманываешь?)
Но дело, конечно, совсем не в экономической окупаемости.
Сам себе Яндекс.Диск
Дело в по-настоящему-обладанию-своими-же-файлами.
После ухода и/или блокировки некоторых сервисов на территории России я начал с недоверием относится к онлайн-сервисам, и их владельцам-корпорациям… а так же к государствам. (Товарищ майор, тут я говорю с точки зрения проблемы централизации интернета, и минусах связанных с этим. Не более)
Во-первых, то, что потенциально можно закрыть или запретить по чьей-то(не моей) воле, больше не вызывает у меня доверия.
Во-вторых, сервис(корпорация) может вдруг решит поменять “условия игры” в одностороннем порядке. Например, начнет просто не пускать на свои сервера. Например, потому-что пользователь – русский.
Раньше даже шутка была такая: “тебя что в Гугле забанили?”. А теперь уже и не шутка… Лично мне не приходит СМС от Гугла при прохождении двухфакторной аутентификации. Проблема известная, но Гугл её никак не решает.
Вот такой вот киберпанк.
Справедливости ради, и отечественные сервисы могут что-то подобное учудить, изменив условия предоставления услуги, например.
В-третьих. Реалии современного мира таковы, что нас заставляют подписываться на кучу разных сервисов, где на самом деле пользователю ничего не принадлежит. И как только этот пользователей не оплачивает очередной месяц подписки – все его файлы превращаются в тыкву.
Какие есть варианты?
Идея селф-хостинга для организации личного облака не нова, и реализовать её можно разными способами.
NAS на Synology, TerraMaster и тд.
✅ Работает из коробки. Низкий порог входа.
❌ Управляется проприетарным ПО. То есть не избавляет от зависимости от сервиса/корпорации. Такое решение просто не будет работать без серверов компании.
❌ Дороже, чем собрать сервер на основе мини-ПК и свободного ПО самостоятельно.
❌ Не так интересно разбираться.
NextCloud как личное облако.
✅ Свободное ПО
✅ Есть мобильное приложение.
✅ Разграничение прав доступа к файлам за счёт создания пользователей в самом Некстклауд.
❌ Не такие глубокие возможности настройки и автоматизации синхронизации файлов на устройствах.
❌ Для организации облачного фотоальбома есть более удачные решения.
❌ Лично мне “не зашло” под организацию личного облака. Так же мне не удалось совладать с приложением для Андроида. Глючит:(
Портативный жёсткий диск, воткнутый в роутер или компьютер.

✅ Необходимый минимум. Базис.
❌ Скудный функционал, фактически только бекапы в ручном режиме.
❌ Нет, или почти нет, возможностей настройки и автоматизации.
Моё решение ?
За этот год я пришел к следующему сетапу:
CasaOs
В качестве операционной системы для мини-ПК.
Позволяет запускать Docker-контейнеры при максимально дружелюбном интерфейсе для обычного пользователя.
Просто в установке, относительно просто в поддержке.
Вообще, CasaOs – это дико крутое программное обеспечение. Я вдохновлён тем, куда пришла вся эта история с контейнеризацией для обычного смертного пользователя. Обязательно напишу про CasaOs подробную статью, так как в рунете мало информации про него. Возможно, даже, сниму видео.
Syncthing
Syncthing – программа с одной функцией, но эту функцию она делает изумительно. Умеет тонко настраивать параметры копирования файлов в заданной папке в связанную папку на сервере.

- Параметры синхронизации: только отправить, только получить, и получить и отправить.
- Версионность: позволяет настроить, хранить ли версии файлов, если они были изменены на связанном устройстве. Позволяет сохранить версию “в корзину”, если на связанном устройстве файл был удален.
- Шифрование: можно зашифровать удалённую копию файлов. Удобно, если вы не доверяете удалённому серверу.
- И много других полезных параметров синхронизации на все случаи жизни.
Я установил Syncthing на сервере, на своем компьютере и на своем телефоне как классические приложения.
Телефон отправляет фотопоток в папку на сервере, при условии, если он заряжается и подключен к вай-фай сети. При установке приложения, оно висит как сервис, что бы Андроид его не выключил. Слегка бесило висящее в Андроиде уведомление активного сервиса, около часов, но с этим можно бороться, просто включив настройку на телефоне “Уведомления - Скрыть беззвучные уведомления в строке состояния”.
Важно заметить, что приложение в режиме ожидания не жрёт батарейку совсем. А когда телефон находится на зарядке – пусть кушает столько, сколько его душе угодно?
Компьютер настроен в режиме “только отправить” в папку на сервере. Приложение на Windows запускается при старте системы и висит себе тихонько в трее.
На сервере все папки настроены в режиме “только получить”, плюс сохраняются в корзину удаленные в связанных папках на других устройствах файлы.
За все время работы Syncthing не требовало к себе внимания, кроме первоначальной настройки логики, что-куда-как нужно копировать.
Изумительно. Я уже говорил?
PhotoPrism
PhotoPrism ещё одно Open Source приложение на сервере. Оно сканирует мои фотографии в определенных папках и добавляет их в свою библиотеку.

На борту есть нейросеть, которая индексирует фотографии.
Есть небольшие минусы: некоторые функции доступны только за донаты. Например, детализация карты для просмотра, в каких частях мира были сделаны ваши фотографии по геолокации.
FileBrowser
Позволяет поделиться любым файлом либо папкой, если это необходимо, с пользователем из-вне локальной сети. Доступ в “большой” интернет организован через сервис доменных имен KeenDNS на роутере Keenetic. Можно организовать любым другим способом, я просто выбрал бесплатный и самый быстрый?
Smb протокол и VLC-плеер
Этот протокол позволяет предоставлять доступ к файлам внутри локальной сети. Для его настройки совершенно не требуется ничего делать - достаточно поделиться папкой внутри сети. Медиа-контент (кинофильмы и сериалы, хранящиеся на сервере) станут доступны на умных телевизорах, тв-приставках, телефонах, компьютерах, планшетах и других устройствах внутри локальной сети, для просмотра.
Вместо заключения ?
Да, приходится разбираться и настраивать всё самому.
Может быть, мне было бы все равно, как работает пресловутый ГуглоДиск, где хранит мои фотографии и что с ними делает, если бы оно работало. Как, например, я не вникаю в то, как в деталях работает доставка хлеба в любимый супермаркет у дома. (А для кого-то это очень важно. Даже когда, на мой взгляд, этот сервис работает хорошо и не требует внимания. И это – нормально)
Мы живём в реалиях современного мира. Мира отмены, блокировки и навязывания подписочных сервисов.
Web 3.0 должен построить децентрализованный Интернет, где физически будет невозможна блокировка неугодного кому-то пользователя и/или контента. Но, его время ещё не пришло.
И, по всей видимости, ждать ещё долго.