До вчерашнего дня моя система публикации базы знаний работала на бесплатных аккаунтах GitHub, Vercel и Google Drive. Это был обычный MVP — нужно было проверить, жизнеспособна ли сама идея: из набора локальных файлов собрать и обновлять web сайт, испольуя только текстовый редактор. Как показала практика, идея оказалась очень удачной: система проработала несколько лет, пока не уперлась в лимиты.

Поэтому я решил двигаться в сторону изначально задуманной архитектуры AxonaCloud — создать self-hosted решение для хранения и синхронизации базы знаний, а в дальнейшем запускать поверх неё приложения.

Домашний сервер на базе Raspberry Pi с накопителем 2ТБ для работы с self-hosted облачным сервисом AxonaCloud

Для запуска self-hosted облака я использовал Raspberry Pi и жёсткий диск на 2 ТБ. Сейчас это набор сервисов для синхронизации файлов между рабочей машиной и сервером внутри виртуальной домашней сети на базе WireGuard. В основе лежит сервис Syncthing. Я добавил к нему небольшой API, который воспроизводит необходимые функции Google Drive. Таким образом, я полностью отказался от Google Drive как хранилища базы знаний. Теперь система публикации работает в два раза быстрее: время на скачивание файлов заметно сократилось.

Пока это прототип, главная его задача — заменить Google Drive в моей системе публикации. И если вы читаете этот пост, значит, сервис уже работает 🙂

Следующий шаг — перенос оставшегося функционала из GitHub Actions в self-hosted облако. Планирую изучить готовые проекты, которые позволяют упростить миграцию с GitHub Actions.