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.
Inicio rápido (Docker Compose)
Sección titulada «Inicio rápido (Docker Compose)»git clone https://github.com/diegoparras/presentia.gitcd presentiadocker compose up -d --build productionAbre 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.
Desplegar en EasyPanel
Sección titulada «Desplegar en EasyPanel»- + Service → App, Source → GitHub →
diegoparras/presentia(ramamain), Build → Dockerfile. - (Recomendado) + Service → Postgres en el mismo proyecto (p. ej.
presentia-db). Los servicios se hablan por nombre —<proyecto>_presentia-db:5432, nohost.docker.internal. - En el Environment de la App:
Usa el esquemaDATABASE_URL=postgresql://usuario:contraseña@<proyecto>_presentia-db:5432/presentiaMIGRATE_DATABASE_ON_STARTUP=true
postgresql://plano — la app agrega el driver async por sí misma. DejaDATABASE_URLvacía para usar el SQLite integrado. - Mounts → Volume → monta un volumen persistente en
/app_data. - Domains → Container Port
80, agrega tu dominio, habilita HTTPS. - Deploy. En el primer arranque las migraciones crean el esquema completo automáticamente.
Docker plano / reverse proxy
Sección titulada «Docker plano / reverse proxy»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 \ presentiaPon un reverse proxy delante para TLS. Ejemplo de Caddyfile:
presentia.example.com { reverse_proxy localhost:5001}Principales variables de entorno
Sección titulada «Principales variables de entorno»Todo puede configurarse desde la interfaz de Settings — las variables de entorno son para despliegues headless o restringidos. Las más útiles:
| Variable | Por defecto | Descripción |
|---|---|---|
LLM | — | Proveedor de texto: openai, anthropic, google, deepseek, openrouter, ollama, lmstudio, litellm, azure_openai, bedrock, vertex, custom. |
<PROVIDER>_API_KEY / <PROVIDER>_MODEL | — | Credenciales y modelo por proveedor (p. ej. OPENROUTER_API_KEY + OPENROUTER_MODEL). |
IMAGE_PROVIDER | — | gpt-image-1.5, dall-e-3, gemini_flash, pexels, pixabay, comfyui. |
WEB_GROUNDING / WEB_SEARCH_PROVIDER | apagado | Búsqueda web: searchgirl, searxng, tavily, exa, brave o auto (nativa del modelo). |
AUTH_USERNAME / AUTH_PASSWORD | — | Siembra el login en lugar del formulario de primer arranque. |
CAN_CHANGE_KEYS | true | false bloquea las claves API para que la interfaz no pueda editarlas. |
DATABASE_URL | SQLite | Apunta a PostgreSQL para despliegues multiusuario. |
DATASET_MAX_ROWS | 200 | Tope de filas para el endpoint de gráficos desde datos. |
DISABLE_ANONYMOUS_TRACKING | — | Define 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.