# Bitácora del Proyecto: Francia Ocupada (La Resistencia) **Fecha:** 10 de Diciembre de 2025 **Versión actual:** v1.0 --- ## 1. Resumen de Actividades Realizadas ### 🔧 Corrección de Entornos (Desarrollo vs Producción) - **Problema detectado:** La aplicación en producción (`franciaocupada.martivich.es`) intentaba conectarse a `localhost`, provocando advertencias de seguridad en el navegador y fallos de conexión desde redes externas. - **Solución implementada:** - Se han separado los archivos de orquestación de Docker: 1. `docker-compose.yml`: Configurado para desarrollo local (`localhost:3000` y `localhost:4000`). 2. `docker-compose_prod.yml`: Nuevo archivo optimizado para producción. - Se configuraron las variables de entorno `NEXT_PUBLIC_API_URL` y `CORS_ORIGIN` para apuntar al dominio público en el archivo de producción. ### 🌐 Configuración de Proxy Inverso (Nginx Proxy Manager) - Se ha definido la arquitectura correcta para el despliegue tras un Nginx Proxy Manager: - **Frontend:** `franciaocupada.martivich.es` -> Redirige al contenedor cliente (puerto 3000). - **Backend (API):** `api.franciaocupada.martivich.es` -> Redirige al contenedor servidor (puerto 4000). - Se habilitó soporte para **WebSockets** y **SSL** (Force SSL, HTTP/2) en el proxy. ### 📦 Gestión de Versiones (Git & Gitea) - **Release v1.0:** - Se creó un commit de consolidación ("Release v1.0"). - Se etiquetó la versión con `git tag v1.0`. - Se normalizó la rama principal renombrándola de `fix-gameboard` a `main`. - **Configuración del Repositorio Remoto:** - Se cambió el nombre del repositorio en Gitea a **FranciaOcupada**. - Se configuró la autenticación mediante **HTTPS + Token Personal** (más didáctico para la docencia) en lugar de SSH. - Se configuró el `credential.helper store` para evitar reintroducir credenciales constantemente. - Se añadió `GiteaToken.txt` al `.gitignore` por seguridad. - Se realizó la subida inicial completa (`git push -u origin main` y `git push origin --tags`). --- ## 2. Próximos Pasos (Roadmap) ### 🚀 Implementación de CI/CD (Gitea Actions) El siguiente gran objetivo es automatizar el ciclo de vida del desarrollo. #### Pipeline de Integración Continua (Local/Dev) - **Objetivo:** Ejecutar pruebas automáticas al hacer push para asegurar la calidad del código. - **Herramientas:** Gitea Actions (compatible con sintaxis GitHub Actions). #### Pipeline de Despliegue Continuo (Producción) - **Objetivo:** Desplegar automáticamente la nueva versión en el servidor cuando se publique un Tag (ej: `v1.1`). - **Tareas pendientes:** 1. Habilitar/Verificar Runners en Gitea. 2. Crear el archivo workflow `.gitea/workflows/deploy.yaml`. 3. Configurar la construcción de imágenes Docker y su subida al Gitea Container Registry. 4. Automatizar el comando de despliegue en el servidor remoto vía SSH (`docker compose -f ... up -d`). ### 🛠️ Mejoras Futuras - Revisar logs de producción para posibles ajustes de rendimiento. - Documentar el proceso de alta de nuevos desarrolladores (alumnos).