feat: add Docker deployment for the bot

- Add Dockerfile for Python 3.13 container
- Update docker-compose with naliia_bot service
- Add DB_HOST config for container networking
- Add .dockerignore for build optimization
- Update README with Docker documentation
This commit is contained in:
2026-03-08 00:18:51 -05:00
parent c5022ff210
commit 3431a37119
6 changed files with 103 additions and 14 deletions

View File

@@ -9,6 +9,7 @@ Agente conversacional basado en LangGraph para gestión de agenda y atención al
- Integración con modelos LLM (Anthropic Claude, DeepSeek)
- API FastAPI para interacción
- Checkpointing con PostgreSQL para persistencia de estado
- Deploy con Docker y Docker Compose
- Tests completos con pytest
## Estructura del proyecto
@@ -36,7 +37,9 @@ NaliiaBot/
│ ├── mcp/ # Servidor MCP
│ └── ui/ # Frontend
├── tests/
├── docker-compose.yaml # PostgreSQL para checkpointing
├── docker-compose.yaml # PostgreSQL + Bot
├── Dockerfile # Imagen del Bot
├── .dockerignore
├── pyproject.toml # Configuración Poetry
└── README.md
```
@@ -44,11 +47,27 @@ NaliiaBot/
## Requisitos
- Python 3.13+
- PostgreSQL (via Docker)
- Docker y Docker Compose
- MCP server ejecutándose en `http://localhost:8001/mcp`
## Instalación
### Docker (Recomendado)
```bash
# Configurar variables de entorno
cp .env.example .env
# Editar .env con tus configuraciones
# Iniciar servicios
docker-compose up --build
# Ver logs
docker-compose logs -f naliia_bot
```
### Local (Desarrollo)
```bash
# Instalar dependencias con Poetry
poetry install
@@ -60,14 +79,24 @@ cp .env.example .env
## Uso
### Iniciar servicios
### Docker
```bash
# Iniciar todos los servicios (PostgreSQL + Bot)
docker-compose up -d
# Detener servicios
docker-compose down
# Reconstruir imagen
docker-compose build --no-cache
```
### Desarrollo local
```bash
# Iniciar PostgreSQL
docker-compose up -d
# Iniciar servidor MCP
# (configurar según implementación)
docker-compose up -d messages_db
# Iniciar API
task dev
@@ -86,10 +115,18 @@ task dev
| Variable | Descripción | Valor por defecto |
|----------|-------------|-------------------|
| `LLM_MODEL` | Modelo LLM a usar | `deepseek` |
| `POSTGRES_HOST` | Host de PostgreSQL | `localhost` |
| `POSTGRES_USER` | Usuario PostgreSQL | `postgres` |
| `POSTGRES_PASSWORD` | Contraseña PostgreSQL | `postgres` |
| `POSTGRES_DB` | Base de datos | `messages` |
## Servicios
| Servicio | Puerto | Descripción |
|---------|--------|-------------|
| `messages_db` | 5432 | PostgreSQL para checkpointing |
| `naliia_bot` | 8010 | API FastAPI del bot |
## Tools disponibles
El agente cuenta con las siguientes herramientas: