项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-09-19 · 当前星标 ★ 2929
使用教程
环境要求
- 已安装并可运行 Docker 的机器(README 未给出 Docker 安装方式)
- 默认 Web 端口 1349 未被占用
- 生产部署建议准备 Postgres 17 与 Redis 8(可用 Compose 一并拉起)
- 如需 CUDA 加速,需 NVIDIA GPU 并使用官方 GPU Compose 文件
安装与启动步骤
-
1准备 Docker 环境
确认本机 Docker 可正常运行容器。README 未提供 Docker 安装步骤,请先自行安装好 Docker 再继续。
-
2一键启动容器
用官方镜像后台启动 SnapOtter,映射 1349 端口,并把 /data 挂到命名卷做数据持久化。
docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latest -
3访问并登录
浏览器打开 http://localhost:1349,用默认账号 admin / admin 登录,首次登录会被要求修改密码。
-
4编写生产 Compose 文件
生产环境用 3 容器栈(app + Postgres 17 + Redis 8)。把示例内容保存为 compose.yaml。
services: snapotter: image: snapotter/snapotter:latest ports: ["1349:1349"] environment: DATABASE_URL: postgres://snapotter:snapotter@postgres:5432/snapotter REDIS_URL: redis://redis:6379 volumes: - SnapOtter-data:/data depends_on: [postgres, redis] restart: unless-stopped postgres: image: postgres:17-alpine environment: POSTGRES_USER: snapotter POSTGRES_PASSWORD: snapotter POSTGRES_DB: snapotter volumes: ["SnapOtter-pgdata:/var/lib/postgresql/data"] restart: unless-stopped redis: image: redis:8-alpine volumes: ["SnapOtter-redisdata:/data"] restart: unless-stopped volumes: SnapOtter-data: SnapOtter-pgdata: SnapOtter-redisdata: -
5启动 Compose 栈
在 compose.yaml 所在目录执行,后台拉起 snapotter、postgres、redis 三个容器。
docker compose up -d -
6启用 NVIDIA GPU(可选)
有 NVIDIA GPU 时可改用官方 GPU Compose 文件获得 CUDA 加速,标签细节见官方文档。
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
DATABASE_URL | 否 | 应用连接 Postgres 的数据库连接串,仅 Compose 生产栈使用 | postgres://snapotter:snapotter@postgres:5432/snapotter |
REDIS_URL | 否 | 应用连接 Redis 的地址,仅 Compose 生产栈使用 | redis://redis:6379 |
POSTGRES_USER | 否 | Postgres 用户名 | snapotter |
POSTGRES_PASSWORD | 否 | Postgres 密码,非本地部署务必修改 | snapotter |
POSTGRES_DB | 否 | Postgres 数据库名 | snapotter |
ports | 是 | Web 界面端口映射,容器内监听 1349 | 1349:1349 |
如何确认成功
浏览器打开 http://localhost:1349,出现登录页并能用 admin / admin 登录,即部署成功。
常见问题
Q:默认用户名和密码是什么?
A:用户名 admin,密码 admin。登录后会要求你修改密码。
Q:单容器和 Compose 该怎么选?
A:个人试用或家庭环境用一条 docker run 即可;生产环境用 3 容器 Compose 栈(app + Postgres 17 + Redis 8)。
Q:支持 GPU 加速吗?
A:NVIDIA GPU 可用官方 GPU Compose 文件实现 CUDA 加速;Intel/AMD 核显的 VA-API、Quick Sync、OpenCL 目前不支持 AI 推理加速。
Q:数据会随容器删除而丢失吗?
A:不会。Compose 中挂载了 SnapOtter-data、SnapOtter-pgdata、SnapOtter-redisdata 三个持久卷。
Q:非本地部署要注意什么?
A:README 明确指出:任何非本地部署都必须修改 POSTGRES_PASSWORD,不要沿用示例值 snapotter。
注意事项
- 默认密码 admin/admin 仅适合本地试用,首次登录后请立即修改。
- 对外部署前必须更换 POSTGRES_PASSWORD 等示例凭据。
- Intel/AMD 核显不支持 AI 推理加速,这类机器上 AI 工具会跑在 CPU 上。
- OCR 在纯 CPU 与 NVIDIA 主机上都使用同一套便携 CPU 运行时;更多部署选项与 Docker 标签见 docs.snapotter.com。
核心亮点
- 支持图片、视频、音频、PDF、文档等多种格式,功能覆盖转换、压缩、OCR、转写和本地AI推理
- 提供UI、REST API和流水线三种使用方式,方便手动操作和自动化集成
- 完全自托管,文件不离开本地网络,满足数据隐私和合规要求
不足之处
- 项目仍在成长中,部分高级功能(如本地AI模型)可能需要额外配置和硬件资源
- 文档和社区生态相对较新,遇到问题时可参考的案例和解决方案有限
适用场景
- 医疗或法律机构需要处理敏感文件,要求数据不出内网,使用SnapOtter进行OCR和格式转换
- 家庭实验室用户搭建个人媒体处理中心,批量压缩视频、转写音频
- 开发者在应用中集成文件处理能力,通过REST API或流水线自动完成图片压缩和PDF转换
替代项目
Stirling PDF、Pandoc
下一篇:uxie
同类项目推荐
MADOLA
开源
一份文件写公式、算结果、出代码
MADOLA integrates mathematical notation, computation, documentation, and code genera···
Parrot
开源
Mac 开会边录边答,资料全留本地
Meeting recorder for your Mac with a live AI assistant. On-device transcription, ans···
feishu-md2wechat
开源
飞书文档一键排版,直接粘贴发公众号
飞书 → WeChat | 飞书文档一键排版转换发布到微信公众号,支持多主题
AI-Gist
开源
把散落的提示词变成可复用模板,一键调用
✨ AI Gist 是一款隐私优先的 AI 提示词管理工具,致力于让个人收藏的 AI 提示词能够发挥最···
SnapOtter
开源
自托管文件处理,转换压缩OCR转写,文件不出内网
Open-source, self-hosted file-processing tool. Convert, compress, OCR, transcribe & ···
editor
开源
用 Vue 打造 Notion 级编辑器,AI 协作一步到位
Notion-like WYSIWYG editor with AI-powered completions and real-time collaboration i···
ai-assistant-demo
开源
用自然语言指挥PDF干活,文档操作省心省力
AI Document Assistant for PSPDFKit Demo showcases how to interact with PDFs using na···
docxtemplater
开源
用 Word 模板 + JSON 数据,一键生成批量文档
Generate docx, pptx, and xlsx from templates (Word, Powerpoint and Excel documents),···
Shotnix
开源
Mac 上截图录屏加剪辑,一条龙出演示素材
Free, open-source screenshot tool, screen recorder, and video editor for Mac. Auto-z···