部署
一切都从一个预构建镜像运行:ghcr.io/diegoparras/escriba:latest。
它内置了 ffmpeg、Tesseract OCR、Whisper 和一个嵌入式 Redis —— 无需额外服务。
- Project → + Service → App,然后将 Source → Docker Image 设为
ghcr.io/diegoparras/escriba:latest。 - 添加你的环境变量(参见 配置)。
- 在 Domains 下,设置 Container Port
8000,添加你的域名并启用 HTTPS。 - Deploy。
git clone https://github.com/diegoparras/escriba.gitcd escribacp .env.example .env # set your secretsdocker compose up -d --buildStacks → Add stack → Repository,使用
https://github.com/diegoparras/escriba,compose 路径为 docker-compose.yml
(或在网页编辑器中粘贴 compose 文件)。设置好环境变量并
部署;应用监听 8000 端口。
Create Application → GitHub(仓库 diegoparras/escriba),选择 Build Type:
Dockerfile,添加你的环境变量,将域名指向 Container Port
8000 并启用 HTTPS,然后部署。
docker build -t escriba .docker run -d --name escriba --restart unless-stopped -p 8000:8000 \-e SECRET_KEY="$(openssl rand -hex 32)" -e GOD_PASSWORD="change-me" escriba若需 TLS,请在前面放一个反向代理。示例 Caddyfile(自动 HTTPS):
example.com { reverse_proxy localhost:8000}用 Nginx 时,代理到 localhost:8000 并为大文件上传调高 client_max_body_size。
要启用 PII 脱敏,请在 Escriba 旁边运行内部的 Anonimal
服务,并将 ANONIMAL_URL 指向它(例如
http://anonimal:8000)。将 ANONIMAL_URL 留空则可完全隐藏该功能。
默认情况下,应用会为每个 CPU 核心生成一个 worker,从而适配任何主机
(单核 VPS → 1 个 worker;24 线程服务器 → 24 个)。每个 worker 使用约 250 MB 内存;
将 WEB_CONCURRENCY 设为一个固定数字即可为其设上限。