Plataforma de juegos clásicos offline, sin anuncios, sin rastreo, lista para desplegar en tu red local con Docker.
LudoLab nació como Proyecto de Fin de Grado del ciclo ASIR (Administración de Sistemas Informáticos en Red). La idea es simple: tener un sitio donde jugar a juegos clásicos del navegador sin depender de internet, sin publicidad y sin que nadie recopile tus datos, alojado en tu propia máquina o red local.
| Juego | Tecnología | Estado |
|---|---|---|
| Buscaminas | HTML · CSS · JavaScript | Completo |
| Sudoku | HTML · CSS · PyScript | En desarrollo |
| Ajedrez | — | Planificado |
- Sin anuncios. Ninguno. Jamás.
- Sin internet. Una vez instalado, funciona completamente offline.
- Sin rastreo. No hay analíticas, cookies de terceros ni telemetría.
- Ligero. Cada juego corre en su propio contenedor nginx mínimo.
- Bajo demanda. Los contenedores de juegos solo se encienden cuando alguien quiere jugar, ahorrando recursos.
- Fácil de ampliar. Añadir un juego nuevo es cuestión de minutos siguiendo la estructura existente.
LudoLab usa Docker para aislar cada juego en su propio contenedor. Un servidor central (el menú) es el único que está siempre encendido. Cuando el usuario elige un juego, el menú arranca ese contenedor y redirige el navegador directamente a él.
Navegador
│
▼
┌─────────────────────────────────────────────┐
│ Docker host │
│ │
│ ┌──────────────────┐ │
│ │ Menú (Node.js) │ :80 ← siempre activo │
│ └────────┬─────────┘ │
│ │ docker start (bajo demanda) │
│ ▼ │
│ ┌──────────────────┐ ┌─────────────────┐ │
│ │ Buscaminas │ │ Sudoku │ │
│ │ nginx :8001 │ │ nginx :8002 │ │
│ └──────────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────┘
Linux (Ubuntu/Debian):
# Instalar Docker
curl -fsSL https://get.docker.com | sh
# Añadir tu usuario al grupo docker (para no usar sudo)
sudo usermod -aG docker $USER
newgrp docker
# Verificar instalación
docker --version
docker compose versionWindows / macOS: Descarga e instala Docker Desktop desde la web oficial. Docker Compose viene incluido.
git clone https://github.com/cachispo/LudoLab.git
cd LudoLabdocker compose builddocker compose create buscaminas sudokudocker compose up -d menu¡Listo! Abre tu navegador en http://localhost y ya puedes jugar.
Si estás en otra máquina de la misma red, sustituye
localhostpor la IP local del servidor (por ejemplohttp://192.168.1.50).
- Abre http://localhost en el navegador.
- El menú muestra los juegos disponibles y si su contenedor está activo o no.
- Haz clic en Jugar — el menú arranca el contenedor si estaba apagado y te redirige automáticamente.
- Cuando termines, el contenedor sigue corriendo hasta que se reinicie el host o lo pares manualmente (ver abajo).
docker stop ludolab-buscaminas
docker stop ludolab-sudokudocker compose downdocker compose up -d menuLos contenedores de juegos se arrancan solos cuando alguien los pide desde el menú; no hace falta levantarlos a mano.
| Servicio | Puerto |
|---|---|
| Menú principal | 80 |
| Buscaminas | 8001 |
| Sudoku | 8002 |
Si algún puerto está ocupado en tu máquina, cámbialo en docker-compose.yml (la parte izquierda del par "puerto_host:puerto_contenedor").
- Crea una carpeta con los archivos del juego y copia el
Dockerfiledel buscaminas dentro. - Añade el servicio en
docker-compose.ymlcon un puerto libre y el perfilgames. - Registra el juego en
menu/server.jsdentro del objetoJUEGOS. - Añade la tarjeta en
menu/public/index.html. - Ejecuta:
docker compose build nuevo-juego
docker compose create nuevo-juegoEl menú lo detecta automáticamente en el siguiente refresco.
José Rodríguez 📧 58joserc@gmail.com 🔗 GitHub · LinkedIn
Proyecto educativo — Proyecto de Fin de Grado ASIR 2025/26.