# Manual del Superadministrador - GanttScrum Pro

Este documento es de carácter confidencial y contiene la información sensible de infraestructura, accesos de red, usuarios de base de datos, contraseñas y el procedimiento detallado para el aprovisionamiento de copias de seguridad de GanttScrum Pro.

---

## 1. Conexiones, Puertos e Infraestructura de Servidores

### A. Servidor de Producción Principal
*   **IP Privada:** `10.30.0.214`
*   **Sistema Operativo:** Ubuntu Server / Debian Linux.
*   **Servicio Web (Frontend):** Servido en el puerto estándar `80` (HTTP) mediante Nginx.
*   **Servicio de Aplicación (Backend FastAPI):** Ejecutándose en el puerto local `8000` redirigido por Nginx.

### B. Servidor de Enlace (Bridge SSH)
*   **IP de Salto:** `10.30.0.167`
*   **Usuario SSH:** `apn`
*   **Contraseña SSH:** `1Qaz2wsx`
*   *Nota:* Las migraciones y despliegues se ejecutan copiando archivos al servidor de enlace `.167` y luego transfiriéndolos vía script al servidor `.214`.

---

## 2. Credenciales y Conexiones de Base de Datos PostgreSQL

El motor PostgreSQL corre de forma interna en la IP `10.30.0.214` en el puerto estándar `5432`.

### A. Base de Datos del Sistema
*   **Nombre de la Base de Datos:** `gestion_proyectos`

### B. Usuario Administrador de Base de Datos (Migraciones)
*   **Usuario:** `jampuero`
*   **Contraseña:** `JAC26!`
*   *Uso:* Se utiliza para ejecutar scripts de migración DDL, crear tablas, alterar esquemas y otorgar permisos.

### C. Usuario de Aplicación (FastAPI Backend)
*   **Usuario:** `project_admin`
*   **Contraseña:** `JAC26!`
*   *Uso:* Es el usuario con el que se levanta la aplicación FastAPI y tiene privilegios de DML (LECTURA/ESCRITURA) sobre las tablas.
*   *Cadena de conexión de la aplicación (SQLAlchemy Asíncrono):*
    ```
    postgresql+asyncpg://project_admin:JAC26!@localhost:5432/gestion_proyectos
    ```

---

## 3. Respaldos y Restauraciones de Base de Datos

### A. Comando para generar un Dump SQL de la Base de Datos
Desde la terminal del servidor `10.30.0.214`, ejecuta el comando para exportar el esquema y todos los datos:
```bash
PGPASSWORD='JAC26!' pg_dump -h localhost -U jampuero -d gestion_proyectos -f /tmp/backup_gestion_proyectos.sql
```
Este archivo `/tmp/backup_gestion_proyectos.sql` contendrá la definición de todas las tablas, secuencias, relaciones y datos iniciales listos para restaurarse.

### B. Comando para Restaurar el Dump SQL
En caso de migración o recuperación de fallos:
1.  Elimina y vuelve a crear la base de datos limpia:
    ```sql
    DROP DATABASE IF EXISTS gestion_proyectos;
    CREATE DATABASE gestion_proyectos OWNER TO project_admin;
    ```
2.  Importa el dump SQL:
    ```bash
    PGPASSWORD='JAC26!' psql -h localhost -U jampuero -d gestion_proyectos -f /tmp/backup_gestion_proyectos.sql
    ```
3.  Verifica los permisos del propietario sobre las nuevas tablas:
    ```sql
    ALTER TABLE project_roadmap_versions OWNER TO project_admin;
    ALTER SEQUENCE project_roadmap_versions_id_seq OWNER TO project_admin;
    ALTER TABLE project_report_versions OWNER TO project_admin;
    ALTER SEQUENCE project_report_versions_id_seq OWNER TO project_admin;
    ```
