Entradas

Mostrando entradas de octubre, 2026

Docker: BookStack - para qué sirve y cómo instalarlo

Imagen
Imagen Docker del curso, nº 5. BookStack es una wiki sencilla organizada en estantes, libros, capítulos y páginas. Ideal para documentar procesos, apuntes o la base de conocimiento de un equipo. ¿Para qué sirve? Crear una wiki o documentación interna fácil de mantener. Instalación con docker run Este es el comando del README oficial (cambia las rutas /path/to/... por carpetas de tu equipo): docker run -d \ --name=bookstack \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e APP_URL= \ -e APP_KEY= \ -e DB_HOST= \ -e DB_PORT=3306 \ -e DB_USERNAME= \ -e DB_PASSWORD= \ -e DB_DATABASE= \ -e QUEUE_CONNECTION= `#optional` \ -p 6875:80 \ -v /path/to/bookstack/config:/config \ --restart unless-stopped \ lscr.io/linuxserver/bookstack:latest Instalación con Docker Compose Ejemplo de docker-compose.yml del README oficial. Guárdalo como docker-compose.yml y ejecuta docker compose up -d : services: bookstack: image: lscr.io/linuxserver/bookstack:latest ...

Docker: OpenBao - para qué sirve y cómo instalarlo

Imagen
OpenBao es un gestor de secretos y cifrado de código abierto: un único sitio seguro donde guardar contraseñas, claves de API, tokens y certificados en lugar de tenerlos repartidos por archivos de configuración y código. Nació como fork comunitario de HashiCorp Vault y hoy lo gobierna la Linux Foundation Edge, así que es una alternativa totalmente libre y sin licencias de pago. La imagen oficial openbao/openbao está en Docker Hub y permite tenerlo funcionando en un servidor o NAS en unos minutos. ¿Para qué sirve? Centralizar secretos (contraseñas, tokens, claves de API, certificados) en un almacén cifrado y dejar de tenerlos en archivos .env o en el código. Controlar quién accede a cada secreto mediante tokens y políticas, con registro de auditoría de cada acceso. Cifrar datos y generar credenciales temporales para bases de datos y servicios en la nube. Instalación con docker run Para una prueba rápida, el contenedor arranca en modo desarrollo si no le pasas nada más. Est...

Cómo instalar Hermes Agent en Docker y conectarlo con tu suscripción de Antigravity

Imagen
Entrada especial del blog: Hermes Agent es un agente de inteligencia artificial de código abierto creado por Nous Research, el equipo que está detrás de los modelos Hermes. No es un simple chatbot: puede trabajar de forma autónoma, recuerda lo que ha hecho en tus proyectos y puede seguir funcionando aunque tu ordenador esté apagado. En esta entrada vamos a ver para qué sirve, cómo instalarlo en Docker con docker run y con Docker Compose, y cómo conectarlo con una suscripción de Google Antigravity para aprovechar sus modelos sin pagar nada más. ¿Para qué sirve Hermes Agent? Automatizar tareas de forma autónoma: investigar, programar, escribir y ejecutar acciones por ti sin supervisión constante. Recordar tus proyectos: guarda una memoria persistente de lo que ha hecho y crea sus propias habilidades con el uso. Atenderte por mensajería: lo controlas desde Telegram, Discord, Slack o WhatsApp, y también desde el terminal. ...

Docker: Nextcloud - para qué sirve y cómo instalarlo

Imagen
Imagen Docker del curso, nº 4. Nextcloud es tu "nube privada": archivos, calendario, contactos y mucho más en tu propio servidor, como alternativa a Google Drive o Dropbox. ¿Para qué sirve? Sincronizar archivos entre ordenador y móvil sin depender de terceros. Compartir ficheros y carpetas con otras personas. Instalación con docker run Este es el comando del README oficial (cambia las rutas /path/to/... por carpetas de tu equipo): docker run -d \ --name=nextcloud \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -p 443:443 \ -v /path/to/nextcloud/config:/config \ -v /path/to/data:/data \ --restart unless-stopped \ lscr.io/linuxserver/nextcloud:latest Instalación con Docker Compose Ejemplo de docker-compose.yml del README oficial. Guárdalo como docker-compose.yml y ejecuta docker compose up -d : services: nextcloud: image: lscr.io/linuxserver/nextcloud:latest container_name: nextcloud environment: - PUID=1000 - PGID=1000 - ...

Docker: Plex Media Server - para qué sirve y cómo instalarlo

Imagen
Imagen Docker del curso, nº 3. Plex Media Server organiza tus películas, series, música y fotos y las sirve a todos tus dispositivos, con carátulas y metadatos automáticos. ¿Para qué sirve? Tener tu biblioteca multimedia ordenada y accesible desde la tele, el móvil o fuera de casa. Instalación con docker run Este es el comando del README oficial (cambia las rutas /path/to/... por carpetas de tu equipo): docker run -d \ --name=plex \ --net=host \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e VERSION=docker \ -e PLEX_CLAIM= `#optional` \ -v /path/to/plex/library:/config \ -v /path/to/tvseries:/tv \ -v /path/to/movies:/movies \ --restart unless-stopped \ lscr.io/linuxserver/plex:latest Instalación con Docker Compose Ejemplo de docker-compose.yml del README oficial. Guárdalo como docker-compose.yml y ejecuta docker compose up -d : services: plex: image: lscr.io/linuxserver/plex:latest container_name: plex network_mode: host environment: ...

Docker: Jellyfin - para qué sirve y cómo instalarlo

Imagen
Imagen Docker del curso, nº 2. Jellyfin es un servidor multimedia libre: organiza tus películas, series, música y fotos y te las ofrece en streaming a la tele, el móvil o el navegador, sin suscripciones. ¿Para qué sirve? Montar tu propia plataforma de streaming con tus archivos. Ver tu biblioteca desde cualquier dispositivo de casa. Instalación con docker run Este es el comando del README oficial (cambia las rutas /path/to/... por carpetas de tu equipo): docker run -d \ --name=jellyfin \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e JELLYFIN_PublishedServerUrl=http://192.168.0.5 `#optional` \ -p 8096:8096 \ -p 8920:8920 `#optional` \ -p 7359:7359/udp `#optional` \ -p 1900:1900/udp `#optional` \ -v /path/to/jellyfin/library:/config \ -v /path/to/tvseries:/data/tvshows \ -v /path/to/movies:/data/movies \ --restart unless-stopped \ lscr.io/linuxserver/jellyfin:latest Instalación con Docker Compose Ejemplo de docker-compose.yml del README oficial. Guárda...

Docker: qBittorrent - para qué sirve y cómo instalarlo

Imagen
Imagen Docker del curso, nº 1. qBittorrent es un cliente de torrents con interfaz web, ligero y sin publicidad. La imagen de LinuxServer.io te permite tenerlo funcionando en un servidor o NAS y controlarlo desde el navegador. ¿Para qué sirve? Descargar y compartir archivos por BitTorrent de forma legal (distribuciones Linux, contenido propio, etc.). Gestionar las descargas desde cualquier dispositivo de tu red. Instalación con docker run Este es el comando del README oficial (cambia las rutas /path/to/... por carpetas de tu equipo): docker run -d \ --name=qbittorrent \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e WEBUI_PORT=8080 \ -e TORRENTING_PORT=6881 \ -p 8080:8080 \ -p 6881:6881 \ -p 6881:6881/udp \ -v /path/to/qbittorrent/appdata:/config \ -v /path/to/downloads:/downloads `#optional` \ --stop-timeout="10s" `#optional` \ --restart unless-stopped \ lscr.io/linuxserver/qbittorrent:latest Instalación con Docker Compose Ejemplo de docker-...

Cómo funciona Docker Compose

Lección 7 del curso de Docker. Cómo funciona Docker Compose Las aplicaciones reales rara vez son un solo contenedor: suelen combinar una aplicación, una base de datos, una caché... Arrancar cada pieza a mano con docker run es tedioso y propenso a errores. Docker Compose resuelve esto: describes toda la aplicación en un solo archivo YAML y la levantas entera con un único comando. El archivo docker-compose.yml Compose se define en un archivo llamado docker-compose.yml (o compose.yaml ) en la raíz del proyecto. En él declaras los servicios (los contenedores), las redes y los volúmenes que necesitan: services: web: image: nginx:latest ports: - "8080:80" volumes: - ./web:/usr/share/nginx/html depends_on: - db db: image: postgres:16 environment: POSTGRES_USER: curso POSTGRES_PASSWORD: secreto POSTGRES_DB: aplicacion volumes: - datos-db:/var/lib/postgresql/data volumes: datos-db: Qué hace Compo...

Comandos básicos para gestionar Docker

Lección 6 del curso de Docker. Comandos básicos para gestionar Docker Esta lección reúne los comandos que usarás a diario con Docker. Guárdala como chuleta de referencia. Imágenes docker pull nginx # descarga una imagen del registro docker images # lista las imágenes locales docker build -t mi-app:1.0 . # construye una imagen desde un Dockerfile docker tag mi-app:1.0 usuario/mi-app:1.0 # crea una etiqueta adicional docker push usuario/mi-app:1.0 # sube la imagen a Docker Hub docker rmi nginx # elimina una imagen local docker image prune # borra imágenes sin usar (dangling) Contenedores: ciclo de vida docker run -d --name web -p 8080:80 nginx # crea y arranca un contenedor docker ps # contenedores en ejecución docker ps -a # todos, incluidos los parados docker stop web # parada ordenada docker start web # arranca un contenedor parado docker restart web ...

Cómo funcionan los volúmenes en Docker

Lección 5 del curso de Docker. Cómo funcionan los volúmenes en Docker El sistema de archivos de un contenedor es efímero : todo lo que se escribe dentro desaparece cuando el contenedor se elimina. Para la mayoría de aplicaciones eso es un problema (una base de datos no puede perder sus datos), y Docker lo resuelve con los volúmenes y los bind mounts . Las tres formas de guardar datos Volúmenes: la opción recomendada. Docker los crea y gestiona en una zona propia del disco del anfitrión ( /var/lib/docker/volumes/ ). Sobreviven al contenedor y pueden compartirse entre varios. Bind mounts: montan una carpeta concreta del anfitrión dentro del contenedor. Ideales en desarrollo, para editar código en tu máquina y ver los cambios al instante dentro del contenedor. tmpfs: monta un directorio en memoria RAM. Solo para datos temporales y sensibles que no deben tocarse en disco. Trabajar con volúmenes docker volume create datos-db # crea un volumen docker volume ls ...

Cómo funciona la red en Docker

Lección 4 del curso de Docker. Cómo funciona la red en Docker Los contenedores son procesos aislados, pero casi siempre necesitan comunicarse: con el exterior, con otros contenedores o con servicios del anfitrión. Docker resuelve esto con su sistema de redes virtuales . Los tipos de red (drivers) bridge: la red por defecto. Crea una red privada interna en el anfitrión; los contenedores reciben una IP propia (normalmente del rango 172.17.0.0/16) y salen a Internet a través de NAT. host: el contenedor comparte la red del anfitrión directamente, sin aislamiento ni traducción de puertos. Útil cuando el rendimiento de red es crítico. none: el contenedor no tiene red. Solo para casos muy concretos de máximo aislamiento. overlay: conecta contenedores que corren en máquinas Docker distintas (la base de Docker Swarm y de los clústeres). macvlan: asigna al contenedor una dirección MAC propia para que aparezca como un dispositivo físico más en la red local. Publicar puertos Por d...

Docker vs Kubernetes: ¿en qué se diferencian?

Lección 3 del curso de Docker. Docker frente a Kubernetes Es muy común escuchar "Docker o Kubernetes" como si fueran alternativas, pero en realidad resuelven problemas distintos y se complementan . Docker se ocupa de crear y ejecutar contenedores; Kubernetes se ocupa de coordinar muchos contenedores repartidos entre muchos servidores. Qué hace Docker Docker trabaja a escala de una sola máquina : construye imágenes, ejecuta contenedores, gestiona sus redes y volúmenes locales. Es perfecto para desarrollo y para despliegues sencillos, pero no responde a preguntas como: ¿Qué pasa si el servidor donde corre mi contenedor se cae? ¿Cómo ejecuto 20 réplicas de mi aplicación repartidas en 5 servidores? ¿Cómo actualizo la aplicación sin dejar el servicio caído? ¿Cómo escalo automáticamente cuando llega más tráfico? Qué hace Kubernetes Kubernetes (también llamado K8s) es un orquestador de contenedores . Tú le describes el estado deseado ("quiero 5 réplicas de esta imag...

Docker vs máquinas virtuales: ¿en qué se diferencian?

Lección 2 del curso de Docker. Docker frente a las máquinas virtuales Tanto los contenedores como las máquinas virtuales (VM) sirven para aislar aplicaciones, pero lo hacen a niveles muy distintos. Entender la diferencia es clave para saber cuándo conviene cada tecnología. Cómo funciona una máquina virtual Una VM emula un ordenador completo. Sobre el hardware físico se instala un hipervisor (VMware, VirtualBox, Hyper-V, KVM...), y encima de él cada máquina virtual incluye: Hardware virtualizado (CPU, memoria, disco, red). Un sistema operativo completo (el llamado guest OS ), con su propio kernel. Las librerías y la aplicación. El resultado es un aislamiento muy fuerte, pero a costa de muchos recursos: cada VM puede ocupar gigabytes y tardar minutos en arrancar, porque tiene que iniciar un sistema operativo entero. Cómo funciona un contenedor Un contenedor no virtualiza hardware ni arranca un sistema operativo nuevo. Es simplemente un proceso del sistema anfitrión que Dock...

¿Qué es Docker? Introducción a los contenedores

Lección 1 del curso de Docker. ¿Qué es Docker? Docker es una plataforma de código abierto que permite empaquetar una aplicación junto con todo lo que necesita para funcionar (código, librerías, dependencias y configuración) dentro de una unidad estandarizada llamada contenedor . Gracias a eso, la aplicación se ejecuta exactamente igual en el portátil de un desarrollador, en un servidor de pruebas o en producción. Docker nació para resolver un problema clásico del desarrollo de software: "en mi máquina funciona" . Cada entorno tenía versiones distintas de librerías, sistemas operativos diferentes y configuraciones particulares. Con Docker, el entorno viaja con la aplicación, de modo que el comportamiento es predecible y repetible. Conceptos fundamentales Imagen: plantilla de solo lectura que contiene la aplicación y sus dependencias. Es la "receta" a partir de la cual se crean contenedores. Contenedor: instancia en ejecución de una imagen. Es un proceso aisl...