Instalación completa Windows + WSL2
Tiempo estimado: 30–60 min la primera vez. Sin Bitbucket, sin Docker Desktop, sin dnsmasq.
Fase 0 — WSL + Ubuntu
wsl --install -d Ubuntu wsl -l -v
Debe mostrar Ubuntu con VERSION 2. Crea usuario/contraseña Linux al abrir Ubuntu.
Fase 1 — Instalar devdocker
PowerShell (ventana nueva):
irm https://devdocker.desarrollado.com/devdocker-install.ps1 -OutFile $env:TEMP\devdocker-install.ps1 & $env:TEMP\devdocker-install.ps1 -Fresh -Deploy -DockerEngine -Verify
Alternativa Ubuntu:
curl -fsSL https://devdocker.desarrollado.com/devdocker-install.sh | bash -s -- --docker-engine --fresh --deploy --verify
Debes ver: Descargando paquete desde .../devdocker.tar.gz — no Bitbucket.
Fase 2 — Reiniciar WSL (obligatorio)
wsl --shutdown
Espera 10 s, reabre Ubuntu, luego:
cd ~/devdocker bash scripts/devdocker.sh verify-docker
¿Pantalla DOCKER(1) / manual? Pulsá q para salir. No escribas solo docker — usa el comando completo de arriba.
¿mkdir: Permission denied? No uses sudo su. Una sola vez:
sudo mkdir -p /home/usrdocker/compose sudo chown -R "$USER":"$USER" /home/usrdocker
Fase 3 — Deploy (si usaste --deploy, ya corre solo)
cd ~/devdocker bash scripts/devdocker.sh setup --deploy
15–40 min la primera vez (Jenkins, imágenes Docker, SonarQube…).
Fase 4 — Comprobar servicios
Web (navegador)
| Servicio | URL | Login develop |
|---|---|---|
| Jenkins | localhost:8080 | admin / devdocker |
| Panel devdocker | localhost:8083 | devdocker |
| Portainer | localhost:9000 | — (crear al primer acceso) |
| SonarQube | localhost:9001 · sonar.localhost | admin / admin (cambiar en 1.er login) |
| Proxy (gateway) | localhost/nginx-health | Nginx o Caddy |
| n8n (vía proxy) | n8n.localhost | — (configurar en primer acceso) |
| n8n (directo) | localhost:5680 | — |
Bases de datos (cliente SQL / DBeaver / app)
Valores por defecto del secret dev-enviroment.local.yaml. Si cambiaste passwords ahí, usa los tuyos.
Se despliegan PostgreSQL, MySQL y MariaDB a la vez. Postgres es la base principal (DB_ENGINE=postgres, SonarQube).
Oracle es opcional aparte (ORACLE_DB_ENABLED=true). Las apps pueden traer su propia BD adicional.
| Base | Host:puerto | Usuario / password | Base / service | Desde contenedor |
|---|---|---|---|---|
PostgreSQL (principal — DB_ENGINE=postgres) |
localhost:5433 | root / devdocker-local | devdocker | db_postgres:5432 |
| Postgres SonarQube (JDBC interno) | localhost:5433 | sonar / Sonar.Local.93021008727 | sonar | db_postgres:5432 |
| MySQL | localhost:3306 | root / devdocker-local | devdocker | db_mysql:3306 |
| MariaDB | localhost:3307 | root / devdocker-local | devdocker | db_mariadb:3306 |
| Oracle XE (opcional, ORACLE_DB_ENABLED=true) | localhost:1521 | SYSTEM / ORACLE_DB_PASSWORD | XEPDB1 | db_oracle:1521 |
Cadenas de conexión rápidas:
# Postgres (aplicaciones) postgresql://root:devdocker-local@localhost:5433/devdocker # SonarQube JDBC (solo referencia — lo usa el contenedor sonarqube) jdbc:postgresql://db_postgres:5432/sonar # MySQL mysql://root:devdocker-local@localhost:3306/devdocker # MariaDB mysql://root:devdocker-local@localhost:3307/devdocker # Oracle (sqlplus / DBeaver) localhost:1521/XEPDB1 user SYSTEM
Comprobar desde WSL:
bash scripts/devdocker.sh verify docker ps # Postgres docker exec -it db_postgres psql -U root -d devdocker -c '\conninfo' # MySQL docker exec -it db_mysql mysql -uroot -pdevdocker-local -e 'SELECT 1' # MariaDB docker exec -it db_mariadb mariadb -uroot -pdevdocker-local -e 'SELECT 1' # Oracle (si está desplegado) docker exec db_oracle healthcheck.sh
WSL: si desde Windows no conecta a localhost:5433, prueba la IP de WSL: wsl hostname -I.
Si algo falla
| Síntoma | Solución |
|---|---|
| Pide Bitbucket | Ctrl+C y repetir comando (script viejo en caché) |
| DbEngine en PowerShell | PowerShell nueva + -OutFile |
| docker: permission denied | newgrp docker o reabrir Ubuntu |
| Jenkins no abre | Esperar deploy o docker logs jenkins |
| Sin servicios | Faltó --deploy → setup --deploy |
Apps opcionales
Tras la infra base, puedes desplegar productos como ControlParking (parqueaderos Yii2 + MySQL propio).
Resumen en 6 pasos
- WSL + Ubuntu instalado
- PowerShell: irm + & con -Fresh -Deploy -DockerEngine -Verify
- wsl --shutdown y reabrir Ubuntu
- verify-docker → todo OK
- Esperar deploy Jenkins
- Abrir localhost:8080 y :8083