Pular para o conteúdo

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.

Terminal window
git clone https://github.com/diegoparras/presentia.git
cd presentia
docker compose up -d --build production

Abra 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.

  1. + Service → App, Source → GitHubdiegoparras/presentia (branch main), Build → Dockerfile.
  2. (Recomendado) + Service → Postgres no mesmo projeto (ex. presentia-db). Os serviços conversam entre si pelo nome — <project>_presentia-db:5432, não host.docker.internal.
  3. No Environment do App:
    DATABASE_URL=postgresql://user:password@<project>_presentia-db:5432/presentia
    MIGRATE_DATABASE_ON_STARTUP=true
    Use o esquema postgresql:// simples — o app adiciona o driver assíncrono sozinho. Deixe DATABASE_URL vazia para usar o SQLite embutido.
  4. Mounts → Volume → monte um volume persistente em /app_data.
  5. Domains → Container Port 80, adicione seu domínio, habilite HTTPS.
  6. Deploy. Na primeira inicialização, as migrações criam o schema completo automaticamente.
Terminal window
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

Coloque um reverse proxy na frente para TLS. Exemplo de Caddyfile:

presentia.example.com {
reverse_proxy localhost:5001
}

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ávelPadrãoDescrição
LLMProvedor de texto: openai, anthropic, google, deepseek, openrouter, ollama, lmstudio, litellm, azure_openai, bedrock, vertex, custom.
<PROVIDER>_API_KEY / <PROVIDER>_MODELCredenciais e modelo por provedor (ex. OPENROUTER_API_KEY + OPENROUTER_MODEL).
IMAGE_PROVIDERgpt-image-1.5, dall-e-3, gemini_flash, pexels, pixabay, comfyui.
WEB_GROUNDING / WEB_SEARCH_PROVIDERdesativadoBusca web: searchgirl, searxng, tavily, exa, brave ou auto (nativa do modelo).
AUTH_USERNAME / AUTH_PASSWORDPré-define o login em vez do formulário de primeira execução.
CAN_CHANGE_KEYStruefalse trava as chaves de API para que a interface não possa editá-las.
DATABASE_URLSQLiteAponte para o PostgreSQL em deployments multiusuário.
DATASET_MAX_ROWS200Teto de linhas do endpoint de gráficos a partir de dados.
DISABLE_ANONYMOUS_TRACKINGDefina 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.

Ler a documentação