Evitando problemas de concurrencia múltiple con flock

Cuando trabajas con procesos en background, es fácil que algunos de los procesos hagan algo que necesite exclusividad, no siendo seguro ejecutar varios de estos procesos a la vez. Por ejemplo, archivos que se descomprimen, se procesan y luego se borran; si usan la misma carpeta suele ser un problema …

Seguir leyendo

Montando un servidor docker con Debian Stretch

Finalmente ha sucedido: ha llegado el esperado lanzamiento de Debian Stretch. Como buen linuxero no me he podido resistir a hacer alguna instalación para probar, aunque solo sea como una máquina virtual. Su función, determinada por mi actual flujo de trabajo, va a ser como servidor de docker con docker-compose …

Seguir leyendo


Desactivando nuestras APIs con un frontal nginx

El otro día recibí una petición algo atípica en mi trabajo: querían activar y desactivar en un único punto centralizado cada una de las varias APIs que tenemos. Se trata de poner un nginx frontal que gestione los virtualhosts existentes y haga proxy_pass o no en función de un flag …

Seguir leyendo

El concepto del servidor fachada con Docker

Muchos de nosotros tenemos un servidor en casa o en algún hosting. Como no tenemos mucho tráfico y cada servidor tiene un coste, acabamos llenándolo con un conjunto de servicios bastante grande. Esto supone un problema para actualizar el sistema operativo, suponiendo que los servicios no se molesten entre sí …

Seguir leyendo

Un servidor de git local con gitolite

A todos nos encanta el sistema de control de versiones git. Tanto a nivel local como a nivel público en GitHub es una maravilla; lo que no me gusta tanto es el precio que suelen tener las soluciones privadas. Sin embargo, y con un poco de habilidad, podemos encontrar alternativas …

Seguir leyendo

Generación fácil de certificados con easyrsa

Ya vimos en otro artículo como restringir los accesos a una web usando certificados SSL. Sin embargo, la generación de los mismos era un poco confusa. Sin embargo, existe una herramienta llamada easyrsa que nos permite generar peticiones de forma fácil, firmarlas con nuestra CA y obtener el producto final …

Seguir leyendo

Un entorno web estático con nginx, rsync y docker

Hemos hablado de generar nuestro contenido HTML estático con otras herramientas, y finalmente ha llegado la hora de servirlo. Normalmente, los ficheros que cambian tal y como vamos generando páginas son pocos y nos interesa copiarlo de forma remota, pero no podemos hacerlo con docker porque hacen falta dos servicios …

Seguir leyendo

Múltiples servicios en un mismo contenedor Docker

Como ya sabemos, un contenedor docker solo puede ejecutar un proceso, y su finalización implica la parada del contenedor. Sin embargo, a veces nos puede interesar cargar los contenedores con algún servicio más, para hacerlos autosuficientes. Para ello, nos podemos ayudar de un gestor de procesos, como por ejemplo, runit …

Seguir leyendo

Alta disponibilidad con Keepalived

Cuando tenemos un servicio balanceado, los backends no tienen relación entre sí y podemos poner tantos como queramos, sin miedo a que alguno se caiga. Sin embargo, para los servicios tipo "ventanilla única" interesa tener varios dispuestos a dar un servicio failover; si uno se cae, otro asume la carga …

Seguir leyendo