Se actualizo README.md con informacion para el deploy

This commit is contained in:
2026-09-04 21:03:02 -03:00
parent 5dcf3b75f1
commit 7cd70be274
+71 -3
View File
@@ -106,12 +106,74 @@ El menú desplegable **Gestión** en la barra de navegación organiza las áreas
## 🚀 Instalación y Puesta en Marcha
### Prerrequisitos
### ⚡ Opción A — Deploy Automático en Debian 12 LXC (Recomendado)
El repositorio incluye un instalador interactivo (`install.sh`) que configura todo el entorno de producción automáticamente: dependencias del sistema, PostgreSQL, entorno virtual Python, inicialización de base de datos y servicio systemd con Gunicorn.
#### Prerrequisitos
* Contenedor LXC o servidor con **Debian 12 (Bookworm)**
* Acceso **root** (o `sudo`)
* Conexión a Internet
#### Pasos
```bash
# 1. Clonar el repositorio
git clone https://gitea.oemspot.com.ar/carlostellocba/admin-edu-space.git
cd admin-edu-space
# 2. Dar permisos de ejecución al instalador
chmod +x install.sh
# 3. Ejecutar el instalador como root
sudo bash install.sh
```
Durante la ejecución el instalador solicitará únicamente la **contraseña para el usuario de base de datos** (si se deja vacío usa `eduspace2024` por defecto).
#### Qué instala y configura automáticamente
| Paso | Acción |
| :--- | :--- |
| 1 | Configura locale `en_US.UTF-8` en el sistema (previene errores de encoding) |
| 2 | Instala Python 3, venv, pip, build-tools, libpq-dev y PostgreSQL |
| 3 | Inicia y habilita el servicio PostgreSQL para el arranque automático |
| 4 | Genera `SECRET_KEY` aleatoria y crea el archivo `.env` de producción |
| 5 | Crea el usuario `eduspace_user` y la base de datos `classrooms_db` en PostgreSQL |
| 6 | Crea el virtualenv e instala todas las dependencias + Gunicorn |
| 7 | Ejecuta `init_db.py` (tablas, roles RBAC, edificios y usuario admin inicial) |
| 8 | Crea el usuario del sistema `eduspace` (sin shell, por seguridad) |
| 9 | Registra y arranca el servicio systemd `admin-edu-space` en el puerto **5000** |
| 10 | Muestra resumen con URL, credenciales y comandos de gestión |
#### Comandos de gestión post-instalación
```bash
# Ver estado del servicio
systemctl status admin-edu-space
# Ver logs en tiempo real
journalctl -u admin-edu-space -f
# Reiniciar la aplicación
systemctl restart admin-edu-space
# Detener la aplicación
systemctl stop admin-edu-space
```
> **Nota:** Si el archivo `.env` ya existe en el directorio (por ejemplo, copiado manualmente antes de correr el instalador), el script lo conserva sin sobrescribirlo.
---
### 🖥️ Opción B — Instalación Manual (Desarrollo Local)
#### Prerrequisitos
1. **Python 3.10 o superior**
2. **PostgreSQL** en ejecución con una base de datos creada (ej. `classrooms_db`).
3. **Git**
### Pasos de Configuración
#### Pasos de Configuración
1. **Clonar el repositorio:**
```bash
@@ -137,7 +199,10 @@ El menú desplegable **Gestión** en la barra de navegación organiza las áreas
```
4. **Configurar variables de entorno (`.env`):**
Crear o editar el archivo `.env` en la raíz del proyecto:
Copiar la plantilla y editar con los valores de tu entorno:
```bash
cp .env.example .env
```
```env
SECRET_KEY=clave-secreta-de-produccion-cambiar-en-despliegue
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/classrooms_db
@@ -170,6 +235,8 @@ El menú desplegable **Gestión** en la barra de navegación organiza las áreas
| :--- | :--- | :--- | :--- |
| **Administrador del Sistema** | `admin@edu-space.com` | `admin123` | `Admin` (Acceso Total) |
> ⚠️ **Importante:** Cambiá la contraseña del administrador inmediatamente después del primer acceso.
---
## 📁 Estructura del Proyecto
@@ -233,6 +300,7 @@ admin-edu-space/
│ └── decorators.py # Decoradores RBAC (@permission_required, can_manage, etc.)
├── config/ # Configuraciones de entorno (desarrollo, testing, prod)
├── translations/ # Catálogos GNU gettext compilados (es / en)
├── install.sh # Instalador automático para Debian 12 LXC
├── init_db.py # Inicializador DDL y semillero de datos
├── CHANGELOG_SESSION.md # Historial técnico cronológico
├── requirements.txt # Dependencias Python