Ir al contenido

Instalar Presentia

Presentia se compila desde un único Dockerfile multi-stage (EXPOSE 80) que empaqueta toda la app — backend, frontend y assets — así que funciona cualquier plataforma que compile desde un Dockerfile.

Ventana de terminal
git clone https://github.com/diegoparras/presentia.git
cd presentia
docker compose up -d --build production

Abre http://localhost:5001, crea tu login y elige un proveedor de texto en el onboarding — una clave API de OpenRouter es la forma más rápida de desbloquear todos los modelos del catálogo de una vez.

El archivo compose ya monta ./app_data e incluye bloques de servicio comentados para Escriba, Anonimal y una variante GPU. En un host con GPU, docker compose up -d --build production-gpu habilita la aceleración NVIDIA para modelos locales; cambia el puerto con PRESENTON_HTTP_HOST_PORT.

  1. + Service → App, Source → GitHubdiegoparras/presentia (rama main), Build → Dockerfile.
  2. (Recomendado) + Service → Postgres en el mismo proyecto (p. ej. presentia-db). Los servicios se hablan por nombre — <proyecto>_presentia-db:5432, no host.docker.internal.
  3. En el Environment de la App:
    DATABASE_URL=postgresql://usuario:contraseña@<proyecto>_presentia-db:5432/presentia
    MIGRATE_DATABASE_ON_STARTUP=true
    Usa el esquema postgresql:// plano — la app agrega el driver async por sí misma. Deja DATABASE_URL vacía para usar el SQLite integrado.
  4. Mounts → Volume → monta un volumen persistente en /app_data.
  5. Domains → Container Port 80, agrega tu dominio, habilita HTTPS.
  6. Deploy. En el primer arranque las migraciones crean el esquema completo automáticamente.
Ventana de terminal
docker build -t presentia .
docker run -d --name presentia --restart unless-stopped \
-p 5001:80 -v presentia_data:/app_data \
-e MIGRATE_DATABASE_ON_STARTUP=true \
presentia

Pon un reverse proxy delante para TLS. Ejemplo de Caddyfile:

presentia.example.com {
reverse_proxy localhost:5001
}

Todo puede configurarse desde la interfaz de Settings — las variables de entorno son para despliegues headless o restringidos. Las más útiles:

VariablePor defectoDescripción
LLMProveedor de texto: openai, anthropic, google, deepseek, openrouter, ollama, lmstudio, litellm, azure_openai, bedrock, vertex, custom.
<PROVIDER>_API_KEY / <PROVIDER>_MODELCredenciales y modelo por proveedor (p. ej. OPENROUTER_API_KEY + OPENROUTER_MODEL).
IMAGE_PROVIDERgpt-image-1.5, dall-e-3, gemini_flash, pexels, pixabay, comfyui.
WEB_GROUNDING / WEB_SEARCH_PROVIDERapagadoBúsqueda web: searchgirl, searxng, tavily, exa, brave o auto (nativa del modelo).
AUTH_USERNAME / AUTH_PASSWORDSiembra el login en lugar del formulario de primer arranque.
CAN_CHANGE_KEYStruefalse bloquea las claves API para que la interfaz no pueda editarlas.
DATABASE_URLSQLiteApunta a PostgreSQL para despliegues multiusuario.
DATASET_MAX_ROWS200Tope de filas para el endpoint de gráficos desde datos.
DISABLE_ANONYMOUS_TRACKINGDefine true para desactivar la telemetría anónima del upstream.

La matriz completa de proveedores (Azure, Bedrock, Vertex, ComfyUI y más) está documentada en el docker-compose.yml y el .env.example del repo.

Leer la documentación