Colmena es un proyecto que busca satisfacer varias necesidades de los equipos periodísticos y de gestión de las radios comunitarias: grabación y edición de audio, chat de grupo y gestión de archivos. Además, para garantizar la transparencia, la reutilización y la apropiación de la herramienta por parte de las personas usuarias, utilizamos heramientas de Software Libre.
Para poder cumplir con estos requisitos definimos una arquitectura con algunos elementos principales:
- Nextcloud: para gestionar archivos, grupos y como API para la aplicación de chat.
- Django Admin: como backend, para gestionar la creación de usuarios e intermediar la comunicación con Nextcloud.
- React + Patternfly: como PWA, el lugar donde les usuaries finales interactúan.
- Las herramientas de grabación y edición de audio provienen de colaboraciones realizadas a un proyecto Open Source, llamado Waveform. Las características principales de este software incluyen: grabar nuevas pistas de audio, importar y exportar audio y proyectos desde los dispositivos o el almacenamiento en la nube de Colmena, así como también aplicar efectos y recortes sobre las pistas.
- Base de datos relacional, con Postgres.
Facilitando la colaboración
Ahora bien, una arquitectura de estas características presenta desafíos al momento de propiciar la colaboración de la comunidad de desarrolladores que quieran aportar trabajo a este software libre.
Para ello creamos, además de los repositorios del backend y frontend, un repositorio especial para el mantenimiento, configuración y ejecución de aplicaciones de tercerlos, llamado Colmena Devops. Este repositorio contiene imágenes de Docker de las aplicaciones involucradas, archivos de configuración, scripts de inicialización para las máquinas virtuales de Docker, y un archivo con atajos para la terminal, con su documentación e instrucciones de uso.
Lo interesante de este enfoque empieza a hacer efecto cuando entendemos que los ambientes productivos están definidos con la misma receta que los ambientes locales de infraestructura que mencionamos anteriormente. Esto último nos da la pauta de que en nuestras máquinas podríamos contar con ambientes similares a los productivos
¡Colmenas por todos lados!
Además de facilitar la colaboración de desarrolladores, también hemos trabajado en propiciar una forma simple de instalar el ecosistema de Colmena en servidores propios: la herramienta de instalación de Colemena a través de la línea de comandos, o Colmena Installer CLI, que contiene los comandos necesarios para instalar y actualizar Colmena, tanto para ambientes de pruebas como de producción.
Te invitamos a visitar la sección de “Instalar una Instancia” en nuestro sitio de documentación para conocer más acerca de esta herramienta.