feature/interfaz-binarios (#19)
Some checks failed
Aduanasoft/PANEL_BASES_ANEXO24/pipeline/head There was a failure building this commit

Reviewed-on: #19
Co-authored-by: hreyes <hreyes@aduanasoft.com.mx>
Co-committed-by: hreyes <hreyes@aduanasoft.com.mx>
This commit is contained in:
2026-07-30 13:52:45 +00:00
committed by acazares
parent a9a1dcb9ae
commit 14b611c581
41 changed files with 10355 additions and 29 deletions

View File

@@ -24,12 +24,33 @@ services:
# Clave Fernet compartida con a24c para cifrar la contraseña SQL de los nodos.
# DEBE ser idéntica a la SECRET_KEY del backend de a24c.
- SECRET_KEY=${SECRET_KEY}
# [LEGADO] Solo si existen credenciales en el formato antiguo `gcm:` por migrar.
# [LEGADO] Solo si existen credenciales en el formato antiguo `gcm:` por migrar. Hoy TODAS
# las de restore_targets siguen en ese formato, así que el instalador remoto de CRAS aún
# depende de esta clave para descifrar la contraseña SSH del destino.
- ENCRYPTION_KEY=${ENCRYPTION_KEY:-}
# Token de servicio que usan los agentes CloudRestoreAS en /api/restore/*. Obligatorio a
# propósito: service-auth.ts falla CERRADO con 500 si falta, así que sin `:?` el deploy
# arrancaría bien y los agentes recibirían 500 sin que nadie sepa por qué. Mismo patrón
# que MINIO_ROOT_USER en el compose de producción de a24c.
- CLOUDRESTORE_API_TOKEN=${CLOUDRESTORE_API_TOKEN:?CLOUDRESTORE_API_TOKEN es obligatorio}
# Ruta de respaldos montada desde el host
- BACKUP_PATH=/data/backups
# --- Distribución de versiones de CloudRestoreAS -----------------------
# Gitea es la fuente de verdad de los binarios; el panel solo LEE (scope read:package).
- GITEA_BASE_URL=${GITEA_BASE_URL:-https://git.aduanasoft.com}
- GITEA_OWNER=${GITEA_OWNER:-ADUANASOFT}
- GITEA_TOKEN=${GITEA_TOKEN:-}
- CRAS_PACKAGE_NAME=${CRAS_PACKAGE_NAME:-cloudrestoreas}
# Caché local de artefactos (~270 MB cada uno, 2 por versión).
- CRAS_RELEASES_DIR=/data/cras-releases
- CRAS_CACHE_KEEP_VERSIONS=${CRAS_CACHE_KEEP_VERSIONS:-3}
# URL con la que el agente instalado reportará al panel. Debe ser alcanzable desde los
# servidores de restauración, no localhost.
- PANEL_PUBLIC_URL=${PANEL_PUBLIC_URL:-${ORIGIN}}
- PORT=3000
- ORIGIN=${ORIGIN}
- NODE_ENV=production
@@ -43,6 +64,10 @@ services:
- SMTP_USE_TLS=${SMTP_USE_TLS:-true}
volumes:
- ${BACKUP_HOST_PATH}:/data/backups
# Caché de artefactos de CRAS. Va en un bind-mount del host (no en un volumen anónimo)
# para que sobreviva a los redeploy: re-descargar cientos de MB en cada actualización
# del panel sería desperdicio.
- ${CRAS_RELEASES_HOST_PATH:-./data/cras-releases}:/data/cras-releases
extra_hosts:
- "host.docker.internal:host-gateway"
networks: