Creando un servidor educativo

Sergio M. Cáceres marzo 13, 2026

Quizá para estudiantes de Europa u otros países con universidades muy prestigiosas tener un servidor educativo sea común. Pero para alguien como yo, el tener acceso a los laboratorios de informática de forma remota y desde cualquier dispositivo, es algo bastante novedoso. Y lo siguió siendo durante toda mi estancia en la Universidad Politécnica de Madrid.

Hoy en día la tecnología de escritorios virtuales creo que sigue teniendo mucho potencial para la tele-educación. Por ejemplo: si alguien quiere dar un taller de una tecnología avanzada, y necesita que los alumnos tengan un sistema operativo específico, no siempre es posible permitirse configurar manualmente los ordenadores de cada alumno y asegurarse de que tengan las versiones correctas del programa y que no existan incompatibilidades con otros.

La solución que usábamos antes para estos casos era usar máquinas virtuales con VirtualBox o VMware, pero surgía el problema de que algunos de los alumnos no tenían computadoras que soportaran esos programas, bien porque eran muy poco potentes o porque no tenían espacio en disco.

Fotografía del taller Python for Dummies 2026
Fotografía del taller Python for Dummies 2026

Ahora, a raíz de un taller que hicimos en colaboración con la rama de CEEIBIS y del IEEE de la ETSIT UPM, decidimos invertir en un pequeño ordenador para usarlo de servidor educativo. La idea era darle acceso a los alumnos para que pudiesen aprender el proceso de desplegar aplicaciones web usando máquinas virtuales.

Pero este proceso terminó en una idea más grande: Un servidor con fines de tele-educación e investigación. Queríamos una plataforma donde los miembros oficiales y no oficiales de MïTHA pudiesen desplegar aplicaciones para investigaciones pequeñas y que si en algún momento dábamos otro taller educativo, el propio servidor fuese capaz de almacenar escritorios virtuales para los alumnos.

Es por eso que, luego de 2 meses trabajando en el servidor y luego de que hemos recopilado lo necesario para hacer un artículo coherente, desde MïTHA les traemos cómo hacer un servidor casero para los fines que ustedes decidan: HomeLab, NAS, etc.

Arquitectura del servidor

Nuestro servidor actual cuenta con un solo nodo (computador conectado a la red), pero la estructura que usamos permite la incorporación de más nodos. Esto es porque usaremos un hipervisor llamado Proxmox. 

Así que, con eso dicho, explicaré un poco la arquitectura con unas cajas:

Arquitectura de virtualización para servidor educativo

Primero tenemos el Host, este es el equipo físico que sostiene todas las máquinas virtuales (VM) en su interior, a traves de él podemos configurar las cajas en su interior que son las que contienen los programas necesarios para que funcione.

Luego tenemos Proxmox, este es el encargado de gestionar de forma sencilla los clusters (grupos de nodos) las particiones de memoria y el despliegue de los VM y contenedores. Es, por así decirlo, la base del sistema.

Luego tenemos 3 contenedores indispensables para los objetivos de MïTHA pero que son opcionales:

El primero es Nginx Proxy Manager (NPM), este se encarga de redirigir el tráfico que llega al servidor a los contenedores específicos. Por ejemplo, si alguien entra al dominio “ejemplo.com” y este dominio nos pertenece, el usuario llegará al contenedor NPM y desde ahí podemos decidir si lo reenviamos a un contenedor que contiene una aplicación web, o una máquina con escritorio virtual.

El segundo es Portainer. Este es un contenedor que nos permite gestionar otros contenedores docker en su interior de una forma sencilla. 

(Si quieres saber de lo que estoy hablando, puedes visitar nuestro artículo Cómo se crean los sitios web)

Y el último es Apache Guacamole. Este es el contenedor que nos permite gestionar la entrada de nuestros alumnos a los escritorios virtuales para que los usen por ssh o con interfaz gráfica.

Hardware necesario para un servidor pequeño

Si el que está leyendo esto es alguien de TIC de alguna empresa, puede que dispongas de un hardware industrial, como un servidor proliant. Lo que usualmente asociamos a un centro de datos.

Pero si eres como nosotros, que estás empezando y este es un proyecto pequeño, debes saber que es suficiente con un ordenador medianamente decente (aunque esto depende de qué es lo que quieres hacer).

En nuestro caso, como queríamos tener un número de VM entre 8 y 15 para el taller que íbamos a impartir, nos fue suficiente con un mini pc AG3 Home-Gaming-Mini-PC.

Computador utilizado: MAGICNUC AG3 Mini PC

Lo importante a tener en cuenta es el procesador y la memoria RAM. Si vas a hacer un homelab y no planeas tener mucho tráfico, lo mejor es un procesador i5 de 9a generación hacia arriba. Y la memoria ram necesitas como mínimo 4 Gb para que el sistema operativo de Proxmox funcione correctamente, aunque puede que luego necesites más memoria para cada contenedor. Nosotros contamos con 32 Gb y nos permitió tener 13 máquinas virtuales debian con 2Gb de ram cada una.

Por si te lo preguntas, el cálculo que hicimos para ver las capacidades antes de comprar fue restar a 32Gb los 4Gb del sistema operativo y luego dividirlo entre 2 para ver el número de contenedores que podríamos tener sin dificultad.

Instalación de Proxmox en el servidor

Instalar Proxmox no es ningún misterio. Es como instalar cualquier otra distribución de linux, lo único que puede cambiar es la necesidad de tener conectado el ordenador a un punto de red. Aunque si eso no es posible al momento de instalarlo, puedes modificarlo luego.

Captura de página web de referencia: La Biblioteca de Alejandria

Para ello, y para no extender demasiado este artículo, dejaré el enlace a La Biblioteca de Alejandría que estamos creando. Aquí a parte de muchos otros temas, encontrarás la guia para instalar tanto Proxmox como Nginx y Tailscale si prefieres usar una VPN en lugar de un túnel de cloudflare.

Configuración de Cloudflare

Nosotros tuvimos un problema al exponer el servidor, y es que el taller fue realizado en un entorno donde la red era educativa, por lo que no podíamos modificar los parámetros de las ip para que los alumnos se conectaran por ssh a las máquinas. Nuestra solución temporal fue usar los túneles de Cloudflare. 

Imagen ilustrativa de la configuración de Cloudflare

Estos túneles permiten crear un punto de acceso a una computadora específica, así que los pasos que seguimos fue entrar al contenedor de NPM que es en esencia un linux debian, e instalar lo necesario para configurar los túneles. 

Es importante mencionar que para usar esta función es necesario un dominio y estar registrado en Cloudflare.

En la bibliografía, como siempre, dejaré el enlace a un tutorial para configurarlo.

Configuración de Apache Guacamole

Al vernos obligados a usar los túneles de Cloudflare, la conexión por ssh iba a ser bastante complicada para los alumnos que eran nuevos en el mundo del despliegue en VM. Por ello usamos Apache Guacamole para configurar las conexiones de cada usuario a la VM asignada: Instalamos, en un contenedor LXC, Apache Guacamole y mediante un Proxy Host de NPM redirigíamos el tráfico al puerto del mencionado contenedor. 

Página de inicio de Apache Guacamole

Luego de eso, los alumnos solo necesitaban iniciar sesión con las credenciales que le proporcionamos y automáticamente tenía acceso a la VM mediante protocolo ssh.

Terminal ssh que vieron los alumnos en el taller Python for Dummies 2026

Agradecimientos

Desde el equipo de MïTHA debemos agradecer a muchas personas y entidades:

Esto no hubiese sido posible sin la colaboración de las ramas de estudiantes del IEEE y CEEIBIS de la ETSIT UPM. Más específicamente queríamos enviar un agradecimiento especial a las personas tanto del equipo de MïTHA cómo de esas asociaciones que nos ayudaron a montar el servidor y a organizar el propio taller. Por lo que debo mencionar a Inés Manso Poza, Guillermo Gutierrez y Andrea Gómez Díaz por su ayuda técnica para hacer que todo funcionara. Y a Iria Alvarez Scharfhausen y Federico Sangineto por su ayuda en gestiones burocráticas del taller.

También quisiera agradecer aquellas personas que nos pidieron permanecer anónimas y que nos ayudaron con la financiación de la compra del servidor para el taller.

Por otra parte, como siempre, hay que agradecer a esas personas del equipo que corrigen la ortografía y la gramática de las publicaciones. Un agradecimiento a Camila Payer Fernández y a Inés Manso Poza.

Bibliografía