Instalar y Configurar KoboToolbox con Docker

Inicio

KoboTools, es una herramienta diseñada, para la recolección de datos de manera eficiente y rápida en el campo, es decir, esta diseñada para ser utilizada en zonas con o sin conexión a internet, pensada para la recolección de información a base de un formulario para su posterior análisis, el cual puede realizarse desde las mismas herramientas que proporciona el Software o exportando la información.

Herramienta muy útil en el caso de que se desee realizar algún tipo de encuesta y capturar inmediatamente la información, contiene opciones para que las respuestas sean de tipo abierto, de opción múltiple, gráficas o coordenadas en un mapa, todas estas combinaciones permiten desarrollar un formulario/encuesta de gran calidad y con la ventaja de poder aplicarlo sin la necesidad de una conexión permanente a internet.

KoboToolbox permite su uso a partir de una cuenta para organizaciones humanitarias sin limites, aparte de eso existe la opción de instalación en local por medio de docker, de la cual se trata este tutorial.

En este tutorial el texto se escribe de la siguiente manera, para ser mas entendible y ordenado, se separan los procedimiento en “pasos” en numerados, al inicio esta herramienta  es muy útil en el caso de que se desee realizar algún tipo de encuesta y capturar inmediatamente la información, contiene opciones para que las respuestas sean de tipo abierto, de opción múltiple, gráficas o coordenadas en un mapa, todas estas combinaciones permiten desarrollar un formulario/encuesta de gran calidad y con la ventaja de poder aplicarlo sin la necesidad de una conexión permanente a internet. cada “paso” se da un pequeño resumen de lo que se intenta realizar con los comandos en él, a continuación se explica de manera ordenada en lista, que es lo que realiza cada comando que se ejecutara y por ultimo se muestra los comandos utilizados en un ejemplo practico.

Para este tutorial se utilizó el sistema operativo Debian en su rama estable, siendo root en todo momento.

Paso 1

El primer paso es instalar las dependencias y la versión comunitaria de Docker,la cual se le conoce como docker-ce

- Actualizar los repositorios
- Instalar las dependencias necesarias
- Descargar la clave gpg de docker-ce desde su pagina oficial y agregarla al anillo de apt
- Añadir los repositorios de docker-ce al source.list
- Actualizar la base de datos con el repositorio nuevo agregado.
- Por ultimo instalar docker-ce
apt update

apt install apt-transport-https ca-certificates curl 

gnupg2 software-properties-common git

curl -fsSL https://download.docker.com/linux/debian/gpg |  apt-key add -

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

apt update

apt install docker-ce

Paso 2

Lo siguiente sera instalar una “extensión” de docker, llamada docker-compose.
Explicación por orden de los comandos:

- Descargar la versión de "docker-compose" a usar, ubicando el archivo descargado en la carpeta adecuada(/usr/local/bin), favor de revisar la nota antes de los comandos y de ser necesario modificar este ultimo.
- Dar permisos de ejecutar el archivo descargado como un programa (hacerlo ejecutable).
- Probar que el archivo funciona adecuadamente.

NOTA La versión al momento de hacer este tutorial es la 1.24.0, se tiene que revisar en el repositorio y usar la versión más nueva, por lo que de ser necesario habrá que modificar el comando.

curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

docker-compose --version

Paso 3

En este momento se debe ubicar por medio del comando “cd” en donde se desea descargar KoboToolbox, podría ser en alguna carpeta especial para programas o en alguna partición especial, es completamente decisión del usuario y a continuación se procede a clonar/descargar el repositorio git de KoboToolbox.

- Se utiliza git para clonar("descargar") el repositorio de KoboToolbox Docker
git clone https://github.com/kobotoolbox/kobo-docker.git

Paso 4

NOTA A partir de este momento se debe ubicar en la carpeta clonada(“descargada”) por medio del comando “cd kobo-docker” ya que los siguientes pasos se realizan dentro de ella, ya que se iniciara con la configuración de KoboToolbox.

KoboToolbox permite dos tipos de configuración, siendo una de ellas la configuración para ser usada en un servidor con salida a internet y dominio propio, lo cual permite su ejecución y configuración desde cualquier punto del globo y la segunda configuración básica es para crearlo y usarlo dentro de una red local, en este tutorial nos enfocaremos en esta ultima.

- Creamos un enlace simbólico del archivo con las configuraciones locales al archivo que ejecuta docker-compose (extensión "yml")
ln -s docker-compose.local.yml docker-compose.yml

Paso 5

En este paso solicitamos a docker instalar/descargar las dependencias y software necesario para su ejecución.

docker-compose pull

Paso 6

Ahora en este paso debemos configurar el archivo envfile.local.txt, con el editor de texto que se prefiera, por ejemplo nano, gedit, vi, etc, es en este archivo que se guardan las configuración a usar de forma local.

El mismo archivo contiene la explicación de que es lo que se debe modificar/configurar, a continuación se realizan pequeñas aclaraciones.

El HOST_ADDRESS equivale a la ip local de la maquina.

La llave API(ENKETO_API_TOKEN), consta de una seria alfa numérica al azar elegida por uno mismo por ejemplo “zeuqramsoirailicecana” o “asdkjbsand34983wqde12wsn” es independiente de cada uno.

La llave de Django(DJANGO_SECRET_KEY), fue creada con el comando sugerido en el mismo archivo: docker-compose run –rm kpi python -c ‘from django.utils.crypto import get_random_string; print(get_randomstring(50, “abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-=+)”))’

El nombre de usuario(KOBO_SUPERUSER_USERNAME) y su clave(KOBO_SUPERUSER_PASSWORD), son necesarios para autentificase desde la interfaz web.

Por ultimo el email para el soporte, y se recomienda no cambiar los puerto predeterminados, a menos claro que alguna otra aplicación lo este usando
o se desea aumentar la seguridad.

Paso 7

Es momento de crear(construir) nuestra versión de KoboToolbox y ponerla en ejecución.

- Construir nuestra versión que se ejecutara de KoboToolbox
- Ejecutar y correr en segundo plano la versión de KoboToolbox que acabamos de construir a partir de las configuraciones previas.
docker-compose build

docker-compose up -d

Con estos pasos se esta listo para usar KoboToolbox en una instancia local, el paso 7, se debe repetir cada vez que realicemos algún cambio en el archivo de configuración.

Es todo por el momento, en una segunda parte se explicara como crear un primer formulario y su uso, gracias por tomarte el tiempo.

🙂

Referencias básicas

https://github.com/kobotoolbox/kobo-docker

https://docs.docker.com/install/linux/docker-ce/debian/#upgrade-docker-ce

https://docs.docker.com/compose/install/#master-builds