feature/generador-instaladores-linux-windows

This commit is contained in:
2026-07-01 10:33:05 -06:00
parent 0d8d80d61d
commit 0c14f1166b
17 changed files with 802 additions and 90 deletions

View File

@@ -24,6 +24,9 @@ CloudRestoreAS es una aplicación Windows de escritorio desarrollada en Python 3
### Sistema Operativo
- Windows 10/11
- Windows Server 2019/2022 o superior
- Linux x86-64 (servidor o escritorio). En servidor **headless** (sin pantalla) corre
automáticamente en modo Qt `offscreen`. El binario Linux es **autocontenido**: no
requiere instalar Python, 7-Zip, driver ODBC ni librerías Qt en el destino.
### Software Requerido
@@ -75,25 +78,46 @@ CloudRestoreAS es una aplicación Windows de escritorio desarrollada en Python 3
### Opción 2: Ejecutable portable (recomendado para producción)
**Windows** — generar:
```powershell
.\build.ps1
```
Salida: `dist\CloudRestoreAS.exe`
**Linux** — generar:
**Todo de una vez (desde WSL)** — genera Windows + Linux + los paquetes de release:
```bash
./build.sh
./build-all.sh # ambos + dist/release/*.tar.gz y *.zip
./build-all.sh --linux-only # solo Linux (Docker)
./build-all.sh --windows-only # solo Windows (PowerShell + build.ps1)
./build-all.sh --clean # rebuild desde cero
```
Salida: `dist/CloudRestoreAS`
Requiere Docker (para Linux) y, para Windows, `powershell.exe` accesible desde WSL con Python 3.11+ instalado en Windows.
**Desplegar en cada equipo** (sin Python, sin instalador):
**Solo Windows** — generar: `.\build.ps1` → `dist\CloudRestoreAS.exe`
**Solo Linux** — generar: `./build.sh` (o `packaging/scripts/docker-build-linux.sh` para el entorno controlado) → `dist/CloudRestoreAS`
> 📦 Referencia completa de compilación, empaquetado, instalación (`install.sh`/systemd),
> flags del binario y verificación: **[BUILD.md](BUILD.md)**.
> El build de Linux embebe dentro del binario, además de la app: las libs de sistema
> de Qt (cluster xcb/X11 + EGL), el driver **ODBC 18** con sus dependencias
> (unixODBC, Kerberos/GSSAPI, OpenSSL) y el **7-Zip** (`7zz`). Por eso el destino no
> necesita `apt install` de nada. (El build se hace en un entorno con esas libs; ver
> `packaging/scripts/download-bundled-deps.sh` y `docker-build-linux.sh`.)
**Desplegar en cada equipo** (sin Python, sin instalador, sin dependencias de sistema):
1. Copiar **solo** el ejecutable a una carpeta.
2. Ejecutarlo (doble clic o `./CloudRestoreAS`).
3. Se crean automáticamente: `config/`, `Entrada/`, `Procesados/`, `Fallados/`, `Temp/`.
4. Editar `config/.env` (URL, token e instancia del panel).
5. Reiniciar la aplicación.
**Despliegue en servidor Linux (headless / SQL Server sobre Linux):**
```bash
sudo ./install.sh --service # servicio systemd 24/7 (offscreen, motor auto-inicio)
# o manual:
QT_QPA_PLATFORM=offscreen ./CloudRestoreAS --start-engine --headless
```
`install.sh` **no instala ni descarga nada** del sistema: solo coloca el binario, hace
el bootstrap de `config/` y registra el arranque (systemd headless o autostart de
escritorio con `--desktop`). El `data_folder` del destino viene del PANEL; con SQL
Server sobre Linux serán rutas POSIX (p. ej. `/var/opt/mssql/data`) y el `RESTORE`
las adapta automáticamente.
Ver `packaging/LEEME.txt` para instrucciones resumidas.
## ⚙️ Configuración Inicial