selfprivacy.org/content/ru/docs/Theory/architecture.md
2024-06-19 23:38:21 +03:00

47 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "Архитектура проекта"
linkTitle: "Архитектура"
weight: 1
date: 2022-01-09
description: >
Как организован проект и как он работает.
---
Да, вы можете использовать kubernetes. Но зачем, если неизменяемость обеспечивается благодаря NixOS?
**Пользовательское приложение:** [Flutter](https://flutter.dev/)/[Dart](https://dart.dev/) выбрали из-за скорости и плавности работы UI, а также очень соблазнительна их кроссплатформенность.
**Серверная сторона (backend)**: [NixOS](https://nixos.org/) + [Python](https://www.python.org/). NixOS выбран из-за воспроизводимости, Python из-за универсальности и популярности.
# Сервис-провайдеры
**Нам не платит ни один сервис-провайдер!** Мы никак с ними не аффилированы. Выбирали исключительно из профессиональных соображений. Но не исключаем партнерство в будущем.
### Хостинг
SelfPrivacy поддерживает два хостинг провайдера: [Hetzner](https://www.hetzner.com/) и [DigitalOcean](https://digitalocean.com)
Оба были выбраны из-за низкой цены и приемлемого уровня сервиса, качественного REST API.
Кандидаты:
- Свой личный железный сервер. **Сейчас наш основной приоритет**;
- Сервис-провайдер, который предоставит API для разворачивания железного сервера. Вне [FVEY](https://en.wikipedia.org/wiki/Five_Eyes);
- OVH
- Scaleway
Ещё есть бесплатный [Oracle Cloud](https://docs.oracle.com/en-us/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm), но там где вы не платите, обычно вы и есть товар.
### DNS
На выбор [Cloudlare](https://cloudflare.com), [deSEC](https://desec.io/) или [DigitalOcean DNS](https://www.digitalocean.com/).
[deSEC](https://desec.io/) — более приватный вариант, рекомендуется по умолчанию.
[Cloudflare](https://cloudflare.com) вероятно, собирает данные в режиме проксирования трафика, иначе сложно объяснить, зачем предоставлять сервис бесплатно. **В нашем случае мы ничего не проксируем, а используем его только как DNS-сервер.**
### Резервные копии
Используем — [Backblaze](https://www.backblaze.com/)
Первые 20GB бесплатны и в разы дешевле AWS. [Backblaze](https://www.backblaze.com/) [публикует](https://www.backblaze.com/blog/open-source-data-storage-server/) в open source наработки железа, на котором работает. Также [делится](https://www.backblaze.com/b2/hard-drive-test-data.html) очень полезной статистикой по отказам дисков, на основе которых можно выбрать себе наиболее надёжный и проверенный.
В будущем, возможно, заменим на self-hosted решение или p2p. **Сейчас это не основной приоритет, так как данные шифруются, а сервис-провайдер видит только IP-адрес вашего сервера, а не устройства с приложением.**