Centro de conocimientos

Ir al pool
NAS / Synology - viernes, 16 de abr de 2021

Cosechando Chía en Synology con la imagen de Docker oficial

Una de las formas farmear / cosechar Chía una vez que tenemos nuestras parcelas listas es empleando un NAS. Probablemente el DMS o sistema operativo más popular para NAS hoy en día sea Synology.

Synology es un sistema propietario de la marca de NAS del mismo nombre, pero la popularidad de su entorno ha hecho que mucha gente lo instale en NAS de otras marcas (QNap, HPE Proliant, etc.) empleando un sistema no oficial llamado XPENology (toda la información sobre como instalarlo en las diferentes plataformas podrás encontrarlas en el foro oficial de XPENology). El método descrito en este artículo debería servir tanto para Synology oficial como para XPENology.

Algunas versiones de este software pueden tener ligeras variaciones con las capturas de pantalla aquí mostradas de la versón 6.2 de Synology DMS.

Los NAS, salvo los extremadamente potentes no están especialmente indicados para cultivar (plotear) Chía, pero si son una opción muy cómoda para cosechar (farming) discos con parcelas / plots ya creados.

Primeros pasos

La funcionalidad de Chía está disponible en un contenedor de Docker, que es lo que vamos a emplear en nuestro NAS. Los contenedores de Docker son una especia de máquinas virtuales encapsuladas dentro de un entorno cerrado. El contenedor de Docker ya tiene dentro todas las librerías… ficheros de configuración… etc. que evita que nosotros tengamos que instalar todas esas cosas a mano en nuestro sistema (en este caso en un NAS), que puede ser una tarea muy laboriosa y técnicamente exigente.

Así que el proceso queda muy simplificado empleando el contendor de Docker de Chía.

1. Instalar Docker en Synology

Synology viene de serie con un gestor de paquetes desde el que podemos instalar muchas funcionalidades adicionales en nuestro NAS (servidor multimedia de audio / vídeo, sistemas de copia de seguridad, cámaras de vigilancia…), también disponemos de la funcionalidad de ejecutar un contendor de Docker en nuestro NAS.

Simplemente necesitamos instalar un par de paquetes desde el Gestor de paquetes de Synology:

  1. Docker
  2. Git Server

No vamos a montar un servidor de Git en nuestro NAS realmente, pero nos simplifica tener el Git disponible en todo el entorno del NAS.

Los paquetes de Synology

2. Habilitar el acceso por SSH

Aunque podemos hacer casi toda la configuración desde el interface gráfico de Synology (y algunas partes es recomendable hacerlo así), hay un par de cosas que tendremos que hacer accedeiendo de forma remota por SSH desde otro ordenador. Para ello debemos activar el acceso remoto en nuestro NAS que por defecto viene desactivado.

Podemos hacerlo desde Panel de control > Terminal y SNMP donde seleccionaremos Activar SSH:

Activando SSH en nuestro Synology

Ahora probaremos a acceder desde otro ordenador de la red con:

ssh [email protected]_DEL_NAS -p 22

Activando SSH en nuestro Synology

Introduciremos nuestra password de admin y ya estaremos dentro.

3. Descargar la imagen de Docker oficial de Chía

La imagen de Docker oficial de Chía no aparece en el buscador de imágenes de Docker, así que no podemos instalarla desde el interface de Synology, tendremos que instalarla a mano desde SSH.

Es importante que instalemos la imagen oficial y NO imágenes que no sabemos el origen, recordemos que vamos a introducir nuestra las claves de nuestra wallet, etc. desconfia siempre de imágenes de Docker no-oficiales, o con orígenes «dudosos».

Primero ejecutaremos sudo -i (nos pedirá nuestra password de admin), y después docker pull ghcr.io/chia-network/chia:latest (este comando hace que Docker se descargue la imagen oficial de chia, que podemos encontrar el el GitHub de Chía).

Descargar imagen de Chia desde SSH

Veremos una información de descarga, cuando finalice veremos nuestra imagen de Chia en el interface de Docker dentro de Synology.

Imagen de Chia dentro del Docker de Synology

4. Crear el contenedor de Docker y configurarlo

A partir de la imagen de Docker que hemos descargado vamos a crear un contenedor y luego configurar las opciones necesarias para que funcione correctamente. Para ello vamos a la sección Imágenes de la app de Docker dentro de Synology y elegimos la opción: Iniciar para comenzar la creación de nuestro contenedor.

Cambiar el nombre del contenedor

En esta primera pantalla solo hay que cambiar el nombre del contenedor por algo más corto para cuando tengamos que acceder a él desde SSH etc. cambiar ghcr.io-chia-network/chia1 por chia. Una vez hecho eso pulsa en Configuración avanzada.

Habilitando el reinicio automático

Habilitamos el reinicio automático, así cada vez que reiniciemos nuestro NAS (o se reinicie por un corte de suministro eléctrico) automáticamente se inciará nuestro contenedor de Docker.

Carpetas de configuración el en SIleStation de Synology

Ahora desde el File station de Synology debemos crear un par de carpetas de configuración para luego poder configurar nuestras claves de granjero de Chía, etc.

Prmero creo creamos una carpeta chia dentro de docker, y dentro de esta dos carpetas más:

  • .chia
  • python_keyring

Es muy importante que te fijes en que los nombres de las carpetas estás correctamente escritos.

Carpetas de configuración el en FIleStation de Synology

Volvemos a la creación de nuestro contenedor de Docker, en la sección de Volumenes elegimos la opción: Agregar carpetas.

Carpetas de configuración el en FIleStation de Synology

Debemos aadir las caprtas que acabamos de crear en el File station y mapear su nombre a las rutas de montaje: .chia y python_keyring dentro del contenedor como se observa en la captura a continuación. Fíjate en que también hemos montado una ruta llamada /plots, en esta ruta es donde nuestra imagen de Docker irá a buscar nuestras parcelas para buscar resultados en ellas.

Lo que estamos haciendo es mapear o vincular una carpeta externa de nuestro NAS con una ruta interna del contenedor de Docker, es decir cuando la imagen de Docker busque ficheros en esas rutas realmente estará accediendo a las carpatas del NAS que hayamos configurado.

Configurando el mapeo de carpetas

Ahora deberemos realizar unas configuraciones de puertos en nuestra imagen de Docker para que el cliente de Chia dentro de nuestro contenedor de Docker acceder a la red / Internet. Fíjate que hemos añadido tb un puerto UDP con el valor 8444.

Configurando los puertos del Docker

En la sección de Medio ambiente (Environment) debemos vaciar el campo de las keys. ¿Porqué?, en este campo deberían ir nuestras keys privadas de Chía (las 24 palabras que se usan para generar nuestra wallet), las que nos identifican como granjero y permiten, por ejemplo, realizar transferencias de monedas desde nuestra cartera. Es un parámetro de seguridad crítico que permite suplantar nuestra identidad.

Por motivos de seguridad es mejor no introducir nuestras keys en este apartado, ya que si un intruso accediese a nuestra red podría intentar robarlas, y con ello suplantar nuestra identidad o robarnos el contenido de nuestra cartea. Vamos a realizar esto de una forma alternativa (lo vemos un poco más adelante), así que dejamos el campo keys vacío.

Limpiando las claves de nuestro contenedor de Docker

Ya hemos configurado todo lo necesario en este aprtado, podemos pulsar en Siguiente.

Limpiando las claves de nuestro contenedor de Docker

5. Acceder por SSH a nuestro NAS y añadir nuestras claves

Como comentamos anteriormente es mejor no usar el campo keys del contenedor del Docker porque quedan muy expuestas y en texto plano lo que es un riesgo de seguridad siempre, así que vamos a proceder a introducir nuestra claves de farmer en la imagen de Docker desde la lína de comandos accediendo por SSH de nuevo.

ssh [email protected]_DE_NUESTRO_NAS -p 22

Una vez dentro arranzamos la termina (bash) dentro del contenedor de Docker con:

sudo docker exec -it chia /bin/bash

Recordemos que chia es el nombre del nuestro contenedor, que pusimos en el paso 4 de este tutorial.

Accediendo al Docker

Ya estamos dentro de nuestro volumne del Docker con el software de Chía. Hora para añadir nuestras claves debemos ejecutar el comando:

venv/bin/chia keys add

Nos pedirá que tecleemos las 24 palabras que componen la semilla de nuestra clave (podemos hacer copy + paste), en un instante generará las claves correspondientes, y nos mostrará nuestro public key fingerprint (marcado en rojo en la captura).

Dentro del Docker

Nuestro public key fingerprint es un dígito de control que se obtiene a partir de nuestras claves, si tenemos el cliente de Chía en otro ordenador podemos comprobar que todo está correcto, buscando este número en la pantalla de login de la app de Chía. Si estos dos números no coindicen has hecho algo mal e al hora de introducir las claves.

Dentro del Docker

6. Iniciar la imagen de Docker

Ya hemos hechos toda la confogiración, nuestro Docker debería poder cosechar Chía sin problemas en las parcelas que hayamos configurado en nuestro NAS. Sólo resta arrancar la contenedor.

Iniciar del Docker

Recuerda que lo primero que tiene que hacer nuestro contenedor de Docker es descargarse el blockchain completo. Este proceso que ya sabemos que puede llevar hasta 2 días. Es recomendable que hagas esto lo primero antes de cultivar tus parcelas con este contenedor.

ANEXO / Miscelánea

Algunos comandos interesantes.

A. ¿Cuanto queda para que del Docker se sincronice con el blockchain de Chía?

Para saber en que punto de la sincronización del blockchain se encuentra el contenedor de Docker, accedemos pos SSH a nuestro NAS y entramos en nuestro contenedor de Docker.

Dentro del Docker

Ahora podemos ver el estado de la sincronización con el siguiente comando.

chia show -cs

Dentro del Docker

Este valor se corresponde con el campo height que puedes ver en la aplicación de Chía.

Dentro del Docker