Blog de Tecnología para padres «makers» de hijos con diabetes que disfrutan del cacharreo

Despliega Nightscout en Google Cloud de forma gratuita como alternativa a Heroku

He realizado una actualización de este artículo que se denomina «Despliega Nightscout en Google Cloud de forma fácil y sin coste mensual«. Te recomiendo que vayas a dicho artículo y lo leas en vez de este, pues es mucho más completo, está más actualizado y es más fácil de seguir.

Introducción

Estas últimas semanas se ha producido mucho revuelo en la comunidad por el anuncio de Heroku de pasar los servicios usados por Nightscout de ser gratuitos a ser de pago. Heroku es la plataforma de servicios Cloud de Salesforce. A partir del 9 de Noviembre del 2022 el coste de usar de estos servicios variará entre los 7$/mes (Heroku Dynos) y los 15$/mes (Heroku Data for Redis).

En la actualidad existen plataformas totalmente gestionadas como es el caso de  ns.10BE.de y donde no tienes que preocuparte de nada, pero por contra tienen un coste mensual de 4.99€/mes (Julio 22). Esto hace que la alternativa de seguir en Heroku sea incluso más cara que utilizar el servicio autogestionado ns.10BE.de. Existen también otras alternativas autogestionadas, como T1Pal Hosting, pero que tienen un coste todavía más alto de $11,99/mes.

Esto ha llevado a movilizarse a toda la comunidad Nightscout para encontrar una alternativa similar a Heroku que siguiera siendo gratuita y que les permitiera poder tener su propio Web Site con Nightscout sin tener que pagar un coste recurrente mensual.

En el momento en el que la comunidad se puso a trabajar surgieron varias alternativas que, a día de hoy, te permiten montar tu Web Site personal sin tener coste recurrente mensual. Si bien cualquiera de estas alternativas no nos asegura que cuando transcurra un tiempo, puedan volverse de pago como Heroku, pero sí que nos permiten seguir utilizando Nightscout sin tener que pagar una cuota de suscripción mensual. Podéis encontrar la documentación completa sobre todas las alternativas que se están probando en la comunidad Nightscout en este link.

De todos estos métodos, he seleccionado el método basado en Google Cloud para explicároslo en este artículo. Como explicaré a continuación, este método tiene una serie de ventajas frente a Heroku (como que no tiene costes mensuales) y algunas desventajas (no es PaaS, sino IaaS como luego os explicaré). Pero creo que es una buena alternativa para todos aquellos que no quieran soportar costes recurrentes y estén dispuestos a gestionarse ellos mismos su propia infraestructura de despliegue de Nightscout.

Pues sin más, vamos a pasar a la acción y os voy a explicar cómo montar vuestro Web Site particular de Nigthscout en Google Cloud y cómo vais a poder migrar los datos de vuestra instancia actual en Heroku a Google Cloud. A partir de ese momento podréis seguir funcionando con Google Cloud como hasta ahora con Heroku, sin tener que pagar una suscripción mensual y sin coste recurrente.

Tengo que dar las gracias a Jamorham, desarrollador principal de XDRip, pues este artículo está basado en el método que ha desarrollado él y que ha publicado en este link. ¡Muchas gracias!

Los contenidos que vamos a ver en este artículo son los siguientes:

¿Qué es el Cloud?

Antes de empezar con el tutorial de cómo montar Nightscout en Google Cloud, me gustaría explicaros algunos conceptos del mundo Cloud para que podáis entender bien el método que vamos a seguir y que sepáis lo que implica.

Para todos aquellos que no sepan qué es el Cloud, os lo intento explicar con algunos conceptos básicos y ejemplos. Antiguamente las empresas, cuando tenían que montar ordenadores para los trabajadores, servidores para procesar y almacenar datos y una red entre ordenadores para comunicarse, tenían que montar toda la infraestructura de red y hardware usando sistemas informáticos físicos que se denominaba «On Premise» (PCs, cables de red, servidores, routers, etc) Seguro que muchos de vosotros habéis visto en vuestras oficinas los famosos «CPDs» que era donde se alojaban armarios con ordenadores/servidores llenos de lucecitas que se encendían y apagaban según iban recibiendo o enviando datos dentro de la red. Seguro que también habéis visto muchos técnicos informáticos siempre interactuando con estos ordenadores y haciendo ellos mismos el mantenimiento de la infraestructura informática. Esto es un ejemplo de infraestructura «On Premise».

Infraestructura On Premise. Imagen cortesía de senivpetro en Freepik

Hoy en día, con el desarrollo de las comunicaciones gracias a las empresas de telecomunicaciones, estos «CPDs» que cada empresa antiguamente tenía que montar en sus oficinas, hoy en día pueden agruparse entre sí y montarse en edificios dedicados específicamente al procesamiento de datos y que llamamos «Data Centers». La gran ventaja que tienen los sistemas actuales es que toda la infraestructura informática puede deslocalizarse de las oficinas y utilizarse de la misma manera que antes, pero ahora sólo conectándote a través de Internet a estos Data Centers. El consunto de estos Data Centers es lo que se denomina «Cloud» y que grandes empresas como Google, Microsoft y Amazon han estado desplegando por todo el mundo. Se han construido Data Centers en distintas regiones del mundo que les permiten ofrecer servicios Cloud tanto a empresas como a particulares. El Cloud (o la nube) de Microsoft se llama Azure, la de Google se denomina Google Cloud y la de Amazon es Amazon Web Services (AWS).

La ventaja principal del modelo Cloud es que evita que tengas que invertir en la compra de equipos informáticos (CAPEX) y sólo pagues por el uso de lo que necesitas (OPEX). Esto implica que puedes beneficiarte del uso de cualquier servicio, accediendo al Cloud de cada operador (que tienen un catálogo inmenso) y pagando sólo por lo que usas.

Data Center Cloud. Imagen cortesía de rawpixel.com en Freepik

Estos operadores tienen lo que se denominan «Free Tier Services» que son servicios gratuitos que ponen las empresas de Cloud a disposición de sus usuarios principalmente para que aprendan a manejarse en entornos Cloud y que puedan desarrollar sus aplicaciones básicas sin tener que preocuparse por el coste del uso de los servicios.

En este artículo aprenderás a utilizar los «Free Tier Services» de Google Cloud para poder montar tu web de Nightscout.

Diferencia entre IaaS (Infraestructure as a Service), PaaS (Platform as a Service) y SaaS (Software as a Service)

Una vez que ya sabemos lo que es el Cloud, es importante saber la diferencia entre los distintos servicios que puede ofrecer el Cloud:

  • SaaS (Software as a Service): Software como servicio
  • PaaS (Platform as a Service): Plataforma como servicio
  • IaaS (Infraestructure as a Service): Infraestructura como servicio

Los servicios SaaS (Software como Servicio) se utilizan cuando el proveedor Cloud te da un servicio completamente gestionado donde lo único que quieres como usuario es utilizar software. El ejemplo más claro de este tipo de servicios es Office 365, donde para poder usar el Word o el Excel, basta con que te conectes a estos servicios a través de internet usando un explorador como Google Chrome. En nuestro caso del mundo de la diabetes, lo más parecido a este servicio es la plataforma LibreLinkUp de Abbot, a la cual nos conectamos por Internet y donde tenemos acceso a todos los datos de nuestras glucemias. También ns.10BE.de es un servicio de SaaS, donde el usuario paga una cuota mensual y se le provee de los servicios de Nigthscout. La ventaja de este tipo de sistemas es que no tienes que ocuparte de nada, pero a cambio tienes que pagar una cuota de suscripción mensual para poder utilizarlos, como es el caso de Office 365, el de LibreLinkUp (que en nuestro caso en España lo paga la Seguridad Social por nosotros) o el de ns.10BE.de (donde cada usuario se hace cargo de la cuota mensual). La desventaja principal de estos sistemas es que no son muy flexibles y en el momento que quieras hacer algo que no esté desarrollado y predefinido, no podrás hacerlo. Por ejemplo, la conectividad de LibreLinkUp con los relojes inteligentes, es algo que a día de hoy no es posible.

Los servicios PaaS (Plataforma como Servicio) se utiliza por los desarrolladores, cuando no quieren preocuparse por la infraestructura, sino sólo construir sus soluciones basándose en las aplicaciones que ofrece el proveedor Cloud (bases de datos, almacenamiento, etc). Para que lo entendáis bien, esto es lo que hacía Heroku que es la Plataforma PaaS de Salesforce y que utilizaba Mongo DB como base de datos no relacional para almacenar todos nuestros datos de glucemias. Estos servicios no son tan costosos como los de SaaS, pero implica que tienes que gestionar y mantener las aplicaciones que creas.

Y por última los servicios IaaS (Infraestructura como Servicio) son los más básicos de todos y consiste en que el proveedor de Cloud te proveed de la infraestructura de hardware para que tú construyas tus aplicaciones sobre ella. Esto te permite definir qué características va a tener esta infraestructura de memoria RAM, almacenamiento, etc. Lo cual te permite ajustar mucho los costes de las mismas. Por contra tiene que tienes que hacerte cargo de todo lo que no sea la propia infraestructura que desplegar, de la cual se ocupa el proveedor Cloud. Esta va a ser la opción que vamos a explicar en este artículo, pues nos va a permitir reducir el coste al mínimo usando el Free Tier que ofrece Google Cloud desplegando una infraestructura mínima, pero que es suficiente para montar Nightscout. Por contra va a implicar que nosotros nos tenemos que hacer cargo de todo lo que no sea la infraestructura (despliegue de aplicaciones, mantenimiento, ciberseguridad, etc). Pero para eso está este artículo, ¡para enseñaros a hacerlo!

Disculpad que me haya puesto el gorro de «profesor» en estos dos apartados del artículo, pero quería que conocierais los conceptos básicos del mundo Cloud y las implicaciones que tiene el uso de uno u otro sistema para el despliegue de Nightscout. Me gusta que entendáis el pro qué estáis haciendo las cosas y el motivo por el que unas son más costosas que otras. Así que, si estáis interesados en entender mejor estos conceptos y profundizar más, os recomiendo el artículo «Definición de IaaS, PaaS y SaaS ¿En qué se diferencian?» donde se explican estos temas en más detalle.

Uso de Google Cloud en modo «Free Tier»

Como comentábamos en el apartado anterior, vamos a desplegar nuestro Nightscout usando los servicios IaaS de Google Cloud. Estos servicios tienen lo que se denomina «Free Tier» y que es una configuración mínima de los servicios de infraestructura que se despliegan y que te permite que Google no te cargue ningún coste por el uso de los mismos. Esto está orientado a que los usuarios se puedan familiarizar con el uso de Cloud y que construyan sus primeras aplicaciones básicas sin tener que pagar un coste recurrente por ello.

Los servicios IaaS que están incluidos en este Free Tier podéis consultarlos en el Programa Gratuito de uso de Google Cloud.

Como podéis ver en la imagen anterior, Google incluye en estos servicios gratuitos la creación de nuestra infraestructura en las regiones de Oregón, Iowa y Carolina del Sur (a través de una máquina virtual e2-micro), poder tener un almacenamiento de datos persistente (no desaparecen los datos al apagar la máquina virtual) de 30Gbs (suficiente para nuestro caso) y 1 Gb de salida de datos de USA al resto de destinos desde Norteamérica (excepto a China y Australia).

Esto implica que podremos montar nuestra Web Nightscout en una máquina virtual e2-micro, que podremos almacenar los datos en su disco duro virtual de hasta 30GB y que podremos extraer datos para compartirlos con otros móviles hasta un máximo de 1GB/mes. Es muy importante que tengamos esto claro, pues si nos salimos de estos límites es cuando te empiezan a cobrar por el uso de los servicios, y ¡esto no es deseable para nada!

Como el tema de control de costes es muy importante, al final de este artículo vais a poder encontrar las conclusiones del análisis que he realizado tras llevar un mes con Nightscout desplegado en Google Cloud. En ese apartado os enseñaré a monitorizar el volumen de datos de salida, que depende del número de dispositivos que tengáis conectados a Nigthscout y que generen salida de datos de Norteamércia a otras partes del muno. Así conseguiremos evitar que supere el 1GB/mes e incurrir en costes inesperados.

En mi caso he creado mi Web de Nigthscout en Google Cloud el 24 de Septiembre y tras estar utilizándolo un mes hasta el 22 de Octubre, enviándole las medidas de glucosa desde XDRip y compartiendo con un seguidor en otro móvil, el coste ha sido cero. Os dejo un pantallazo del apartado de facturación donde podéis comprobarlo.

Es muy importante

Creación de un dominio para nuestra Web con «No IP»

¡Empezamos ya a meternos en harina! Para ello lo primero que vamos a hacer es crear un dominio específico para nuestra web (o DNS). Para que nos entendamos, esta será la dirección que tendremos que introducir en nuestro navegador web para poder acceder a la web de Nightscout. Será un nombre fácil de recordar y no una IP (dirección del tipo 192.168.x.x correspondiente a nuestra máquina virtual) lo cual siempre es deseable para que sea más sencillo su manejo.

En primer lugar, tienes que entrar en la Web de NoIP a través de este enlace.

Una vez que hayas accedido, tienes que pinchar en el botón verde de «Inscribirse» para crear una cuenta y, en la pantalla que se abre a continuación, tienes que introducir una cuenta de correo electrónico, una contraseña y el nombre que va a tener tu web de Nightscout. A continuación, pincha en «Registración Gratis. Apunta estos datos pues te van a hacer falta más tarde.

Te aparecerá una pantalla donde se indica que se ha creado satisfactoriamente el dominio, como la que figura a continuación.

Mira en el buzón de correo que introdujiste, pues te habrá llegado un email de NoIP que tendrás que confirmar para que se cree la dirección de DNS de tu Web de Nightscout. Es decir, el nombre fácil de recordar de tu Web.

En cuanto pinches en «Confirm Account» se te abrirá una pantalla de confirmación donde podrás ver un mensaje que te indica que tu cuenta está activada. ¡Enhorabuena!

Creación de un proyecto en Google Cloud

Una vez creada tu dirección fácil de recordad de tu Web de Nightscout con NoIP, vamos a crear nuestro proyecto en Google Cloud.

Para ello, lo primero que tenemos que hacer es crearnos una cuenta en Google Cloud a través de este enlace. Se abrirá una pantalla donde tienes que aceptar las condiciones del servicio que te muestran e indicar que el país es «España» (o el país en el que estéis).

Una vez que hayas hecho esto, podrás acceder a la consola de Google Cloud asociada a tu cuenta de usuario de Gmail.

Ahora vamos a crear nuestro primer proyecto en Google Cloud, para lo cual tendréis que pinchar en «Seleccionar un proyecto» y en la pantalla emergente que se te abre, pinchar en «Proyecto Nuevo».

Se te abrirá una pantalla a continuación donde tendrás que introducir el nombre de tu proyecto, en nuestro caso «digitaldiabetes» (o el nombre que tú quieras) y darle a «Crear».

En ese momento volverás a la consola principal de Google Cloud y verás una notificación arriba a la derecha al cabo de unos segundos que te indicará que se ha creado correctamente el proyecto «digitaldiabetes».

Ahora vamos a tener que seleccionar nuestro proyecto, para lo cual pincha en el menú lateral (tres rayitas horizontales arriba a la izquierda, tipo hamburguesa) la opción «Compute Engine» y en cuanto se abra la siguiente pantalla, pincha en «Seleccionar proyecto», y selecciona el proyecto que hemos creado antes y que se llamaba «digitaldiabetes». En este momento le habremos dicho a Google Cloud que vamos a trabajar en el proyecto «digitaldiabetes».

Una vez que tengamos seleccionado nuestro proyecto, es hora de crear nuestra infraestructura Cloud que va a soportar nuestra Web de Nigthscout. Vamos a crear nuestra primera máquina virtual en Google Cloud. Esta máquina virtual es como si fuera un PC donde vamos a ejecutar nuestro código para desplegar Nightscout, pero que en este caso es virtual (es un trocito del Data Center de Google) y estará alojada en Google Cloud.

Para crear esta máquina virtual, tendremos que habilitar la «Compute Engine API» en la pantalla que se abre a continuación, pinchando en «Habilitar».

En cuanto habilitemos esta API se nos abrirá una pantalla a continuación que nos pedirá que habilitemos la cuenta de facturación. Esto se debe a que Google Cloud te alquila cada trocito de Data Center que pone a tu disposición para que funcione tu máquina virtual. Por ello tendréis que pinchar en «habilitar facturación».

Y para poder habilitar la facturación, tendrá que crear una cuenta de facturación, por lo que en la pantalla siguiente tendrás que pinchar en «crear cuenta de facturación».

Llegado este paso, no te asustes. A pesar de que vamos a crear a continuación una cuenta de facturación, configuraremos la máquina virtual conforme a las especificaciones del Free Tier de Google, de tal manera que no nos carguen ningún coste en nuestra cuenta de facturación. Pero a pesar de esto, necesitamos crear una cuenta de facturación en Google Cloud para que te permite crear la primera máquina virtual.

En la siguiente pantalla tendrás que introducir tus datos de facturación: nombre, dirección y tarjeta de crédito.

Puedes ver en el lateral derecho que Google Cloud te dispone de 300$ para que al crear una cuenta por primera vez tengas saldo para poder probar y experimentar. Nosotros no vamos a usar ese saldo, pues lo que vamos a montar no tiene coste al estar en el Free Tier, pero no viene mal para tenerlo de colchón por si metemos la pata y hacemos algo que implique coste en algún momento. Hasta que no lleguemos a los 300$ no nos van a cargar nada en la tarjeta. Así que le pinchamos al botón de «Iniciar Prueba Gratuita».

A continuación, se abrirán unas pantallas donde Google Cloud te hará una encuesta preguntándote para qué has abierto esta cuenta. Puedes responder los que quieras, yo te dejo unos pantallazos para que puedas ver lo que yo he respondido.

Para terminar Google Cloud te ofrece la posibilidad de hacer un tutorial que te explique en qué consiste las opciones de «Compute Engine», pero nosotros vamos a darle a «Omitir por ahora». Si alguien quiere aprender más, puede verse los tutoriales si quiere 🙂

En este momento podremos ya por fin habilitar la Compute Engine API, para lo que tendremos que pinchar en el botón azul de «Habilitar».

Tras unos minutos, pasaremos automáticamente a la pantalla principal de «Compute Engine» donde en el siguiente apartado, podremos crear nuestra primera máquina virtual en Google Cloud. ¡Todo un logro!

Creación de nuestra Máquina Virtual (VM) en Google Cloud

En este apartado vamos a crear nuestra primera máquina virtual, pero antes vamos a recordar cómo tenía que ser esta máquina para asegurarnos de que va a estar en el Free Tier y que Google Cloud no nos va a cobrar por ella. Las características tienen que ser:

  • Región donde se va a desplegar: Iowa – us-central1
  • Tipo de máquina (Machine Type): e2-micro (2 vCPU, 1GB memory)
  • Tipo de disco de arranque (Boot Disk type): Standard persistente disk
  • Versión de sistema operativo (Version): Ubuntu 20.04 LTS Minimal
  • Salida de datos de Norteamérica hacia otras regiones (excepto China y Australia): inferior a 1GB por mes

Para aquellos que quieran asegurarse de que el coste de la máquina creada va a ser gratuito, os dejo un enlace a la calculadora de Google donde podéis configurar esta máquina virtual y comprobar que el coste está dentro del Free Tier y que es gratuito. Os dejo un link al presupuesto de Google Cloud obtenido en la calculadora y donde podréis ver cómo he hecho yo esa comprobación y me he asegurado de que el coste va a ser cero.

Un punto que es importante es que tengáis en cuenta que lo que está incluido en el Free Tier es una única máquina virtual de las características antes indicadas. Es decir, que si le tomáis cariño al hecho de crear máquinas virtuales y creáis varias en la misma cuenta, sólo será sin coste una de ellas. Ojo con este tema. Si montáis más de una máquina virtual en la misma cuenta, Google Cloud os cobrará un coste por ello.

Pues venga, vamos a ello. Seleccionad en la pantalla el botón azul de «Crear una instancia».

A continuación, se va a abrir una pantalla donde vamos a poder configurar nuestra máquina virtual. Para ello en primer lugar vamos a introducir su nombre «vmdigitaldiabetes» en minúsculas y todo junto (si te dice que el nombre ya está ocupado, cámbiaselo y ponle otro a tu gusto, ¡creatividad al poder!). Seleccionaremos la Región «us-central1 (Iowa)» y el tipo de máquina «e2-micro (2 vCPU, 1GB memory)».

Seguidamente vamos a configurar el disco de arranque, para lo que bajamos en la pantalla hasta que llegamos al apartado de «Disco de Arranque» y pinchamos en «Cambiar». Se abrirá un menú en el lateral que nos permitirá configurarlo. Seleccionamos como Sistema Operativo «Ubuntu» y como versión «Ubuntu 20.04 LTS» para x86/64, amd64 (ojo que hay dos opciones y hay que seleccionar ésta). El tipo de Disco de arranque «Disco persistente estándar» y en el tamaño ponemos 30GB. A continuación, pinchamos en «Seleccionar».

Ya sólo nos queda configurar el Firewall para evitar ningún acceso indeseado a nuestra máquina virtual, por lo que seleccionamos debajo del apartado de Firewall «Permitir tráfico HTTP» y «Permitir tráfico HTTPS».

Como ya lo tenemos todo configurado correctamente, le damos a «Crear»

En estos momentos se empezará a crear nuestra instancia y. tras pasados unos minutos, verán en la pantalla principal de Compute Engine que aparece nuestra primera máquina virtual «vmdigitaldiabetes». ¡Enhorabuena has alcanzado el primer hito!

Instalación de Nightscout en nuestra Máquina Virtual (VM)

Ahora que ya tenemos creada con éxito nuestra primera máquina virtual, es hora de instalar Nightscout en ella. Para ello pinchamos en la opción «SSH» que está en la columna «Conectar» de nuestra máquina virtual. Se abrirá una pantalla negra donde podremos acceder a la consola de comando del sistema operativo Ubuntu de nuestra máquina virtual. No os asustéis por la pantalla negra de comandos tipo Linux/MS-DOS, que os voy a guiar paso a paso en este apartado. Veréis lo fácil que es.

Lo primero que hay que hacer es, en la pantalla negra, al lado del nombre de nuestra máquina virtual que está en verde, copiar el siguiente texto y darle al intro:

curl https://raw.githubusercontent.com/jamorham/nightscout-vps/vps-1/bootstrap.sh | bash

Veréis que a continuación empiezan a salir automáticamente comandos y se empieza a instalar todo como por arte de magia. Este instalador es mérito de Jamorham, que nos evita tener que meter comandos y comandos de código, pues todo se hace automáticamente. Así que ¡muchas gracias Jamorham!

A partir de aquí puedes irte a tomar un café tranquilamente, pues la instalación puede llevar de 15-20 minutos. Así que ¡que aproveche!

Si durante el proceso te aparece un mensaje que dice «EINTEGRITY ending with (0 bytes)» y se queda colgada la pantalla sin avanzar, presiona las teclas «Control» y «C» para interrumpir la ejecución del código. Y vuelve a introducir la línea de comandos anterior «curl https://raw.githubusercontent.com/jamorham/nightscout-vps/vps-1/bootstrap.sh | bash». Si te es más cómodo puedes darle a la tecla de la flecha hacia arriba y te aparecerá este comando que introdujiste antes. Presiona el «Intro» y comenzará a ejecutarse otra vez. Esta segunda vez no debería aparecerte ningún error ni volverse a quedar colgado.

Una vez que se ha terminado la instalación nos pedirá en la pantalla negra que nos loguemos. En este momento es donde vamos a vincular esta instalación de Nightscout y esta máquina virtual creada en Google Cloud con el DNS que creamos en el apartado anterior en «NoIP». Para ellos introducimos los valores siguientes según nos los vaya pidiendo la consola:

  • Please enter login/email string for no-ip.com: introducimos aquí el email que usamos para crear el DNS en NoIP
  • Update interval: lo dejamos en 30.
  • Running command during update: seleccionamos «N»
  • Email address “used for urgent renewal …”: introducimos el email que queremos utilizar para que nos avise cuando haya que renovar la instalación
  • Terms of service: los aceptamos presionando «A»
  • Sharing email address: presionamos «N» para declinar compartir nuestro email
  • Redirect to secure https: seleccionamos esta opción presionando el «2». Esto es muy importante para acceder vía https y no tener nuestra instalación comprometida en ciberseguridad por no tener certificado.
  • Api Secret: aquí tenemos que introducir el password que usaremos para acceder a Nightscout. Es importante que lo anotes y guardes bien. Ten en cuenta que esta Api secret tiene que ser de al menos 16 caracteres. Si no lo defines así, no te dejará acceder a Nightscout, por lo que es importante que lo definas con al menos 16 caracteres.
  • Copia de base de datos antigua de Nightscout: Esta opción te permite traerte los datos de tu antigua instalación de Nightscout a esta nueva. Aquí hay que decirle que sí e introducir la dirección web de tu anterior web de Nightscout, como por ejemplo la que tenías desplegada en Heroku (por ejemplo: https://UserID.herokuapp.com). Esto te permite no perder tus datos anteriores.
  • Te preguntará si quieres utilizar un token para acceder a Nightscout. Es altamente recomendable que lo hagas para evitar tener abiertos tus datos al mundo. Cuando te lo solicite, introdúcelo y apúntatelo.

Una vez que hemos llegado hasta aquí, habremos finalizado la instalación de nuestro Nightscout en la máquina virtual creada en Google Cloud. Si has llegado hasta aquí, la verdad es que ¡tú sí que eres una máquina! 🙂

Configuración de Nightscout

Ya que lo tenemos todo listo y configurado, lo que nos queda es acceder a nuestra web de Nightscout que acabamos de crear. Para ello tendrás que acceder a través del DNS que creamos en NoIP. En mi caso sería este: «digitaldiabetes.hopto.org» que introduzco en el explorador. En ese momento se te abrirá una pantalla donde tendrás que introducir el Token que definiste en el apartado anterior para tu Web de Nightscout.

Si no te acuerdas de cuál era el DNS que definiste en NoIP, siempre puedes volver a acceder a su web y logarte. En el Dashboard verás la dirección de tu Web de Nightscout.

En este momento, y tras introducir nuestro token de acceso en nuestra web de Nightscout, podremos acceder y empezaremos a ver los datos de las glucemias históricos que hemos importado de nuestra versión anterior de Nightscout.

Este es el momento de empezar a enviar nuestros datos de las glucemias que leemos con el sensor Freestyle Libre 2 a nuestro flamante Nightscout nuevo que hemos creado. Esto lo podemos hacer utilizando la App XDRip o Diabox que tenemos instalada en el móvil de nuestra hija y apuntando hacia esta versión de Nightscout montada en nuestra máquina virtual de Google Cloud. Si tenéis dudas de cómo hacer esto, podéis consultarlo en estos dos artículos de Digital Diabetes:

Si en el futuro se te olvida el Token que definiste para poder acceder a Nightscout, a través de la consola de la máquina virtual vas a poder consultar cual fue el Token que introdujiste en el fichero de Variables del sistema.

Te indico cómo hacerlo. En primer lugar, dentro de Compute Engine, pincha en SSH debajo de conectar, en tu máquina virtual.

En cuanto se te haya abierto la pantalla negra de la máquina virtual, introduce el siguiente código en la línea de comandos:

sudo nano /etc/nsconfig

Verás que se te abre el editor de texto GNU nano 4.8 donde se te muestra el fichero con las variables del sistema de configuración de Nightscout. Verás que hay una variable que se llama API_SECRET. Este es el Token de acceso a Nightscout que definiste y con el que podrás acceder a Nightscout cuando introduzcas en el explorador de internet la dirección DNS que creaste en NoIP. Cierra la pantalla para poder salir de este fichero o dales a las teclas Control + X y no grabes las modificaciones.

Este es un truco que quería indicarte por si se te olvida en el futuro el token de acceso que definiste para entrar en Nightscout. ¡Créeme que es muy útil! Yo tengo «memoria de pez» y es muy necesario tener una vía alternativa para averiguarlo si se te olvida.

Configuración de Followers

Como comentábamos en el apartado anterior, es importante configurar la máquina virtual con las características del Free Tier para que Google Cloud no nos cobre cada mes.

Si recordáis, una de las características que debíamos respetar era esta:

  • Salida de datos de Norteamérica hacia otras regiones (excepto China y Australia): inferior a 1GB por mes

Las salidas de datos de nuestra máquina virtual donde se está ejecutando Nightscout se producen siempre que enviamos datos a otras aplicaciones, como cuando compartimos los datos con otros «Followers» o seguidores.

Por eso es muy importante, en primer lugar, proteger nuestro acceso a la Web de Nightscout con un Token, como hemos indicado en el apartado anterior. También es muy importante controlar el número de seguidores de Nightscout que tenemos y a los que les enviamos los datos, pues cada seguidor es una salida de datos y no debemos nunca sobrepasar el GB de datos enviados para evitar costes inesperados. Por lo tanto, mi recomendación es que administréis los usuarios que están accediendo a vuestro Nightscout y en caso de que nos pasemos en el envío de datos, eliminemos o modifiquemos las características de alguno de ellos para restringirlo y evitar estos sobrecostes. Y sobre todo ¡nunca dejéis Nightscout sin token totalmente abierto hacia el exterior!

Por poneros un ejemplo, si dejáis abierto Nightscout al mundo exterior sin token no podréis controlar la gente que puede conectarse a vuestra Web y por tanto os podéis encontrar la sorpresa que haya mucha gente «sacando» datos de vuestra web. Si superáis el monto total de 1GB/mes o si sacáis datos a China o Australia, Google Cloud os cobrará por ello.

Por eso mi recomendación es que siempre administréis desde Nightscout los seguidores con quienes queréis compartir datos. Os enseño a continuación cómo hacerlo.

Entrad en vuestra web de Nightscout y en la parte superior derecha hay un botón con tres rayitas horizontales (tipo hamburguesa) donde, si pincháis, se os abre un menú donde debéis pinchar en «Admin Tools».

En ese momento se os va a abrir otra pantalla donde podréis crear usuarios y administrar la manera en la que se pueden conectarse a Nightscout. Pincha en «Add new Subject» y en la pantalla que se te abre introduce el nombre (por ejemplo, Abuelo1), a continuación el Role de la lista de roles que hay debajo (por ejemplo, «redeable» para que sólo pueda leer lecturas de Nightscout) y luego una pequeña descripción de quién es para que luego os podáis acordar.

En cuanto le des a «Save» se creará ese usuario nuevo en la lista superior. Verás que hay un campo del usuario que se llama «Access Token». Este será el token que le daremos a este usuario para que pueda acceder a Nightscout. Esto nos va a permitir administrar los usuarios y dar de alta o baja usuarios en el futuro si hiciera falta.

Una vez que ya tenemos creado nuestro usuario, podemos empezar a conectar estos usuarios con nuestra Web de Nightscout para que se descarguen los datos de las glucemias. La forma en la que podéis hacerlo es a través de Apps instaladas en los móviles de los usuarios, como pueden ser XDRip, Diabox o Shuggah.

Es importante que tengáis en cuenta que, para poder dar acceso a los usuarios de forma gestionada a través del token, cuando os pida introducir la URL de Nightscout a seguir, debéis hacerlo de esta manera «https://Token@hostname» o de la siguiente «https://hostname/?token=Token». Es decir, en el ejemplo que estoy siguiendo sería de alguna de las siguientes maneras:

Para recordaros cómo se podían crear seguidores en cada una de las Apps, os pego a continuación los links a los artículos que tengo escritos en el Blog Digital Diabetes que explican cómo hacerlo:

Pues bien, si habéis llegado hasta este apartado ¡sois unos auténticos expertos! Ya tendréis Nightscout montando en Google Cloud y habéis podido compartir los datos de las glucemias con otros móviles usando cualquiera de las Apps disponibles. ¡Enhorabuena!

Creación de Alarmas para prevenir sobrecostes

Dicen en mi tierra (Canarias), que «hombre prevenido vale por dos». Y como el refranero es muy sabio, os voy a enseñar en este apartado cómo crear los mecanismos en Google Cloud para que, en caso de que tengáis cualquier problema y Google Cloud os empiece a cobrar por el despliegue que habéis hecho de Nightscout en una máquina virtual, podáis recibir una notificación con un mensaje que os advierta de que esto está pasando y podáis actuar en consecuencia para evitar que os puedan seguir cobrando.

Para ello vamos a utilizar la función que Goggle Cloud tiene en el apartado de «Facturación» (o Billing en inglés) para establecer un límite de consumo en Cloud para este proyecto y que os avise si se supera en caso de que pase cualquier cosa.

Así que volvemos a Google Cloud y pinchamos en las tres rayitas horizontales que hay arriba a la izquierda (menú hamburguesa) y en el menú que se despliega seleccionamos «Facturación».

Una vez que entremos en facturación, pinchamos en «Presupuestos y Alertas» y a continuación en «Crear Presupuesto»

Vamos a crear a continuación nuestra alerta de presupuesto para que en caso de que superemos un euro de coste al mes nos avise y podamos tomar remedio.

Introducimos en primer lugar el nombre que le vamos a dar a esta alerta, en mi daso «digitaldiabetesalerta» y pinchamos en «Siguiente».

Ahora introducimos el importe máximo para esta alerta. En «Importe Objetivo» introducimos el valor «1» que será el límite superior sobre el cual nos avisará si lo superamos. Pinchamos luego en «Siguiente» y a continuación en «Finalizar»

Saldréis en ese momento a la pantalla principal de Facturación donde podréis ver que se ha creado la alerta que hemos definido.

Os recomiendo que no os olvidéis de hacer este paso, pues al crear la alerta, en el caso de que hayáis hecho algo mal del tutorial, que Google decida cambiar las condiciones del «Free Tier» en el futuro y nos empiece a cobrar por ello, o incluso que hayamos tenido una gran salida de datos de nuestra máquina virtual (mayor de 1GB que soporta el free tier), recibiremos una notificación en el email que está asociado a esta cuenta de Google Cloud indicándonos que se ha rebasado el límite superior del presupuesto y por tanto podéis tomar medidas para evitar que esto continúe pasando.

¿Y qué medidas podemos tomar en caso de que nos llegue una alarma de presupuesto sobrepasado? Pues lo primero que hay que hacer es detener la máquina virtual para evitar que siga produciéndose coste. Esto lo podéis realizar en el apartado de «Compute Engine» de Google Cloud y pinchando sobre vuestra máquina virtual en los tres puntitos que hay al lado. En el menú que se despliega, pinchad en «Detener» y la máquina virtual se «apagará» y dejará de funcionar. Esto evita que nos puedan seguir cobrando por el «alquiler» de la misma.

Si hubiera cualquier problema más adelante, podríamos incluso llegar a borrar la máquina virtual pinchando en «Borrar». Pero eso no os lo recomiendo de momento salvo que os hayáis equivocado en la configuración y queráis empezar el proceso de creación de la máquina virtual de nuevo, pues esto implica que se borra toda la información que estuviera en la máquina virtual hasta ahora y no podréis acceder nunca más a ella.

Muy importante este apartado para evitar sustos. Google Cloud es una herramienta muy útil y nos puede ayudar mucho a tener nuestro Nightscout en Free Tier, pero tener alertas activas de facturación para que, en caso de cualquier problema, nos avise, es una recomendación muy sana. Ya sabéis «hombre (o mujer) previnid@, vale por dos» 🙂

Ciberseguridad

Cuando la semana pasada comenté en los grupos de Facebook que iba a publicar un artículo sobre cómo montar Nightscout en Google Cloud sobre una máquina virtual, pude ver algún comentario que apuntaba a lo importante de que nuestro despliegue en Cloud fuera ciberseguro. Entre otras cosas para evitar que alguien pudiera tomar control de nuestra máquina virtual y usarla para otros fines no deseados.

Esto me llevó a revisar junto con un amigo (muchas gracias, Miguel Díaz) el desarrollo que había hecho Jamorham y la configuración del despliegue y la verdad es que en resumen nos ha parecido que la configuración es segura.

No hemos entrado en detalle a revisarnos el código, pero sí hemos visto varias cosas que nos hacen pensar que el despliegue es seguro:

  • En primer lugar, si el acceso a Nightscout se configura siempre a través de Tokens (como hemos indicado en este artículo), podemos tener la tranquilidad de que nadie puede acceder a nuestro Nightscout sin un token que le hemos dado nosotros. Esto evita que tus datos estén expuestos al «mundo mundial»
  • En segundo lugar la conexión que se realiza a través de SSH está protegida por un token , lo cual hace que sea muy difícil que nadie pueda vulnerar nuestra seguridad.

Por lo tanto, a priori parece que la única manera de poder acceder a nuestro Nightscout es o bien por «fuerza bruta» (para lo que necesitarán varios años para hacerlo) o en el hipotético caso de que hubiera un bug en el código de Jamorham. Por lo que creo que por este lado podemos estar tranquilos de que es muy difícil que suframos un ciberataque a nuestra Web de Nightscout.

Estimación de consumo de «egress» mensual en Google Cloud.

Tras llevar un mes con Nightscout desplegado en Google Cloud he podido comprobar en el apartado de facturación que no he incurrido en ningún coste. Lo cual son buenas noticias. Pero esto lo he comprobado a posteriori, después de llevar un mes con esta configuración montada y sería bueno poder contar con un método que nos permitiera estimarlo a priori, antes de que pase un mes, para evitar el riesgo de incurrir en coste.

En mi caso creé mi Web de Nigthscout en Google Cloud el 24 de Septiembre del 2022 y tras estar utilizándolo un mes hasta el 22 de Octubre, enviándole las medidas de glucosa desde XDRip en el móvil de mi hija a Nightscout en Google Cloud y descargando los datos en mi móvil actuando como seguidor, el coste ha sido cero. Os dejo un pantallazo del apartado de facturación donde podéis comprobarlo.

Sin embargo es importante tener en cuenta que muy probablemente nos interese tener no sólo un seguidor descargando datos de Nightscout, sino también querremos ver estos datos en otros móviles (como el de mi mujer o el de los abuelos) e incluso conectarlos a un reloj inteligente o incluso a algún dispositivo adicional como el M5STACK.

En estos casos, es importante tener en cuenta la salida de datos al cabo de un mes que se produce desde nuestra máquina virtual que hemos desplegado en la región de Norteamérica a otras regiones en el mundo, como en nuestro caso a Europa.

Para ello os voy a enseñar cómo estimarla para que podáis anticiparos y evitar cualquier tipo de susto que os llegue como un coste inesperado a final de mes.

En primer lugar vamos a utilizar las herramientas que Google Cloud nos provee para monitorizar nuestra máquina virtual. Para ello tenéis que escribir en la caja «Buscar» en la parte superior de la pantalla en la consola de Google Cloud, la palabra «monitoring» y seleccionar la opción «que se muestra»Monitoring». Así vamos directamente al apartado de monitorización de Google Cloud.

Una vez que estemos allí, hay que pinchar en las opciones a la izquierda en la que pone «Metric Scope» y en la pantalla que se abre, seleccionad el nombre de vuestro proyecto. En mi caso «DanielDiabetes».

Ahora vamos a seleccionar nuestra máquina virtual y vamos a abrir el gráfico que monitoriza la salida de datos (egress). Selecciona «Explorador de Métricas» y luego pincha en «Selecciona una métrica». En ese momento se te abre un menú, donde tienes que seleccionar «VM instance» (nuestra máquina virtual), luego «VM_flow» (flujo de datos en una máquina virtual) y finalmente «Egress_bytes» (salida de datos desde nuestra máquina virtual)

A continuación tenemos que configurar nuestra gráfica de datos, por lo que en el apartado «How do you want to view the data?» selecciona en «Group_by» la opción «remote_location_type» para decirle que tenga en cuenta los datos que se envían a una localización remota. En «Aggregator» selecciona la opción «mean» (media) y en «Minimum alignement period» selecciona «1 minuto». Esto lo hacemos para que la gráfica tome intervalos de puntos cada minuto, sustituyendo los datos de ese minuto por el valor promedio de todos los datos en ese intervalo de 1 minuto.

En la parte derecha-superior de la pantalla pinchad en «Custom» y seleccionad un intervalo de tiempo que vaya desde la mitad de una hora a otra, por ejemplo desde las 07:30 a las 8:30h y veréis en el gráfico a la derecha que os aparecerá una serie de líneas que marcan la velocidad de salida de los datos en ese intervalos de tiempo, medidos en KiB/s o lo que es lo mismo kibs (kibibyte/sec). Seleccionad abajo la que pone «External». Si os parece «Google Internal» no los seleccionéis, pues no computa para nosotros, pues son datos internos dentro de la región (en mi caso se debe a que he instalado un agente para monitorizar mi VM, por eso no hay que contarlo).

Si os fijáis en la gráfica, se ve que Nightscout envía a los móviles de nuestros seguidores datos aproximadamente cada 5 minutos, por lo que os aparecerán picos en esa línea de la gráfica cada 5 minutos.

Para poder hacer una estimación de cuanto sería la cantidad de datos que salen de nuestra máquina virtual (egress) al mes, lo que he hecho es tomar de la gráfica cada 5 minutos los valores que tiene en el pico y anotarlos en una tabla de Excel. Por ejemplo en la gráfica superior podéis ver que a las 8:00h teníamos un valor de 5,62KiB/s o lo que es lo mismo 5,62kibs.

Si incorporamos todos los valores de los picos cada 5 minutos en una tabla de excel, para calcular cuánto es el total de KiB que tenemos en 1 minuto, tenemos que multiplicar por 60seg/min todos estos valores que hemos obtenido de la gráfica y que representan el valor medio de KiB/s por cada minuto. Para calcular cuantos Kib tenemos en un mes, hay que multiplicarlos por 60min/h, por 24h/dia y por 30días/mes. Una vez que tengamos el valor total de los Kib/mes (en mi ejemplo 326.592 Kib/mes) para pasarlos a MB debemos multiplicarlo por 0,001024 MB/Kib, lo que nos da en mi ejemplo un total de 334MB/mes.

Esto significa que con las conexiones que tenemos ahora extrayendo datos de nuestra máquina virtual donde está Nightscout, estaríamos consumiendo al cabo de 1 mes 334 MB (Megabytes) de datos. Como lo máximo que no deja Google Cloud es consumir 1GB (Gygabyte) de datos, significa que estamos aproximadamente consumiendo 1/3 del límite máximo y por tanto no lo superaríamos, lo que nos permite estimar que no vamos a tener coste adicional al mes por «egress» de datos en Google Cloud.

Este método nos va a poder permite calcular para la configuración que queráis y que estéis usando en cada momento, la previsión de datos que van a ser consumidos al mes de «egress». Es decir, que si tenemos dos seguidores (padre y madre), más un reloj inteligente conectado a Nightscout y un M5STACk también conectado a Nightscout, la mejor manera de predecir si vamos a pasar o no el límite de Google Cloud es montarlo todo, tenerlo funcionando conectado a Nightscout en Google Cloud durante al menos una hora y utilizar este método para estimar el consumo al mes, comprobando que no superamos 1GB/mes.

Sé que el método no es muy sencillo, pero dándole bastantes vueltas es la mejor manera que se me ha ocurrido de poder hacer una estimación aproximada del consumo de «egress» al mes y poder tener por lo menos quedarnos tranquilos de que no vamos a superar el límite del 1GB del Free Tier de Google Cloud.

Reactivación del Dominio de nuestra Web «No IP»

Tras llevar en torno a un mes con mi despliegue de Nightscout en Google Cloud funcionando perfectamente, de repente un día dejó de funcionar y empecé a recibir mensajes en XDRip de error diciendo que no podía subir las medidas de glucosa de mi hija a Nightscout.

Me conecté a Google Cloud y pude comprobar que la máquina virtual estaba funcionando correctamente y si pinchaba en la IP Externa (ver imagen abajo) sí podía entrar en Nightscout a través de su Web.

Sin embargo, si escribía mi dirección más «amigable» con la que solía acceder a Nightscout hasta ahora «***********.ddns.net», no me permitía acceder a Nightscout y me daba un error. Claramente se debía a que algo estaba pasando con el servicio de No-IP que nos traducía la IP externa de nuestra máquina virtual en ese nombre más amigable.

Así que me conecté a la web de «No-IP» para ver cuál era el problema y pude comprobar que esta web, como estamos usando un servicio no de pago, te pide que confirmes tu dirección de DNS de manera periódica. Esto no tiene ningún coste, pero implica que cada vez que te pase, tienes que entrar en la Web de No-IP y confirmarles que sigues usando esa dirección de DNS. En el momento que se lo confirmas, todo vuelve a funcionar perfectamente.

Os indico los pasos que tenéis que seguir para confirmar vuestra dirección de DNS.

En primer lugar hay que acceder a la web de No-IP a través de este link y debéis pinchar en la opción «DNS Dinámico» para que se os abra un desplegable.

A continuación debéis pinchar en «No-IP Hostnames» y veréis que os dice que vuestra dirección de DNS no está confirmada y que ha expirado hace varios días. Por lo que tendréis que pinchar en el botón verde de «confirmar».

A continuación tenéis que seguir todos los pasos confirmándole que queréis reactivar el DNS.

Ya una vez que le hayáis confirmado varias veces que queréis confirmar vuestra dirección de DNS y no queréis hacerlo pagando (OJO, no os equivoquéis) os dirá que lo ha reactivado exitosamente.

A partir de ese momento, ya podréis volver a utilizar vuestro nombre «amigable» de la web de Nightscout y todo volverá a funcionar con normalidad.

Sé que esto es un fastidio y que tener que reactivarlo cada poco tiempo es un rollo, pero la verdad es que si no queremos que nos cueste nada, es la manera de hacerlo.

Conclusiones

Una vez llegados a este punto, creo que puedo afirmar con total tranquilidad que ya sois unos expertos en el despliegue de Nightscout en Google Cloud. Y no sólo eso, sino que por el camino habéis aprendido lo que es el Cloud y a desplegar vuestra primera máquina virtual en IaaS en Google Cloud. ¡Creo que os podéis sentir muy orgullosos!

He intentado con este artículo explicaros paso a paso cómo poder resolver el problema que ha surgido estas pasadas semanas con el anuncio de Heroku de pasar a ser de pago a partir de Noviembre.

Por lo que espero que con esta solución podáis volver a disfrutar de Nightscout como antes, sin tener que pagar una cuota de suscripción mensual, gracias a Google Cloud y a la posibilidad que nos da de poder usar su servicio de máquina virtual en Free Tier.

Así que nada más. Os mando un abrazo muy fuerte a todos desde Digital Diabetes y os espero en el próximo artículo del Blog.

Daniel

63 respuestas a “Despliega Nightscout en Google Cloud de forma gratuita como alternativa a Heroku”

  1. Muchas gracias por la labor. Lo he leído y el «guia burros» me parece relativamente fácil. Ahora solo hay que encontrar un hueco para realizar la máquina virtual.
    Yo hasta ahora usaba la cuenta con heroku para poder ver en la pulsera myband la glucemia, (lo envío desde DIABOX)por lo que podré seguir haciéndolo y solo habrá un seguidor y será en principio sin coste por lo que he entendido, pero mi pregunta es si entro a consultar a través de mi acceso a mi web de NIGHTSCOUT, eso también tendrá tráfico de salida verdad? Solo por curiosidad….
    Seguiré leyendo alguno de los links que nos has brindado.
    *En definitiva, muchas gracias por tu labor, tu tiempo y explicaciones.*

    Me gusta

    • Hola Mercedes. La configuración desplegada para Nightscout en Google Cloud está pensada para estar en free tier. La máquina virtual está pensada para que así lo sea cada mes. Lo único que podría tener coste si se supera 1GB/mes es la salida de datos de la máquina virtual. Para saber si tu configuración tendría coste, lo mejor es probar y tenerla un mes funcionando. Si tiene coste lo verás en Facturación. Aunque tenga coste, Google Cloud ofrece 300$ de salgo gratuito los primeros 90 dias, por lo que no te afectarán al bolsillo las pruebas. De cualquier manera 1GB de salida de datos es mucho, por lo que un seguidor y consultas de vez en cuando a la web no deberían a priori hacerte pasar el límite. De cualquier manera, mi consejo es que pruebes y monitorices el consumo al cabo de un mes. Sj no tiene coste (lo más probable) pues ya lo tienes resuelto!. Espero que te haya servido de ayuda! Abrazos. Daniel

      Me gusta

  2. La verdad es que a algunos nos pilla un poco mayorcitos para estas cosas, pero cuando la necesidad aprieta…

    Mil gracias por vuestro trabajo, un artículo muy completo.. me ha dado ganas de apuntarme a alguna certificación de AWS, Azure o Google Cloud, después de esto ^_^

    Me gusta

  3. Daniel, impresionante articulo. A pesar de estar acostumbrado al ámbito informático, se agradece la sencillez con que explicas las cosas. Enhorabuena y en cuanto tenga un rato me pongo a ello.

    Me gusta

  4. Hola muy buena explicación. He seguido todo al pie de la letra pero a la ahora del paso final poner en mi navegador el host que había creado, me da el siguiente error 502 BAD GATEWAY. Y no consigo entrar en nightscout. Me puedes decir a que se debe

    Me gusta

    • Hola Luis, la verdad es que ese error no lo había visto nunca, pero tiene toda la pinta de que la versión de Ubuntu que has instalado en la máquina virtual no ha sido la que indico en el articulo: Versión de sistema operativo (Version): Ubuntu 20.04 LTS Minimal

      Porfa, chequéalo porque si no instalas esta versión  probablemente te cobren.

      Espero que te sirva de ayuda!

      Abrazos 

      Daniel

      Me gusta

  5. Maravilloso. El artículo es increíble. Gracias por el cariño que le has dedicado. El detalle con el que lo cuentas todo, la capacidad que tienes para explicar cada paso a la vez que haces que aprendamos y que no sigamos los pasos «como robots» sino sabiendo lo que hacemos en cada uno es increíble. Gracias por dedicar tu tiempo a que tanta gente podamos llegar a conseguir cosas tan útiles e interesantes como esta. He seguido los pasos uno a uno y por fin … tengo el NightScout funcionando en el Google Cloud. Sigue compartiendo con nosotros tus experiencias por favor!! Un abrazo

    Me gusta

  6. Hola Daniel. Tengo otra duda. En el artículo dices que el tipo de disco de arranque (Boot Disk type) ha de ser Standard persistent disk. Sin embargo, en la calculadora para calcular el precio, elegiste el Balanced persistent disk. ¿Cuál es el que hay que poner? Yo creé la máquina con el Standard. Si estuviese mal, ¿se puede corregir y cambiar? ¿O tendría que eliminar la vm y crear otra nueva? ¡Gracias!

    Me gusta

    • Hola @Siu, tienes toda la razón del mundo. ya he actualizado el link del artículo con el nuevo presupuesto de la calculadora considerando una Standard Persistent Disk. No hay variación en el coste, pues sigue siendo cero. Lo importante es que la VM la crees con el Standard Persistent Disk que es el que está considerado en el Free Tier de Google Cloud. Gracias por advertírmelo! Abrazos. Daniel

      Me gusta

  7. Hola. Por más que lo intento me sale un error al final que dice:

    > nightscout@14.2.5 generate-keys /srv/nightscout-vps
    > node bin/generateRandomString.js >tmp/randomString

    if [ ! -d /usr/local/bin ]; then mkdir -p /usr/local/bin;fi
    if [ ! -d /usr/local/etc ]; then mkdir -p /usr/local/etc;fi
    cp noip2 /usr/local/bin/noip2
    cp: cannot create regular file ‘/usr/local/bin/noip2’: Text file busy
    make: *** [Makefile:30: install] Error 1
    Can’t locate configuration file /usr/local/etc/no-ip2.conf. (Try -c). Ending!

    Could not determine host name – did no ip dynamic dns install fail?
    Cannot continue!

    Finished running installer

    Me gusta

    • Pues vaya Jorge. Ya lo siento. Algo debes haber hecho en el proceso que hace que te de este error. Yo intentaría empezar de nuevo de cero, borrando la VM. Estoy trabajando de todas maneras en otra guía para desplegar Nightscout en Azure. Si no puedes con Google Cloudz quizás Azure te pueda valer como alternativa. Abrazos. Daniel

      Me gusta

  8. Ya he creado mi NightScout en Google!!! Todo perfecto con tus instrucciones. Ya la estoy actualizando desde xDRIP. Supongo que ahora puedo borrar la máquina que tengo en Heroku con MongoDB, ¿no?

    Me gusta

  9. Hola Daniel, una vez más infinitas gracias por todo este trabajo.
    Al leer los comentarios me surge una duda. Hasta ahora veía los datos de nightscout poniendo en el explorador https……..herokuapp.com ; después de usar tu guía para cambiar a Google Cloud iba a usar ahora https……hopto.org ; pero es necesario que use la nueva o puedo seguir con la misma de Heroku?

    Y otra duda, cuando pasado el tiempo veamos que funciona correctamente habría que darse de baja de la página de Heroku o como no hemos dado permiso para que nos empiecen a cobrar directamente nos dan de baja ellos?

    Me gusta

    • Hola Vanesa. Una vez que te has creado en Google Cloud tu web site de Nightscout ya puedes entrar con esa dirección web. La de Heroku entra en la antigua.
      Yo me daría de baja de Heroku cuando vaya a llegar el momento en el que vayan a cobrar. Así te da tiempo a estar un tiempo en Google Cloud y verificar que con tu configuración no te cobran. Abrazos. Daniel

      Me gusta

  10. lo siento pero algo estoy haciendo mal en el último paso. En la imagen u´ltima de la instalación de la pantalla negra a ti te aparece el mensaje:
    finished running installer
    danielgarcia´……..

    y sin embargo a mi me sale el siguiente:
    lines 1-24/24 (END)

    Por favor podrías ayudarme, siento que estoy a un paso y no me deja seguir. Muchas gracias

    Me gusta

  11. Hola Daniel,

    Tengo una duda en un inicio cuando se crea de NO-IP veo en tu ejemplo que la creaste como «digitaldiabetes.ddns.net» pero ya al final mencionas que es «digitaldiabetes.hopto.org», cual es el dominio correcto a elegir en NO-IP??

    Gracias

    Me gusta

  12. Buenas tardes José Daniel.

    Necesito que por favor me indiques donde puedo encontrar el siguiente paso:

    Redirect to secure https: seleccionamos esta opción presionando el «2». Esto es muy importante para acceder vía https y no tener nuestra instalación comprometida en ciberseguridad por no tener certificado.

    Tras presiona «N» se me ha ido directamente a la opción de API SECRET.

    (Adjunto fotografía) Gracias de antemano.

    Me gusta

  13. Hola de nuevo.
    Una vez realizado todos los pasos (adjunto foto del resultado final), al entrar en la web de nightscout creada con hopto (en tu ejemplo digitaldiabetes.hopto.org)
    no logro que se vean los datos, uso Diabox y supuestamente está bien integrado (realizo prueba de conexión y me dice que está correcto).
    ¿En qué me he podido equivocar?
    Como puedes ver hace 37 minutos que no recibo datos, justo en el momento en que cambié la url a seguir en Diabox de Heroku a
    Hopto
    Muchas gracias.

    De: Isabel Junquero i_junquero@hotmail.com
    Enviado: martes, 25 de octubre de 2022 17:44
    Para: Digital Diabetes comment+r14bw_zien86nztbo_561y98@comment.wordpress.com
    Asunto: RE: [Nueva entrada] Despliega Nightscout en Google Cloud de forma gratuita como alternativa a Heroku

    Buenas tardes José Daniel.

    Necesito que por favor me indiques donde puedo encontrar el siguiente paso:

    Redirect to secure https: seleccionamos esta opción presionando el «2». Esto es muy importante para acceder vía https y no tener nuestra instalación comprometida en ciberseguridad por no tener certificado.

    Tras presiona «N» se me ha ido directamente a la opción de API SECRET.

    (Adjunto fotografía)
    Gracias de antemano.

    Me gusta

    • Hola Isabel. No veo la imagen que me mandas. Pero por lo que indicas probablemente no tengas correctamente direccionado Diabox hacia la nueva instancia creada. Porfa chequea que lo has hecho tanto con la URL como con el token (API secret) que has usado en el proceso. También chequea la escritura de la misma. Te pego el trozo del artículo donde explicaba como hacerlo:
      Es importante que tengáis en cuenta que, para poder dar acceso a los usuarios de forma gestionada a través del token, cuando os pida introducir la URL de Nightscout a seguir, debéis hacerlo de esta manera «https://Token@hostname» o de la siguiente «https://hostname/?token=Token». Es decir, en el ejemplo que estoy siguiendo sería de alguna de las siguientes maneras:

      https://abuelo1-18abc020c90130b8@digitaldiabetes.hopto.org

      https://digitaldiabetes.hopto.org/?token=abuelo1-18abc020c90130b8

      Abrazos. Daniel

      Me gusta

      • Buenos días.

        Hay algo en lo que creo que me he perdido. Estoy montando Diabox con los datos de MASTER (primero lo voy a hacer para mí misma y cuando lo haya conseguido lo montaré para mi hijo que sí necesita seguidor), y no veo cuál es la manera de definir la URL de Nigthscout que tengo que poner en DIABOX. He vuelto a leer el artículo y la respuesta que me has dado, pero entiendo que eso es para los seguidores (aún así lo he intentado pero no me funciona). Hay algo que no sé si puede influir, cuando entro en la web de nigtscout no me deja entrar con el TOKEN ya que dice que es demasiado corto pero SÍ puedo entrar con la API secret. Muchas gracias por todo, de verdad que es de agradecer el trabajazo que haces. Un saludo.

        Me gusta

  14. Hola. Muy buen aporte!
    Tengo una duda.
    Como puedo customizar la pagina de nightscout creada? Y no me refiero a poderlo hacer una vez la abres en un dispositivo en concreto cambiando el formato de 12 a 24h, cambiandole el nombre, cambiando los colores…
    Si no, eso mismo pero que se quede como por defecto para cada vez que se abra esa dirección de no-ip en cualquier navegador de cualquier dispositivo.
    Gracias

    Me gusta

  15. Hola Daniel,

    Tengo una duda en un inicio cuando se crea de NO-IP veo en tu ejemplo que la creaste como «digitaldiabetes.ddns.net» pero ya al final mencionas que es «digitaldiabetes.hopto.org», cual es el dominio correcto a elegir en NO-IP??

    Gracias

    Me gusta

  16. Hola Daniel, en primer lugar quería darte las gracias por el gran trabajo que has hecho para todos nosotros.
    He seguido el proceso hasta el apartado Configuración de NightScout. A partir de ahí hablas de como seguir para Freestyle Libre 2 pero en mi caso el sensor que utiliza mi hija es Dexcom G6. ¿Como sería el proceso a seguir?
    Por otro lado, cuando he accedido a mi página xxxx.hopto.org he comprobado que no se reciben los valores de las glucemias. Si entro en xxxxcgm.herokuapp.com sí se ven. ¿es posible que no haya realizado correctamente alguno de los pasos?
    gracias por adelantado
    Daniel

    Me gusta

  17. Hola, muchas gracias por tan buen manual, sigue asi que nos ayudas muchisimo, lo dicho mil gracias, quiero comentar una cosilla porque yo tuve problemas al realizar dicho manual es lo siguiente cuando tengamos que porner en el movil (master) y en el movil (seguidores) lo de el api y el nombre, teneis que porner lo siguiente yo tengo puesto lo mismo en el master como en los seguidores htpps://API SECRETO@NOMBRE DE LA PAGINA DE FREEDNS/api/v1/
    ejemplo htpps://proyectodiabetes1234@juanito.mooo.com/api/v1/. Lo comento porque yo hasta que di con ello me costo porque no se me conectaba con el XDRIP los seguidores, si teneis alguna duda preguntarlo y seguro que entre todos podemos ayudarnos. Un saludo y muchas gracias por este manual tan bien explicado.

    Me gusta

  18. Buenas tardes Daniel.
    No he conseguido solucionar los problemas con el medio de pago. En tu respuesta del otro mensaje me dijiste que me pusiera en contacto con Google pero no hago más que dar vueltas por la página de asistencia y no soy capaz de encontrar la forma de contactar.
    ¿Sabes de algún teléfono o email donde lo pueda hacer?
    Un saludo y gracias de nuevo.

    Me gusta

    • Hola Lourdes. A mi me salió un mensaje diciendo que me responderían en unos días, pero no he recibido nada. Mi recomendación es que crees una cuenta nueva de Google e introduzcas otra tarjeta como método de pago. Si empiezas de cero no deberías tener problema. Abrazos. Daniel

      Me gusta

  19. Hola de nuevo sigo intentandolo y no puedo. Me aparece una pantalla de configuracion de xdrip con 13 menus y por mas que trato de poner el dominio echo en Noip no me lo acepta, porfas ayudame

    Me gusta

  20. Hola. Gracias por compartir tu conocimiento. Hago todo tal cual pero cuando pongo la dirección del url que proporiconaste comienza a instalar todo pero no me da la opción de poner usuario y contraseña. Salta una ventana de configuracion de Xdrip com 12 opciones y aunque ya lo he intentado no logro hacerlo.

    Me gusta

  21. Buenas tardes,
    Lo primero darte las gracias Daniel
    Muy currado él tutoríal y súper buen explicado incluso para mi quesito torpe.
    Estoy desesperada no lo consigo
    Y mi hijo me ha cerrado todas las pantallas por dónde iba y ya no sé cómo seguir

    Tengo dominio y su dominio creado
    Máquina virtual tb hasta paso 10 que me daba error
    Que hago??
    Empiezo de 0
    Por favor llevo un mes casi y nada….
    Gracias de antemano

    Me gusta

Replica a Sofía Cancelar la respuesta

Blog de WordPress.com.