DevOps Stuff

La información que hay a continuación es la parte de DevOps detallando como estan montados los componentes.

Componentes

La aplicación esta compuesta por diferentes piezas que se gestionan por separado. Cada componente se genera como una imagen de Docker que se despliega en un PaaS similar Heroku.

webapp

La aplicación Vue que hace de front

botserver

Este servicio atiende el bot de discord y envia/responde tweets y el fulfillment de Dialogflow

api

Este servicio gestiona todas las peticiones al API

Host en DigitalOcean

Todos los componentes estan desplegados dentro de un mismo Droplet dentro de DigitalOcean donde hay instalado un Dokku para gestionar los contenedores y los despliegues. (Tamaño pequeño, hasta que vengan los millones... ¯_(ツ)_/¯)

PaaS con Dokku

Cada componente tiene su propio repo y un Dockerfile que se utiliza para desplegar con Dokku.

Dokku funciona de forma similar a Heroku. La diferencia aquí esta en el precio, mantener un Droplet con todos contenedores es apenas una fracción de lo que costaría en Heroku.

SSL con LetsEncrypt

Los certificados SSL para cada subdominio se gestionan automaticamente con un plugin de Dokku que ademas los mantiene renovados con un cron.