GDPR Cookie Consent by FreePrivacyPolicy

Linux Sysadmin

Exponiendo puertos TCP a través de un firewall con ngrok

A veces tenemos la necesidad de exponer en internet algún puerto TCP de forma temporal, para hacer testing o alguna demo. Ya vimos como podemos hacer esto mediante túneles SSH reversos, aunque no siempre disponemos de un dominio público. En estos casos podemos usar un sistema de túneles llamado ngrok.

Seguir leyendo


Logs en formato JSON en Nginx

Vimos en un artículo anterior como trabajar con herramientas para agregar los logs en un mismo servidor, para su consulta. Algunos formatos de logs necesitan complejas formas de parseado para que puedan servir de base para nuestra consulta, y en el caso de logstash nos conviene un formato JSON válido.

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


Docker 17.05 con multi-stage build

Hacía tiempo que esperaba ansiosamente la nueva versión de docker. La raíz de tanta expectación son las mejoras que la versión candidata anunciaba, especialmente el nuevo modelo de build. Se ha modificado los Dockerfile para que puedan generar varias imágenes en un solo fichero, algunas de ellas partiendo de otras.

Seguir leyendo


Desarrollando aplicaciones web con python y bottle

Ya sabéis que me gusta mucho el lenguaje python. Muchos de mis ejemplos y algunas aplicaciones simples no merecen el uso de un framework tan grande como pueda ser django. Para estos casos me encantan los microframeworks, y aunque hay varias alternativas disponibles, me gusta especialmente un microframework llamado bottle.

Seguir leyendo


Reduciendo el tiempo de build con Docker y su caché

Cuando construimos imágenes docker, muchas veces no somos conscientes del poder de la caché integrada. Si reordenamos algunas instrucciones y aplicamos algún truco, podemos evitarnos el hecho de reconstruir muchas de esas capas, llegando a reducir el tiempo de rebuild a prácticamente cero, siempre y cuando no hayan grandes cambios.

Seguir leyendo


Problemas de log con docker y python

El otro día estaba haciendo un script de python que debía ejecutarse en un contenedor docker. A pesar de la cantidad de verbose que le puse, no era capaz de ver ningún texto cuando miraba los logs. Tras mucha búsqueda, finalmente encontré el culpable en la variable de entorno PYTHONUNBUFFERED.

Seguir leyendo


Administrando Docker vía web: Portainer

El otro día me topé con un desarrollador que quiere desplegar sus contenedores Docker en el servidor de integración, pero no conoce la sintaxis del comando docker y prefiere una interfaz gráfica. Eso me llevó a investigar, buscando una opción bonita, funcional y ligera; al final, me topé con Portainer.

Seguir leyendo


Testear dominios sin tener el DNS con curl

En mi trabajo, los problemas llegan sin previo aviso. De repente, alguien te pone en aviso que su aplicación web está caída y es inaccesible. Se trata de un problema de resolución DNS, pero queremos probarlo para estar seguros de que solo es ese el problema y no es general.

Seguir leyendo


Una toolbox empaquetada en contenedores

Muchas veces necesitamos herramientas para nuestro trabajo y no las usamos desde la misma máquina; otras veces no queremos instalar muchos paquetes en nuestra máquina. Tener una máquina virtual suele ser overkill para ejecutar algunos binarios. En este caso podemos tener nuestras imágenes docker listas para ser usadas según convenga.

Seguir leyendo


«« « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 » »»