devdocker — guía paso a paso (WSL2)

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.gzno 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)

ServicioURLLogin develop
Jenkinslocalhost:8080admin / devdocker
Panel devdockerlocalhost:8083devdocker
Portainerlocalhost:9000— (crear al primer acceso)
SonarQubelocalhost:9001 · sonar.localhostadmin / admin (cambiar en 1.er login)
Proxy (gateway)localhost/nginx-healthNginx 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.

BaseHost:puertoUsuario / passwordBase / serviceDesde 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íntomaSolución
Pide BitbucketCtrl+C y repetir comando (script viejo en caché)
DbEngine en PowerShellPowerShell nueva + -OutFile
docker: permission deniednewgrp docker o reabrir Ubuntu
Jenkins no abreEsperar deploy o docker logs jenkins
Sin serviciosFaltó --deploysetup --deploy

Apps opcionales

Tras la infra base, puedes desplegar productos como ControlParking (parqueaderos Yii2 + MySQL propio).

Catálogo de apps · Guía ControlParking paso a paso

Resumen en 6 pasos

  1. WSL + Ubuntu instalado
  2. PowerShell: irm + & con -Fresh -Deploy -DockerEngine -Verify
  3. wsl --shutdown y reabrir Ubuntu
  4. verify-docker → todo OK
  5. Esperar deploy Jenkins
  6. Abrir localhost:8080 y :8083