3.0 KiB
HY2XS
HY2XS — двухслойный install package для развёртывания на чистом Debian 12 amd64.
Состав baseline:
- production builder на Debian 12 amd64 создаёт один переносимый архив;
- install-only оркестратор на Bun + TypeScript поставляется на target как готовый compiled artifact;
- HY2XS admin поставляется в составе пакета как bundled fork;
- vanilla Hysteria2 скачивается с official upstream во время установки.
В baseline намеренно не входят target-side build, update, rollback, uninstall, Telegram bot delivery, billing и внешний контур выдачи access/profile.
Структура репозитория
tools/build— production builder и packaging pipeline.orchestrator— исходники install-only оркестратора на Bun + TypeScript.package— skeleton итогового install package: entrypoint, templates, systemd units, package docs.apps— исходники HY2XS admin fork.docs— архитектурная документация и acceptance.hy2xs_implementation_plan-no_git— roadmap и task breakdown.dist— итоговые install archives, создаются builder'ом и не хранятся в git.
Сборка
Production-сборка выполняется только на Debian 12 amd64:
PACKAGE_VERSION=0.1.0 ./tools/build/build.sh
Builder сам проверяет ОС, архитектуру, структуру проекта, lock-файлы, версии Go/Bun/Node.js/pnpm и при необходимости скачивает локальный toolchain.
Ожидаемый результат:
dist/hy2xs-install-0.1.0.tar.gz
На target server не должно быть bun install, pnpm install, TypeScript transpilation, frontend build или Go build.
Подробности сборки: tools/build/README.md.
Публикация
Целевой репозиторий:
https://git.ext.flamy.studio/flamy_dev/HY2XS_flamy.git
Публиковать изменения нужно только после прохождения baseline acceptance, сборки оркестратора и smoke checks итогового пакета.
Установка
На чистом Debian 12 target нужно распаковать архив и запустить от root:
./install.sh --non-interactive --domain example.com
Полезные baseline-флаги:
./install.sh --non-interactive --domain example.com --port 443 --ssh-port 22 --ui-port 8080
После установки создаётся /etc/hysteria/post-install.env с фактическими параметрами deploy-состояния.