Saltar al contenido principal

Requisitos previos

Software necesario

HerramientaVersión mínimaNotas
Docker24.xMotor de contenedores
Docker Composev2.20Incluido en Docker Desktop
Git2.xPara clonar el repositorio

No se necesita Java, Node.js ni MySQL instalados localmente — todo corre dentro de los contenedores.

Red Docker externa

El stack usa una red externa llamada proxy_network para comunicarse con Nginx Proxy Manager. Debe existir antes de levantar el stack:

docker network create proxy_network

Si ya tienes Nginx Proxy Manager corriendo en esa red, omite este paso.

Variables de entorno

El backend requiere un archivo .env en backend/. Usa el ejemplo incluido:

cp backend/.env.example backend/.env

Luego edita backend/.env con los valores reales:

# Credenciales de MySQL (deben coincidir con lo que Docker levanta)
DB_USERNAME=root
DB_PASSWORD=tu_password_seguro

# Secreto JWT — mínimo 32 caracteres, cambia en producción
JWT_SECRET=cambia-esto-por-un-secreto-de-al-menos-32-caracteres
Seguridad

Nunca subas el archivo .env real al repositorio. El .gitignore ya lo excluye. Usa contraseñas fuertes y un JWT_SECRET aleatorio en producción.

Puertos utilizados

El stack no expone puertos directamente al host. Todo el acceso externo pasa por Nginx Proxy Manager. Internamente:

ServicioPuerto internoRed
MySQL3306sgi_internal
Backend (Spring Boot)8080sgi_internal, sgi_app
Frontend (Nginx)80sgi_app, proxy_network
Docs (Nginx)80proxy_network