caudal/empaquetado/LEEME.md
2026-10-13 08:01:06 -05:00

72 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Empaquetar Caudal para un servidor de casa
Caudal es obra de esetheyers, hecho con Claude (Anthropic).
Caudal en un servidor es el mismo programa arrancado con `--servidor`: atiende
en la red y se entra con una contraseña que se crea la primera vez. Todo lo
del usuario queda en un solo volumen (`/data`).
| Qué | Dónde | Estado |
|---|---|---|
| Imagen de contenedor (lleva `cartera/ejemplo`, la cartera de ejemplo) | `../Dockerfile` | Construida y probada (arranque cifrado, crear contraseña, reiniciar bloqueado, volver a entrar) |
| Paquete de StartOS 0.4 | `startos/` | Se construye (`caudal_x86_64.s9pk`); instalado y actualizado con datos en un StartOS 0.4 |
| Paquete de Umbrel | repositorio de la tienda, `esetheyers/umbrel-apps` (carpeta `esetheyers-caudal/`) | Escrito según la guía de umbrel-apps; **sin publicar ni probar en un Umbrel** |
## La imagen
```
docker build -t caudal .
docker run -d --name caudal -p 8080:8080 -v caudal-datos:/data caudal
```
- `CAUDAL_CIFRADO=1` cifra los datos en el disco desde el principio y enseña
la clave de recuperación al crear la contraseña. Para los sistemas que no
cifran el disco (Umbrel). En StartOS no se pone: su disco ya va cifrado, y
quien quiera lo activa en «Más › Cifrado de los datos».
- `CAUDAL_DISCO_CIFRADO=1` es lo contrario: avisa en «Cifrado de los datos» de
que el servidor ya cifra su disco y no hace falta cifrar además en Caudal.
Lo lleva puesto la imagen de StartOS.
- `GET /api/salud` dice si está en marcha y si está bloqueada.
- Contraseña olvidada, con los datos sin cifrar:
`docker exec caudal python3 -m cartera.acceso --datos /data/datos restablecer`.
Con los datos cifrados la orden se niega: solo vale la clave de recuperación.
## StartOS 0.4
Hace falta el entorno de la guía de Start9 (Docker con buildx, Node 22,
squashfs-tools, jq y `start-cli`) y un espacio de trabajo:
```
start-cli s9pk init-workspace start9-workspace
cp -r empaquetado/startos start9-workspace/caudal-startos
cd start9-workspace/caudal-startos && npm install
sh traer-caudal.sh /ruta/al/repositorio/de/caudal # copia el programa a ./caudal/
docker buildx create --use --name caudal-builder # una vez
make x86 # o: make arm
```
Sale `caudal_x86_64.s9pk`, que se instala desde la web de StartOS con
«Sideload». El paquete trae:
- la página web de Caudal como única interfaz (la contraseña la pide Caudal);
- la copia de seguridad de StartOS sobre el volumen entero;
- la acción «Restablecer la contraseña», que llama a la orden de arriba.
Pendiente antes de publicar: crear los repositorios que nombra
`startos/manifest/index.ts`, instrucciones (`instructions.md`, `README.md`) y
probarlo instalado, incluida una copia y restauración.
## Umbrel
El paquete de Umbrel no vive aquí, sino en la tienda de aplicaciones del
autor, `esetheyers/umbrel-apps`, que comparte con sus otras aplicaciones: una
carpeta `esetheyers-caudal/` con el manifiesto, el `docker-compose.yml` y el
icono. Antes de poder instalarlo hay que:
1. Publicar la imagen (`../Dockerfile`) en un registro público, para
`linux/amd64` y `linux/arm64`.
2. Poner su etiqueta y su huella en el `docker-compose.yml` de la tienda y
publicar esa carpeta en su rama principal.
Umbrel pone delante su propia entrada (la sesión de Umbrel) y además Caudal
pide su contraseña, que es la que cifra los datos.