forked from escuela-comun/huerta-init
Merge branch 'antifascista' of https://git.coopcloud.tech/escuela-comun/huerta-init into antifascista
This commit is contained in:
122
README.md
Normal file
122
README.md
Normal 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.
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user