Self-hosted означает "самостоятельное размещение" или "сам себе хостинг". Это когда айтишники не используют популярные сервисы вроде гугла, а устанавливают свободные аналоги на свои или арендованных сервера (VPS). Выходит, что ты получаешь тот же сервис, только под своим контролем. Зачастую свободные аналоги будут более функциональнее, приватнее и безопасней бесплатных готовых вариантов, от больших компаний.
Самостоятельный хостинг обеспечивает полную приватность данных, в том числе метаинформации. Но и налагает обязательства по ручной эксплуатации системы:
Айтишнику задачи посильны, хоть и хлопотны. А для остальных почти неподъемны. Задача SelfPrivacy максимально упростить этот процесс. Пользователю не нужно использовать консоль или быть квалифицированным специалистом. Программа автоматизирует это за вас.
Безопасность взаимодействия с вашим сервером обеспечивает TLS ≥ v.1.2, как в банках. Для этого SelfPrivacy использует сертификат Let's Ecncypt, самого популярного в мире провайдера, которому доверяют миллионы веб-порталов.
Единожды настроенный сервер не является полностью безопасным. В сервисах со временем могут обнаружиться ошибки, и сервер станет подвержен взлому. К сожалению, это не такое уж редкое явление. Поэтому ответственные IT-специалисты регулярно обновляют свои сервера. SelfPrivacy делает это за вас.
SelfPrivacy состоит из двух частей — это приложение на вашем устройстве, например мобильном телефоне или ПК. Приложение SelfPrivacy управляет вашими сервис-провайдерами и вашим сервером. Для этого на стороне сервера работает SelfPrivacy API backend демон. Он тоже требует обновления, например, когда мы добавляем функционал или исправляем ошибки.
Обновление зачастую происходит автоматически, однако иногда нужно вручную подтвердить обновление конфигурации системы, чтобы новые функции серверной части SelfPrivacy заработали.
Приложение SelfPrivacy, грубо говоря — это набор инструкций, которые меняют что-то в сервере. Работа приложения после первичной настройки никак не влияет на работоспособность сервисов на вашем сервере. Тем не менее мы каждый день стараемся что-то автоматизировать, исправить, добавить новый функционал.
Обновления приложения происходит автоматически из репозитория, например F-Droid, в скором будущем App Store и Google Play.
Приложение отслеживание свободное пространство на дисках сервера и позволяет переносить данные между ними. Если раздел расширяем, приложение может автоматически заказать больше места после подтверждения пользователя.
Резервные копии позволяют и восстановить сломанные сервер, и мигрировать с одного сервера на другой. Все резервные копии зашифрованы, под капотом мы используем Restic. Данные каждого сервиса копируются по отдельности.
Резервное копирование также может проводиться автоматически с заданной пользователем периодичностью.
У каждого сервиса есть свой интерфейс администратора, который позволяет управлять пользователями. Однако мы работаем над тем, чтобы интегрировать этот функционал в приложение и автоматически создавать пользователей из общего списка.
В целях безопасности доступ к администрированию SelfPrivacy сервера через SSH отключен. Это уменьшает поверхность возможной атаки. Доступ к консоли нужен в исключительных случаях:
- Ошибка обновления, или исправление непредвиденных ситуаций;
- Тюнинг сервера, если вы опытный пользователь NixOS и хотите самостоятельно донастроить SelfPrivacy Server под свои нужды;
При обычной эксплуатации пользователю не нужно использовать SSH-администрирование через консоль.
Мы работаем над тем, чтобы общую конфигурацию SelfPrivacy можно было расширить собственными файлами Nix, которые не будут мешать автоматическим обновлениям.
В отличие от Cloudron, наших коммерческих единомышленников, все операции происходят между вашим приложением, вашим сервером и вашими сервис-провадерами без участия SelfPrivacy. Ваша копия SelfPrivacy App полностью автономна и независима в управлении вашей инфраструктурой. Никакая информация о вашем взаимодействии с вашей инфраструктурой не попадает к SelfPrivacy. Все резервные копии ваших сервисов покидают ваш сервер в полностью зашифрованном виде.