openLab: programa para generara escenarios para practicar laboratorios.
  • Python 57.4%
  • JavaScript 30.6%
  • CSS 6.4%
  • PowerShell 2.7%
  • HTML 2.7%
  • Other 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-02 13:08:48 +01:00
doc web: funciona desde el menú en sistemas sin sg (Ubuntu 26.04) 2026-11-02 13:08:48 +01:00
ejemplos Doc 2026-10-29 08:09:49 +01:00
openlab web: funciona desde el menú en sistemas sin sg (Ubuntu 26.04) 2026-11-02 13:08:48 +01:00
tests Fichero desktop 2026-10-30 11:09:49 +01:00
.gitignore Arreglo pantalla 2026-10-27 11:58:24 +01:00
LICENSE openldap licence 2026-10-27 21:54:06 +01:00
pyproject.toml Versión 1.0.2 2026-11-02 10:24:44 +01:00
README.md install/up: funcionan en Ubuntu 26.04 2026-11-02 10:23:45 +01:00

openLAB: Generador de escenarios educativos virtualizados

openLAB 1.0 crea escenarios de prácticas a partir de un fichero YAML: instancias (contenedores o máquinas virtuales de Incus) conectadas por redes, con la red, los usuarios y los paquetes ya configurados. Está pensado para que un profesor prepare los laboratorios de sus prácticas de redes, sistemas y servicios, y para que el alumno los cree en su equipo con una orden.

descripcion: Un router y un cliente en una red interna.

redes:
  lan: {}                         # solo un cable entre el router y el cliente

instancias:
  router:
    imagen: debian/13
    interfaces:
      - red: exterior             # con salida a internet
      - red: lan
        ip: 10.0.0.1/24
  cliente:
    imagen: fedora/44
    tipo: c.small                 # un contenedor con 1 CPU y 512MiB
    interfaces:
      - red: lan
        ip: 10.0.0.10/24
        puerta_enlace: 10.0.0.1
openlab up                        # lo crea
openlab shell cliente             # una terminal dentro del cliente
openlab web                       # su dibujo en el navegador, con terminales y formularios

Instalación

Necesita Debian, Ubuntu o Fedora con permiso de sudo (para las máquinas virtuales, además, la virtualización activada en la BIOS).

sudo apt install pipx git      # Debian y Ubuntu (en Fedora: sudo dnf install pipx git)
pipx ensurepath                # la primera vez; después, abre otra terminal
pipx install git+https://git.josedomingo.org/josedom24/openlab.git
openlab install                # instala y prepara Incus (se puede repetir)

Después de openlab install, cierra la sesión y vuelve a entrar (para que tu usuario esté en el grupo de Incus). Para probar uno de los ejemplos, que están en el repositorio y no se instalan con la orden, clónalo:

git clone https://git.josedomingo.org/josedom24/openlab.git
cd openlab/ejemplos/router
openlab up

Para actualizar openLAB: pipx upgrade openlab (o pipx install --force git+https://git.josedomingo.org/josedom24/openlab.git). Para quitarlo: openlab uninstall (deshace lo que hizo install) y pipx uninstall openlab.

En PyPI hay otro programa que se llama openlab: instala siempre desde el repositorio (git+https://…), nunca con pipx install openlab a secas.

Documentación

Qué hace openLAB (todas sus características), cómo funciona y cómo se usa, está en la documentación, en dos partes:

  • La línea de órdenes: instalación, primeros pasos, el fichero escenario.yaml, redes, tipos y máquinas virtuales, almacenamiento, escritorio, Windows, actualizar, referencia de las órdenes, ejemplos y solución de problemas.
  • La web (openlab web): arrancarla, la portada, un escenario, modificarlo, el asistente de escenarios nuevos y las prácticas guiadas.

Licencia

GPL-3.0. La web incluye, en openlab/web/vendor/, xterm.js (MIT), CodeMirror (MIT), spice-html5 (LGPL-3) y noVNC (MPL-2.0), cada una con su licencia.