инструмент командной строки · собственный хостинг
Cuento CLI берёт на себя всё — форкает репозитории, настраивает VPS, устанавливает базу данных, подключает SSL и поддерживает экземпляр в актуальном состоянии — всё через интерактивное меню в терминале.
CLI — это один исполняемый файл, без среды выполнения и зависимостей. Скачай бинарник для своей ОС, сделай его исполняемым и запусти.
Перед запуском CLI подготовь следующее.
CLI форкнет репозитории Cuento в него и будет управлять деплоями через него.
Сервер на Debian или Ubuntu (минимум 1 CPU, 1 ГБ ОЗУ) с SSH-доступом — root или sudo.
Доменное имя, A-запись которого уже указывает на IP-адрес твоего сервера.
CLI проведёт тебя через всё в интерактивном режиме. Запусти его, выбери Добавить новый проект, ответь на вопросы и наблюдай за установкой шаг за шагом — с поддержкой возобновления, если что-то прервётся.
CLI форкает основные репозитории бэкенда и фронтенда Cuento в твой аккаунт GitHub,
создаёт ветку release в каждом и настраивает GitHub Actions
для деплоя при пуше в эту ветку.
По SSH CLI обновляет системные пакеты, устанавливает MariaDB, создаёт базу данных и пользователя, импортирует схему по умолчанию и устанавливает Caddy как обратный прокси с автоматическим SSL.
Генерируется новая пара ключей ED25519. Приватный ключ загружается в твои форки
как секрет GitHub Actions. Публичный ключ добавляется в
~/.ssh/authorized_keys на сервере. Последующие пуши в
release деплоятся автоматически.
Бэкенд регистрируется как systemd-сервис (cuento-backend),
запускаемый от имени выделенного пользователя cuento.
Автоматически перезапускается при сбое и стартует при каждой загрузке.
CLI выводит URL твоего деплоя. Экземпляр Cuento запущен, защищён SSL и готов к регистрации первого пользователя.
Все команды доступны через интерактивное меню — никаких флагов запоминать не нужно. Выбери проект, затем действие.
Выполняет все 19+ шагов настройки: форк репозиториев, настройка GitHub Actions, подготовка сервера, установка MariaDB, Caddy и запуск бэкенд-сервиса. При прерывании повторный запуск продолжит с последнего завершённого шага.
cuento-backend и cuento-frontend в твой аккаунтrelease в обоих форкахСравнивает последний задеплоенный коммит в твоих форках с актуальным upstream.
Если схема БД изменилась, генерирует SQL-миграцию и запрашивает подтверждение
перед применением. Затем вливает upstream в твою ветку release,
запуская новый деплой через GitHub Actions.
main.go или .github/Создаёт новый аккаунт напрямую в БД. Запрашивает имя пользователя, пароль (скрытый ввод) и права администратора. Пароли хэшируются SHA-256, затем bcrypt.
Скачивает актуальный permissions.csv из upstream-бэкенда и
импортирует все права ролей в БД через INSERT IGNORE —
безопасно запускать несколько раз без дублирования. Запускай после каждого
upstream-обновления, меняющего права доступа.
Перезаписывает файлы workflow GitHub Actions в обоих форках на ветках
main и release. Используй, если upstream-обновление
Cuento изменило CI/CD pipeline или Actions перестал срабатывать.
Все данные проекта сохраняются локально в одном JSON-файле. Файл доступен только
текущему пользователю ОС (chmod 700).
Никакие данные не покидают твою машину, кроме тех, что отправляются на VPS и GitHub.
Каждый проект хранится как отдельная запись. Из одного CLI можно управлять несколькими независимыми экземплярами Cuento.
| Поле | Что хранит | Примечание |
|---|---|---|
| github_token | GitHub personal access token | Управление форками, секретами и workflows |
| github_user | Имя пользователя GitHub | Определяется автоматически после первой авторизации |
| server_ip | IP-адрес VPS | |
| ssh_user / ssh_pass | SSH-данные для входа | Используются при установке и обновлениях |
| sudo_pass | Пароль sudo | Нужен для установки пакетов и настройки сервисов |
| domain | Доменное имя | Используется в конфиге Caddy и URL деплоя |
| db_root_pass / db_name / db_user / db_pass | Данные для подключения к БД | Настройка MariaDB и переменные окружения бэкенда |
| ssh_priv_key / ssh_pub_key | Сгенерированная пара ключей ED25519 (base64) | Хранится для возобновления установки |
| setup_step | Индекс последнего завершённого шага установки | -1 = завершено; положительное = следующий шаг |
CLI оставляет сервер в чистом стандартном состоянии — никаких кастомных скриптов, никакой привязки. Все компоненты — стандартные пакеты Debian/Ubuntu и upstream-ПО.
Проксирует /api/* и /ws на бэкенд (порт 8080).
Отдаёт фронтенд SPA на /. SSL настраивается автоматически.
Защищена root-паролем. Создаются выделенная база данных и пользователь. При первом запуске импортируются схема и права по умолчанию.
Бэкенд работает от имени пользователя cuento, перезапускается при сбое
и стартует автоматически при каждой загрузке.
Пуш в ветку release любого форка запускает автоматический деплой на VPS —
никакого ручного SSH после настройки.
Скачай CLI и запусти Cuento за считанные минуты.
Скачать Cuento CLI ↗