Instalar o Presentia
O Presentia é construído a partir de um único Dockerfile multi-stage (EXPOSE 80) que empacota
o app inteiro — backend, frontend e assets — de modo que qualquer plataforma que construa a partir
de um Dockerfile funciona.
Início rápido (Docker Compose)
Seção intitulada “Início rápido (Docker Compose)”git clone https://github.com/diegoparras/presentia.gitcd presentiadocker compose up -d --build productionAbra http://localhost:5001, crie seu login e escolha um provedor de texto no onboarding — uma chave de API da OpenRouter é a forma mais rápida de destravar todos os modelos do catálogo de uma vez.
O arquivo compose já monta ./app_data e traz blocos de serviço comentados para o
Escriba, o Anonimal e uma variante com GPU. Em um host com GPU,
docker compose up -d --build production-gpu habilita a aceleração NVIDIA para modelos locais;
mude a porta com PRESENTON_HTTP_HOST_PORT.
Deploy no EasyPanel
Seção intitulada “Deploy no EasyPanel”- + Service → App, Source → GitHub →
diegoparras/presentia(branchmain), Build → Dockerfile. - (Recomendado) + Service → Postgres no mesmo projeto (ex.
presentia-db). Os serviços conversam entre si pelo nome —<project>_presentia-db:5432, nãohost.docker.internal. - No Environment do App:
Use o esquemaDATABASE_URL=postgresql://user:password@<project>_presentia-db:5432/presentiaMIGRATE_DATABASE_ON_STARTUP=true
postgresql://simples — o app adiciona o driver assíncrono sozinho. DeixeDATABASE_URLvazia para usar o SQLite embutido. - Mounts → Volume → monte um volume persistente em
/app_data. - Domains → Container Port
80, adicione seu domínio, habilite HTTPS. - Deploy. Na primeira inicialização, as migrações criam o schema completo automaticamente.
Docker puro / reverse proxy
Seção intitulada “Docker puro / 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 \ presentiaColoque um reverse proxy na frente para TLS. Exemplo de Caddyfile:
presentia.example.com { reverse_proxy localhost:5001}Principais variáveis de ambiente
Seção intitulada “Principais variáveis de ambiente”Tudo pode ser configurado pela interface de Configurações — as variáveis de ambiente são para deployments headless ou travados. As mais úteis:
| Variável | Padrão | Descrição |
|---|---|---|
LLM | — | Provedor de texto: openai, anthropic, google, deepseek, openrouter, ollama, lmstudio, litellm, azure_openai, bedrock, vertex, custom. |
<PROVIDER>_API_KEY / <PROVIDER>_MODEL | — | Credenciais e modelo por provedor (ex. OPENROUTER_API_KEY + OPENROUTER_MODEL). |
IMAGE_PROVIDER | — | gpt-image-1.5, dall-e-3, gemini_flash, pexels, pixabay, comfyui. |
WEB_GROUNDING / WEB_SEARCH_PROVIDER | desativado | Busca web: searchgirl, searxng, tavily, exa, brave ou auto (nativa do modelo). |
AUTH_USERNAME / AUTH_PASSWORD | — | Pré-define o login em vez do formulário de primeira execução. |
CAN_CHANGE_KEYS | true | false trava as chaves de API para que a interface não possa editá-las. |
DATABASE_URL | SQLite | Aponte para o PostgreSQL em deployments multiusuário. |
DATASET_MAX_ROWS | 200 | Teto de linhas do endpoint de gráficos a partir de dados. |
DISABLE_ANONYMOUS_TRACKING | — | Defina true para desabilitar a telemetria anônima do upstream. |
A matriz completa de provedores (Azure, Bedrock, Vertex, ComfyUI e mais) está documentada no
docker-compose.yml
e no .env.example do repositório.