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