Подготовить HY2XS к production-сборке
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
# HY2XS
|
||||
|
||||
HY2XS is a two-layer install package for a clean Debian 12 target:
|
||||
|
||||
- local builder layer: creates one transferable install archive
|
||||
- install-only Bun/TypeScript orchestrator: runs on the target as a compiled artifact
|
||||
- bundled HY2XS admin fork: shipped inside the package
|
||||
- vanilla Hysteria2: downloaded from the official upstream during install
|
||||
|
||||
The baseline deliberately excludes target-side builds, update, rollback, uninstall, Telegram bot delivery, billing, and external access/profile delivery.
|
||||
|
||||
## Repository Layout
|
||||
|
||||
- `builder/` - local shell-first packaging pipeline
|
||||
- `orchestrator/` - Bun + TypeScript install-only orchestrator sources
|
||||
- `package/` - package skeleton: thin entrypoint, templates, systemd units, package docs
|
||||
- `apps/` - current HY2XS admin fork source
|
||||
- `docs/` - baseline architecture and acceptance docs
|
||||
- `hy2xs_implementation_plan-no_git/` - implementation roadmap and task breakdown
|
||||
- `dist/` - final install archives generated by the builder
|
||||
|
||||
## Build
|
||||
|
||||
On the local build machine:
|
||||
|
||||
```sh
|
||||
PACKAGE_VERSION=0.1.0 ./builder/build.sh
|
||||
```
|
||||
|
||||
If tools are not in `PATH`, pass explicit binaries:
|
||||
|
||||
```sh
|
||||
GO_BIN=/path/to/go PNPM_BIN=/path/to/pnpm BUN_BIN=/path/to/bun PACKAGE_VERSION=0.1.0 ./builder/build.sh
|
||||
```
|
||||
|
||||
On the current Windows workstation the known tool paths are:
|
||||
|
||||
```powershell
|
||||
$env:PATH = "E:\Git\cmd;E:\go\bin;" + $env:PATH
|
||||
E:\go\bin\go.exe test ./...
|
||||
pnpm.cmd install --frozen-lockfile
|
||||
```
|
||||
|
||||
The expected result is:
|
||||
|
||||
```text
|
||||
dist/hy2xs-install-0.1.0.tar.gz
|
||||
```
|
||||
|
||||
The target server must not run `bun install`, `pnpm install`, TypeScript transpilation, frontend builds, or Go builds.
|
||||
|
||||
## Publication
|
||||
|
||||
Target repository:
|
||||
|
||||
```text
|
||||
https://git.ext.flamy.studio/flamy_dev/HY2XS_flamy.git
|
||||
```
|
||||
|
||||
Publish only after the full baseline acceptance is complete, including the Bun/TypeScript orchestrator artifact build and final package smoke checks.
|
||||
|
||||
## Install
|
||||
|
||||
On a clean Debian 12 target, unpack the archive and run as root:
|
||||
|
||||
```sh
|
||||
./install.sh --non-interactive --domain example.com
|
||||
```
|
||||
|
||||
Useful baseline flags:
|
||||
|
||||
```sh
|
||||
./install.sh --non-interactive --domain example.com --port 443 --ssh-port 22 --ui-port 8080
|
||||
```
|
||||
|
||||
The install flow writes `/etc/hysteria/post-install.env` with the resulting package, Hysteria, port, and path state.
|
||||
Reference in New Issue
Block a user