From e27369a0f991642df2d4bef39612977ad362e699 Mon Sep 17 00:00:00 2001 From: f Date: Mon, 20 Apr 2026 11:57:47 -0300 Subject: [PATCH] feat: readme --- README.md | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..f81e307 --- /dev/null +++ b/README.md @@ -0,0 +1,122 @@ +# huerta-init + +Es el instalador de huertas para la Escuela Común. Se encarga de toda +la configuración post instalación, incluyendo: + +* Cifrar el disco de datos (si existe) +* Crear el nodo en la red Común (hay que darlo de alta en el proxy + luego) +* Configurar `initramfs` para que podamos conectarnos por red a la + huerta sin necesidad de conectarle teclado y monitor ni estar + físicamente al lado de la huerta. +* Instalar `abra` y hacer la configuración inicial de `traefik`. + +# Pasos + +* Hacer una instalación de Ubuntu Server 24.4 con las opciones: + * Instalación mínima, sin paquetes ni _snaps_ extra. + * Activar servidor SSH, si es posible agregando las llaves de una + cuenta de GitHub. + * Activar cifrado LVM completo, con las opciones por defecto, pero + eligiendo el disco SSD si hubiese dos. + * Por alguna razón que no logramos determinar, Ubuntu usa un máximo + de 50GB para el sistema, con lo que hay que extender el espacio + utilizado después. Preferimos usar `lvextend` luego que manipular + las opciones de particionado del instalador. + * ¡Usar un _hostname_ sin guiones en el nombre! Luego genera + incompatibilidades en la red Común y Coopcloud. +* Si no instalamos una llave SSH desde GitHub, este es el momento de + hacerlo: + + ```sh + ssh-copy-id usuarie@192.168.0.10 # IP de la huerta en la red local + ``` + +* Ingresar por SSH al sistema: + + ```sh + ssh usuarie@192.168.0.10 + ``` + +* Clonar este repositorio y correr los _scripts_: + + ```sh + # Hacer esto una sola vez + git clone https://git.coopcloud.tech/escuela-comun/huerta-init.git + # Hacer esto cada vez que queramos correr un script + cd huerta-init + # Hacer esto para actualizar huerta-init + git pull + # Hacer la instalación base, se puede correr múltiples veces. Es + # posible que nos pida la contraseña de cifrado de disco varias veces. + sudo ./huerta-init.sh + # Nos va a pedir que reiniciemos + ``` + +* Luego de reiniciar y haber activado el nodo en la red Común, + deberíamos poder conectarnos por SSH a su dirección: + + ```sh + # Ingresar a la huerta a través del proxy + ssh usuarie@huerta.abyaya.la -p 3000 # puerto asignado por el proxy + # Desbloquear el disco con la contraseña de cifrado + cryptroot-unlock + ``` + + **Estos dos comandos son los que vamos a tener que correr cada vez que + se reinicie la huerta.** + +* Luego, hacer la instalación de Coopcloud: + + ```sh + # Volver a ingresar + ssh usuarie@huerta.abyaya.la -p 3000 # puerto asignado por el proxy + cd huerta-init + ./abra-init.sh # sin sudo + exit # cerrar y volver a entrar + ``` + +* Terminar la instalación de Traefik: + + ```sh + ssh usuarie@huerta.abyaya.la -p 3000 # puerto asignado por el proxy + cd huerta-init + ./traefik-init.sh # sin sudo + ``` + +* A partir de ahora podemos instalar aplicaciones ingresando por `ssh` + y usando `abra`. + +* Cada vez que reinicie la huerta tendremos que usar `cryptroot-unlock`. + +# Errores comunes + +## No puedo conectarme por SSH después de desbloquear la huerta + +Es posible que tarde unos minutos en terminar de iniciar y reconectar +a la huerta. Si después de 5 minutos no es posible ingresar a la huerta +or `ssh`, reportar el problema. + +## No hay conexión a la huerta a través del proxy + +* Chequear que el archivo `/tmp/comun.dot` en el proxy contenga el + nombre de la huerta. + +* Chequear que la interfaz `comun` en la huerta tenga asignada una IP en + el rango `10.13.12.0/24`: + + ```sh + ip address show comun + ``` + +* Chequear que `netplan` no esté gestionando la interfaz: + + ```sh + netplan status + ``` + + Si dice que la interfaz `comun` está _unmanaged_, quiere decir que + tenemos que correr nuestro propio cliente dhcp. + + Si la red empieza a funcionar con `dhcpcd comun`, por favor reportar + el error.