跳转到内容

安装 Presentia

Presentia 从单个多阶段 DockerfileEXPOSE 80)构建,打包了整个应用——后端、 前端与资源——因此任何能从 Dockerfile 构建的平台都可以使用。

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

打开 **http://localhost:5001**,创建你的登录账户,并在引导流程中选择一个文本 提供商——OpenRouter API 密钥是一次性解锁目录中所有模型的最快方式。

compose 文件已经挂载了 ./app_data,并附带 Escriba、Anonimal 和 GPU 变体的已 注释服务块。在 GPU 主机上,docker compose up -d --build production-gpu 可为本地 模型启用 NVIDIA 加速;用 PRESENTON_HTTP_HOST_PORT 更改端口。

  1. + Service → AppSource → GitHubdiegoparras/presentia(分支 main), Build → Dockerfile
  2. (推荐)+ Service → Postgres,位于同一个项目中(例如 presentia-db)。 服务之间按名称通信——<project>_presentia-db:5432而不是 host.docker.internal
  3. 在 App 的 Environment 中:
    DATABASE_URL=postgresql://user:password@<project>_presentia-db:5432/presentia
    MIGRATE_DATABASE_ON_STARTUP=true
    使用朴素的 postgresql:// 方案——应用会自行添加异步驱动。将 DATABASE_URL 留空则改用内置的 SQLite。
  4. Mounts → Volume → 在 /app_data 挂载一个持久卷。
  5. Domains → Container Port 80,添加你的域名,启用 HTTPS。
  6. **Deploy。**首次启动时,迁移会自动创建完整的数据库结构。
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

在前面放一个反向代理来处理 TLS。Caddyfile 示例:

presentia.example.com {
reverse_proxy localhost:5001
}

一切都可以从设置 UI 配置——环境变量面向无头或锁定的部署。最有用的几个:

变量默认值说明
LLM文本提供商:openaianthropicgoogledeepseekopenrouterollamalmstudiolitellmazure_openaibedrockvertexcustom
<PROVIDER>_API_KEY / <PROVIDER>_MODEL各提供商的凭据与模型(例如 OPENROUTER_API_KEY + OPENROUTER_MODEL)。
IMAGE_PROVIDERgpt-image-1.5dall-e-3gemini_flashpexelspixabaycomfyui
WEB_GROUNDING / WEB_SEARCH_PROVIDER关闭网页搜索:searchgirlsearxngtavilyexabraveauto(模型原生)。
AUTH_USERNAME / AUTH_PASSWORD预置登录账户,取代首次运行的表单。
CAN_CHANGE_KEYStrue设为 false 可锁定 API 密钥,使 UI 无法编辑它们。
DATABASE_URLSQLite指向 PostgreSQL 以支持多用户部署。
DATASET_MAX_ROWS200数据生成图表端点的行数上限。
DISABLE_ANONYMOUS_TRACKING设为 true 可禁用上游的匿名遥测。

完整的提供商矩阵(Azure、Bedrock、Vertex、ComfyUI 等)记录在仓库的 docker-compose.yml.env.example 中。

阅读文档