инструмент командной строки · собственный хостинг

Разверни Cuento
за считанные минуты.

Cuento CLI берёт на себя всё — форкает репозитории, настраивает VPS, устанавливает базу данных, подключает SSL и поддерживает экземпляр в актуальном состоянии — всё через интерактивное меню в терминале.

Установка и запуск.

CLI — это один исполняемый файл, без среды выполнения и зависимостей. Скачай бинарник для своей ОС, сделай его исполняемым и запусти.

● ● ● $ xattr -d com.apple.quarantine cuento-cli-mac
$ chmod +x cuento-cli-mac
$ ./cuento-cli-mac

# Появится меню выбора проекта — вот и всё.

Перед запуском CLI подготовь следующее.

🐧

Аккаунт GitHub

CLI форкнет репозитории Cuento в него и будет управлять деплоями через него.

🌍

VPS

Сервер на Debian или Ubuntu (минимум 1 CPU, 1 ГБ ОЗУ) с SSH-доступом — root или sudo.

🌐

Домен

Доменное имя, A-запись которого уже указывает на IP-адрес твоего сервера.

От нуля до работающего экземпляра.

CLI проведёт тебя через всё в интерактивном режиме. Запусти его, выбери Добавить новый проект, ответь на вопросы и наблюдай за установкой шаг за шагом — с поддержкой возобновления, если что-то прервётся.

01

Форк репозиториев

CLI форкает основные репозитории бэкенда и фронтенда Cuento в твой аккаунт GitHub, создаёт ветку release в каждом и настраивает GitHub Actions для деплоя при пуше в эту ветку.

02

Настройка сервера

По SSH CLI обновляет системные пакеты, устанавливает MariaDB, создаёт базу данных и пользователя, импортирует схему по умолчанию и устанавливает Caddy как обратный прокси с автоматическим SSL.

03

Настройка CI/CD

Генерируется новая пара ключей ED25519. Приватный ключ загружается в твои форки как секрет GitHub Actions. Публичный ключ добавляется в ~/.ssh/authorized_keys на сервере. Последующие пуши в release деплоятся автоматически.

04

Запуск бэкенд-сервиса

Бэкенд регистрируется как systemd-сервис (cuento-backend), запускаемый от имени выделенного пользователя cuento. Автоматически перезапускается при сбое и стартует при каждой загрузке.

05

Готово

CLI выводит URL твоего деплоя. Экземпляр Cuento запущен, защищён SSL и готов к регистрации первого пользователя.

Всё, что можно сделать.

Все команды доступны через интерактивное меню — никаких флагов запоминать не нужно. Выбери проект, затем действие.

Создать
интерактивно · с возобновлением

Полная установка

Выполняет все 19+ шагов настройки: форк репозиториев, настройка GitHub Actions, подготовка сервера, установка MariaDB, Caddy и запуск бэкенд-сервиса. При прерывании повторный запуск продолжит с последнего завершённого шага.

  • Запрашивает GitHub-токен, IP сервера, SSH-данные, домен и параметры БД
  • Форкает cuento-backend и cuento-frontend в твой аккаунт
  • Создаёт и настраивает ветку release в обоих форках
  • Настраивает VPS по SSH, устанавливает все зависимости
  • По завершении выводит URL готового деплоя
Обновить
интерактивно

Получить изменения из upstream

Сравнивает последний задеплоенный коммит в твоих форках с актуальным upstream. Если схема БД изменилась, генерирует SQL-миграцию и запрашивает подтверждение перед применением. Затем вливает upstream в твою ветку release, запуская новый деплой через GitHub Actions.

  • Автоматически обнаруживает изменения схемы и генерирует SQL миграции
  • Предупреждает, если изменились main.go или .github/
  • Обновляет бэкенд и фронтенд независимо
  • Сохраняет хэши новых задеплоенных коммитов после слияния
Добавить пользователя
интерактивно

Создать пользователя в базе данных

Создаёт новый аккаунт напрямую в БД. Запрашивает имя пользователя, пароль (скрытый ввод) и права администратора. Пароли хэшируются SHA-256, затем bcrypt.

Импорт разрешений
автоматически · безопасно повторять

Синхронизировать права ролей

Скачивает актуальный permissions.csv из upstream-бэкенда и импортирует все права ролей в БД через INSERT IGNORE — безопасно запускать несколько раз без дублирования. Запускай после каждого upstream-обновления, меняющего права доступа.

Сбросить pipeline
автоматически

Повторно применить workflows деплоя

Перезаписывает файлы workflow GitHub Actions в обоих форках на ветках main и release. Используй, если upstream-обновление Cuento изменило CI/CD pipeline или Actions перестал срабатывать.

Где хранятся данные.

Все данные проекта сохраняются локально в одном JSON-файле. Файл доступен только текущему пользователю ОС (chmod 700). Никакие данные не покидают твою машину, кроме тех, что отправляются на VPS и GitHub.

● ● ● # macOS
~/Library/Application Support/cuento/config.json

# Linux
~/.config/cuento/config.json

# Windows
%AppData%\cuento\config.json

Каждый проект хранится как отдельная запись. Из одного 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.

CLI оставляет сервер в чистом стандартном состоянии — никаких кастомных скриптов, никакой привязки. Все компоненты — стандартные пакеты Debian/Ubuntu и upstream-ПО.

● ● ● # Обратный прокси (авто-HTTPS через Let's Encrypt)
/etc/caddy/Caddyfile

# Systemd-сервис бэкенда
/etc/systemd/system/cuento-backend.service

# Директории приложения
/var/www/backend/
/var/www/frontend/

# Фаервол: открыты порты 22, 80, 443 (UFW)
🔒

Caddy

Проксирует /api/* и /ws на бэкенд (порт 8080). Отдаёт фронтенд SPA на /. SSL настраивается автоматически.

🔄

MariaDB

Защищена root-паролем. Создаются выделенная база данных и пользователь. При первом запуске импортируются схема и права по умолчанию.

Systemd-сервис

Бэкенд работает от имени пользователя cuento, перезапускается при сбое и стартует автоматически при каждой загрузке.

🚀

GitHub Actions CI/CD

Пуш в ветку release любого форка запускает автоматический деплой на VPS — никакого ручного SSH после настройки.

Готов запустить собственный мир?

Скачай CLI и запусти Cuento за считанные минуты.

Скачать Cuento CLI ↗