Кейс · SaaS и платформы
VaultBox: self-hosted файловая платформа
Файловая платформа уровня Google Drive на вашем собственном железе: загрузки, превью, шаринг, полнотекстовый поиск и ноль подписок.
- Индустрия
- Продуктивность
- Сроки
- 4 недели
- Год
- 2026
- Услуги
- Продуктовая разработка, DevOps
Проблема
Облачный диск остается арендованной полкой. Подписка растет вместе с архивом, провайдер сканирует ваш контент, а два десятилетия файлов отделяет от блокировки один флажок на аккаунте. Потребительский NAS-софт решает вопрос хранения, но выдает UI из 2012 года, а большинство self-hosted альтернатив захлебываются, как только число файлов в папке становится шестизначным.
Что мы построили
Персональная файловая платформа с тем взаимодействием, которое люди ожидают от современного диска: drag-and-drop загрузки, миниатюры и превью, дерево папок, ссылки для шаринга, поиск и массовые операции. Все это работает целиком на собственном железе.
Держится все на негламурной инженерии:
- Производительность на больших папках. Серверная пагинация и сортировка с переходом к нужному смещению: папка на 100 тысяч файлов скроллится как папка на сотню. Сортировка выполняется в SQL, а не в браузере.
- Абстракция хранилища через rclone. Слой хранения говорит на rclone, поэтому тот же UI сегодня работает с локальным диском, а завтра с любым из сорока облачных remote, включая шифрованные оверлеи.
- Service-to-service API. Соседние приложения используют платформу как файловый бэкенд по внутренней сети со scoped-токенами: один storage-мозг обслуживает много приложений.
Архитектура
Backend на FastAPI, React SPA, PostgreSQL для метаданных, rclone как слой хранения. Деплой контейнерами за Traefik с автоматическим TLS и 2FA-гейтом на Telegram-кодах перед UI. Еженощные бэкапы метаданных; контент живет на зеркалированных дисках.
Результат
Подписка на облачный диск отменена, архив дома, а платформа незаметно стала инфраструктурой: другие приложения портфеля теперь хранят файлы через ее API, вместо того чтобы заново изобретать загрузку. Скучный успех несущей конструкции: именно такой и нужен.