🐳 wsl-labs — WSL Container Center#
Levanta y controla contenedores en Windows con wslc, el motor de contenedores nativo de WSL. Panel de control web + launcher, con casos reales portados de docker-labs — pero sin Docker Desktop.
wslc): un motor de contenedores nativo, tipo Docker (imágenes, contenedores, redes, volúmenes). wsl-labs es un centro de control de contenedores sobre wslc — el equivalente WSL de un panel Docker.🌐 Web del proyecto: https://vladimiracunadev-create.github.io/wsl-labs/ — toda la documentación en HTML, los 12 casos y la guía de instalación, sin clonar nada.
🗺️ Qué es este repo#
| Pieza | Rol |
|---|---|
🧭 Panel (Node.js, :9092) | Construye, levanta, detiene y supervisa contenedores |
🪟 Launcher Windows (Go .exe) | Arranca el panel y abre el navegador |
🐳 12 casos (containers/NN-*) | Stacks reales portados de docker-labs, con imágenes propias |
📇 containers.config.json | Fuente única de verdad (imágenes, puertos, redes, comandos) |
Arquitectura#
flowchart LR
subgraph WIN["🪟 Windows 11"]
L["Launcher .exe"]
B["Navegador"]
D["🧭 Panel<br/>Node.js :9092"]
end
subgraph WSLC["🐳 Motor de contenedores (wslc)"]
C1["contenedor · app"]
C2["contenedor · base de datos"]
N(["red wslc"])
C1 --- N --- C2
end
L --> D
B --> D
D -->|wslc.exe| WSLC
🚀 Quickstart#
# 1. WSL 2 + habilitar wslc (canal preview, trae el motor de contenedores)
wsl --install
wsl --update --pre-release
# 2. Clonar el repo
git clone https://github.com/vladimiracunadev-create/wsl-labs.git
cd wsl-labs
# 3. Levantar el panel
make serve # o: node dashboard-server/server.js
Abre http://localhost:9092. Por cada caso: 📦 Construir → ▶ Levantar → 🌐 Abrir.
.exe? Descarga el Launcher desde Releases.🐳 Casos de contenedores#
Portados de docker-labs, ejecutados con wslc. Los platform son multi-contenedor (app + base de datos por una red).
| # | Caso | Categoría | Stack | Puerto |
|---|---|---|---|---|
| 01 | node-api | starter | Node.js | 8101 |
| 02 | php-lamp | platform | PHP + MariaDB | 8107 |
| 03 | python-api | starter | Flask | 8102 |
| 04 | redis-cache | platform | Node + Redis | 8105 |
| 05 | postgres-api | platform | Python + PostgreSQL | 8106 |
| 06 | nginx-web | starter | Nginx | 8104 |
| 07 | rabbitmq | infra | RabbitMQ | 8109 |
| 08 | prometheus-grafana | infra | Prometheus + Grafana | 8110 |
| 09 | multi-service | platform | Node + MongoDB | 8112 |
| 10 | go-api | starter | Go | 8103 |
| 11 | elasticsearch | infra | Elasticsearch 8 | 8113 |
| 12 | jenkins | infra | Jenkins LTS | 8114 |
📖 Documentación#
Empieza por el 📗 índice maestro.
| Área | Documentos |
|---|---|
| 🚀 Uso | INSTALL · REQUIREMENTS · USER_MANUAL · DASHBOARD_SETUP · RUNBOOK · TROUBLESHOOTING |
| 🏗️ Técnico | ARCHITECTURE · TECHNICAL_SPECS · Catálogo de casos · Runtime reference · TOOLING |
| 🐳 Contenedores | Guía wslc · Referencia CLI wslc · Mapping docker-labs → wslc · Portabilidad |
| 🐧 WSL (contexto) | Historia y comandos de WSL · ¿Qué es WSL? · Cheatsheets |
| 🪟 Distribución | windows-installer · Releases · Sitio web |
| 📈 Gobernanza | PROJECT_STATUS · ROADMAP · CHANGELOG · CONTRIBUTING · SECURITY · RECRUITER |
wslc. Su historia, fundamentos y comandos se conservan como documentación (no como el foco operativo del repo). Ver docs/wsl-historia-y-referencia.md.🧱 Requisitos#
- Windows 10 (2004+) o Windows 11 · WSL 2.9+ con
wslc(wsl --update --pre-release) - Node.js 18+ (panel) · Go 1.21+ (solo para compilar el launcher)
Sistema (medido): 💾 ~7 GB de imágenes (capas compartidas reducen el disco real) · 🧠 RAM 4 GB mín / 8 GB recom / 16 GB cómodo · 🔧 2–4 cores.
📐 Tamaño y RAM por caso (medido con wslc images / wslc stats)#
| # | Caso | 💾 Imagen | 🧠 RAM reposo | 🧠 mín. | 🧠 recom. |
|---|---|---|---|---|---|
| 10 | go-api | 15 MB | 2 MB | 64 MB | 128 MB |
| 06 | nginx-web | 62 MB | 8 MB | 64 MB | 128 MB |
| 03 | python-api | 62 MB | 21 MB | 128 MB | 256 MB |
| 01 | node-api | 136 MB | 9 MB | 128 MB | 256 MB |
| 04 | redis-cache | 175 MB | 13 MB | 256 MB | 512 MB |
| 07 | rabbitmq | 252 MB | 148 MB | 512 MB | 1 GB |
| 05 | postgres-api | 493 MB | 36 MB | 512 MB | 1 GB |
| 02 | php-lamp | 808 MB | 76 MB | 512 MB | 1 GB |
| 09 | multi-service | 1012 MB | 83 MB | 512 MB | 1 GB |
| 08 | prometheus-grafana | 1406 MB | 177 MB | 768 MB | 1.5 GB |
| 12 | jenkins | 490 MB | 702 MB | 1 GB | 2 GB |
| 11 | elasticsearch | 1410 MB | 910 MB | 2 GB | 3 GB |
starter son ligerísimos (<25 MB de RAM en reposo); los pesados son Elasticsearch y Jenkins. El panel muestra estos mismos datos en cada tarjeta. Detalle completo en docs/REQUIREMENTS.md.⚖️ Licencia#
Apache License 2.0 · Copyright 2026 vladimiracunadev-create