SnapOtter

自托管文件处理,转换压缩OCR转写,文件不出内网

开源 🏷️基础免费,高级付费 ✅ 目前可打开 办公效率 🍴 复刻 174 🐛 待处理 263 👀 关注 5
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 2929
维护状态 活跃
是否开源 开源
定价模式 🏷️基础免费,高级付费 支持限时试用 · 开源可自托管免费使用,官网或提供云服务付费方案,定价信息待确认

项目预览

SnapOtter 项目界面预览图
图片来源:项目官网

项目数据

分类办公效率
开发团队snapotter-hq
定价模式🏷️基础免费,高级付费
价格说明开源可自托管免费使用,官网或提供云服务付费方案,定价信息待确认
访问状态✅ 目前可打开
是否开源是
开源协议AGPL-3.0
主要语言TypeScript
技术栈/模型ai,airgap,audio-processing,compliance,docker,file-conversion,file-processing,homelab,image-editor,image-processing,media-processing,on-premise,open-source,pdf,privacy,rest-api,self-hosted,typescript,video,video-processing
GitHub 星标★ 2929
上线时间2026-03-29 00:00:00
代码更新2026-11-02
仓库体积297.5 MB
本站数据更新2026-11-03
维护状态活跃
收录时间2026-09-19
浏览次数1

项目介绍

SnapOtter 是一个开源、可自托管的文件处理工具,旨在解决个人和企业处理图片、视频、音频、PDF 及文档时依赖云端服务导致的数据隐私和合规问题。它集成了格式转换、压缩、OCR 文字识别、语音转写以及本地 AI 推理等能力,所有处理都在你自己的网络内完成,文件无需上传到第三方服务器。用户可以通过图形界面、REST API 或流水线(pipelines)三种方式调用这些功能,适合批量处理或自动化集成。项目使用 TypeScript 编写,支持 Docker 部署,面向注重数据安全、需要离线处理媒体文件的场景,如医疗、法律、金融等对隐私要求高的行业,以及家庭实验室(homelab)用户。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-09-19 · 当前星标 ★ 2929

使用教程

难度:入门 约 10 分钟 部署方式:Docker 6 步

环境要求

  • 已安装并可运行 Docker 的机器(README 未给出 Docker 安装方式)
  • 默认 Web 端口 1349 未被占用
  • 生产部署建议准备 Postgres 17 与 Redis 8(可用 Compose 一并拉起)
  • 如需 CUDA 加速,需 NVIDIA GPU 并使用官方 GPU Compose 文件

安装与启动步骤

  1. 1准备 Docker 环境

    确认本机 Docker 可正常运行容器。README 未提供 Docker 安装步骤,请先自行安装好 Docker 再继续。

  2. 2一键启动容器

    用官方镜像后台启动 SnapOtter,映射 1349 端口,并把 /data 挂到命名卷做数据持久化。

    docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latest
  3. 3访问并登录

    浏览器打开 http://localhost:1349,用默认账号 admin / admin 登录,首次登录会被要求修改密码。

  4. 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. 5启动 Compose 栈

    在 compose.yaml 所在目录执行,后台拉起 snapotter、postgres、redis 三个容器。

    docker compose up -d
  6. 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 界面端口映射,容器内监听 13491349: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

上一篇:crosspaste-desktop

下一篇:uxie

同类项目推荐

MADOLA 开源

一份文件写公式、算结果、出代码

MADOLA integrates mathematical notation, computation, documentation, and code genera···

★ 166 2026-09-14
Parrot 开源

Mac 开会边录边答,资料全留本地

Meeting recorder for your Mac with a live AI assistant. On-device transcription, ans···

★ 122 2026-10-15
feishu-md2wechat 开源

飞书文档一键排版,直接粘贴发公众号

飞书 → WeChat | 飞书文档一键排版转换发布到微信公众号,支持多主题

★ 63 2026-08-09
AI-Gist 开源

把散落的提示词变成可复用模板,一键调用

✨ AI Gist 是一款隐私优先的 AI 提示词管理工具,致力于让个人收藏的 AI 提示词能够发挥最···

★ 910 2026-09-16
SnapOtter 开源

自托管文件处理,转换压缩OCR转写,文件不出内网

Open-source, self-hosted file-processing tool. Convert, compress, OCR, transcribe & ···

★ 2929 2026-09-19
editor 开源

用 Vue 打造 Notion 级编辑器,AI 协作一步到位

Notion-like WYSIWYG editor with AI-powered completions and real-time collaboration i···

★ 171 2026-08-09
ai-assistant-demo 开源

用自然语言指挥PDF干活,文档操作省心省力

AI Document Assistant for PSPDFKit Demo showcases how to interact with PDFs using na···

★ 68 2026-08-09
docxtemplater 开源

用 Word 模板 + JSON 数据,一键生成批量文档

Generate docx, pptx, and xlsx from templates (Word, Powerpoint and Excel documents),···

★ 3647 2026-10-06
Shotnix 开源

Mac 上截图录屏加剪辑,一条龙出演示素材

Free, open-source screenshot tool, screen recorder, and video editor for Mac. Auto-z···

★ 120 2026-10-24