Docker
import { Aside } from ‘@astrojs/starlight/components’;
Inicio rapido con Docker
git clone https://github.com/pepetox/osint-ai-one.gitcd osint-ai-onecp .env.example .env# Edita .env con tus API keysPerfiles disponibles
Docker Compose usa perfiles para arrancar diferentes servicios:
| Perfil | Servicio | Comando |
|---|---|---|
cli | Agente interactivo | docker compose run --rm --profile cli osint-agent |
server | MCP Server (puerto 8080) | docker compose --profile server up osint-mcp |
server | A2A Server (puerto 9000) | docker compose --profile server up osint-a2a |
| — | Ollama (puerto 11434) | Se inicia automaticamente como dependencia |
CLI interactivo
docker compose run --rm --profile cli osint-agentAbre el prompt interactivo igual que la instalacion local:
osint> Investiga la IP 185.220.101.34osint> /dashboardosint> /report saveQuery unica
docker compose run --rm --profile cli osint-agent -q "Investiga la IP 8.8.8.8"docker compose run --rm --profile cli osint-agent -q "Analiza el dominio evil.com" -- --jsonServidores MCP y A2A
# Arrancar ambos servidores en segundo planodocker compose --profile server up -d
# Ver logsdocker compose logs -f osint-mcpdocker compose logs -f osint-a2a
# Parardocker compose --profile server downMCP estara disponible en http://localhost:8080/mcp y A2A en http://localhost:9000.
Volumenes
Los datos persisten entre ejecuciones gracias a los volumenes:
| Ruta en host | Ruta en contenedor | Proposito |
|---|---|---|
./data/ | /app/data/ | Bases de datos SQLite + ChromaDB |
./investigaciones/ | /app/investigaciones/ | Estructura de carpetas de investigaciones |
./reports/ | /app/reports/ | Informes de threat intelligence generados |
./logs/ | /app/logs/ | Logs de la aplicacion |
./.env | /app/.env | API keys y configuracion |
Modelo de embeddings pre-instalado
El Dockerfile incluye:
RUN python -c "from sentence_transformers import SentenceTransformer; \ SentenceTransformer('sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2')"Esto evita la descarga en el primer uso y permite funcionar sin acceso a HuggingFace Hub.
Ollama en Docker
Por defecto, la imagen de Docker intenta conectar a Ollama en http://host.docker.internal:11434 (el Ollama corriendo en tu maquina host).
Si quieres Ollama dentro del contenedor:
services: ollama: image: ollama/ollama volumes: - ollama_data:/root/.ollama ports: - "11434:11434"# Despues de arrancardocker compose exec ollama ollama pull qwen3:14bVariables de entorno en Docker
Las mismas que en la instalacion local, via el fichero .env. Docker Compose lo carga automaticamente.
# Verificar que .env esta cargadodocker compose run --rm --profile cli osint-agent -- osint-agent --helpBuild manual de la imagen
docker build -t osint-ai-one .docker run -it --env-file .env osint-ai-one