Merge branch 'antifascista' of https://git.coopcloud.tech/escuela-comun/huerta-init into antifascista

This commit is contained in:
f
2026-04-20 12:54:31 -03:00
3 changed files with 133 additions and 1 deletions

122
README.md Normal file
View File

@ -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.

View File

@ -4,6 +4,11 @@ set -e
ok () { echo "ok -- $@" >&2; }
not_ok () { echo "not ok -- $@" >&2; }
if test $UID -eq 0 ; then
not_ok "No correr con sudo!"
exit 1
fi
if ! which abra &>/dev/null; then
curl https://install.abra.coopcloud.tech | bash

View File

@ -4,11 +4,16 @@ set -e
ok () { echo "ok -- $@" >&2; }
not_ok () { echo "not ok -- $@" >&2; }
if test $UID -eq 0 ; then
not_ok "No correr con sudo!"
exit 1
fi
abra servidor agregar --local
if ! test -d ~/certificados; then
ok "Clonando repositorio de certificados"
git clone https://git.coopcloud.tech/escuela-comun/certificados ~/certificados
git clone https://git.coopcloud.tech/escuela-comun/certificados.git ~/certificados
fi
cd ~/certificados