docs

docs

开源轻量级文档管理系统

Teedy是一款开源轻量级文档管理系统,适用于个人和企业用户。系统提供响应式界面、OCR识别、全文搜索和文件加密等功能,支持图片、PDF和Office等多种格式。Teedy还具备工作流、权限管理和审计日志等企业级特性,可通过Docker快速部署,满足安全高效的文档管理需求。

Teedy文档管理系统开源软件Docker数据库Github开源项目
<h3 align="center"> <img src="https://yellow-cdn.veclightyear.com/0a4dffa0/dd1dc825-3e62-4db7-b57d-bddf77c0533e.png" alt="Teedy" width=500 /> </h3>

许可证: GPL v2 Maven CI/CD

Teedy是一个面向个人和企业的开源轻量级文档管理系统。

<hr /> <h2 align="center"> ✨ <a href="https://github.com/users/jendib/sponsorship">如果您使用并喜欢这个项目,请赞助它!</a> ✨ </h2> <hr />

新功能!

演示

演示可在 demo.teedy.io 上查看

  • 访客登录已启用,可对所有文档进行只读访问
  • "admin"登录,密码为"admin"
  • "demo"登录,密码为"password"

功能

  • 响应式用户界面
  • 光学字符识别
  • LDAP身份验证 新功能!
  • 支持图像、PDF、ODT、DOCX、PPTX文件
  • 视频文件支持
  • 灵活的搜索引擎,具有建议和高亮功能
  • 支持所有文件的全文搜索
  • 所有都柏林核心元数据
  • 自定义用户元数据 新功能!
  • 工作流系统 新功能!
  • 存储文件的256位AES加密
  • 文件版本控制 新功能!
  • 支持嵌套的标签系统
  • 从电子邮件导入文档(EML格式)
  • 自动收件箱扫描和导入
  • 用户/组权限系统
  • 双因素身份验证
  • 分层群组
  • 审计日志
  • 评论功能
  • 每用户存储配额
  • 通过URL分享文档
  • RESTful Web API
  • 触发外部服务的Webhooks
  • 功能齐全的Android客户端
  • 批量文件导入器(单个或扫描模式)
  • 已测试可支持一百万份文档

使用Docker安装

提供了一个预配置的Docker镜像,包含OCR和媒体转换工具,监听8080端口。如果未提供PostgreSQL配置,数据库将使用嵌入式H2数据库。H2嵌入式数据库仅应用于测试。对于生产环境,请使用提供的PostgreSQL配置(请查看Docker Compose示例)

默认管理员密码是"admin"。在投入生产使用之前,请务必更改它。

  • 主分支,可能不稳定。不建议用于生产环境:sismics/docs:latest
  • 最新稳定版本:sismics/docs:v1.11

数据目录为/data。别忘了在上面挂载一个卷。

要构建外部URL,服务器需要一个DOCS_BASE_URL环境变量(例如https://teedy.mycompany.com)

可用的环境变量

  • 通用

    • DOCS_BASE_URL:应用程序使用的基础URL。生成的URL将以此为基础。
    • DOCS_GLOBAL_QUOTA:定义适用于所有用户的默认配额。
    • DOCS_BCRYPT_WORK:定义用于密码哈希的工作因子。默认值为10。该值可以是4...31,包括431。指定的值将用于所有新用户和更改密码的用户。请注意,将此因子设置得过高可能会严重影响登录和用户创建性能。
  • 管理员

    • DOCS_ADMIN_EMAIL_INIT:定义初始化时管理员用户应具有的电子邮件地址。
    • DOCS_ADMIN_PASSWORD_INIT:定义初始化时管理员用户应具有的密码。需要是bcrypt哈希值。请注意,哈希值中的$必须用第二个$转义。
  • 数据库

    • DATABASE_URLhibernate使用的jdbc连接字符串。
    • DATABASE_USER:用于数据库连接的用户。
    • DATABASE_PASSWORD:用于数据库连接的密码。
    • DATABASE_POOL_SIZE:用于数据库连接的连接池大小。
  • 语言

    • DOCS_DEFAULT_LANGUAGE:将作为默认语言使用的语言。目前支持的值包括:
      • eng, fra, ita, deu, spa, por, pol, rus, ukr, ara, hin, chi_sim, chi_tra, jpn, tha, kor, nld, tur, heb, hun, fin, swe, lav, dan
  • 电子邮件

    • DOCS_SMTP_HOSTNAME:Teedy使用的SMTP服务器的主机名。
    • DOCS_SMTP_PORT:应使用的端口。
    • DOCS_SMTP_USERNAME:要使用的用户名。
    • DOCS_SMTP_PASSWORD:要使用的密码。

示例

在以下示例中,一些密码以明文形式显示。这是为了保持示例简单。我们强烈建议您使用带有.env文件的变量或其他方式来安全地存储密码。

默认,使用PostgreSQL

version: '3' services: # Teedy应用 teedy-server: image: sismics/docs:v1.11 restart: unless-stopped ports: # 将内部端口映射到主机 - 8080:8080 environment: # 要使用的基础URL DOCS_BASE_URL: "https://docs.example.com" # 设置管理员邮箱 DOCS_ADMIN_EMAIL_INIT: "admin@example.com" # 设置管理员密码(在本例中为:"superSecure") DOCS_ADMIN_PASSWORD_INIT: "$$2a$$05$$PcMNUbJvsk7QHFSfEIDaIOjk1VI9/E7IPjTKx.jkjPxkx2EOKSoPS" # 设置数据库连接。"teedy-db"是主机名 # "teedy"是应用程序将连接到的数据库名称。 DATABASE_URL: "jdbc:postgresql://teedy-db:5432/teedy" DATABASE_USER: "teedy_db_user" DATABASE_PASSWORD: "teedy_db_password" DATABASE_POOL_SIZE: "10" volumes: - ./docs/data:/data networks: - docker-internal - internet depends_on: - teedy-db # Teedy的数据库 teedy-db: image: postgres:13.1-alpine restart: unless-stopped expose: - 5432 environment: POSTGRES_USER: "teedy_db_user" POSTGRES_PASSWORD: "teedy_db_password" POSTGRES_DB: "teedy" volumes: - ./docs/db:/var/lib/postgresql/data networks: - docker-internal networks: # 没有互联网访问的网络。数据库不需要 # 访问主机网络。 docker-internal: driver: bridge internal: true internet: driver: bridge

使用内部数据库(仅用于测试)

version: '3' services: # Teedy应用 teedy-server: image: sismics/docs:v1.11 restart: unless-stopped ports: # 将内部端口映射到主机 - 8080:8080 environment: # 要使用的基础URL DOCS_BASE_URL: "https://docs.example.com" # 设置管理员邮箱 DOCS_ADMIN_EMAIL_INIT: "admin@example.com" # 设置管理员密码(在本例中为:"superSecure") DOCS_ADMIN_PASSWORD_INIT: "$$2a$$05$$PcMNUbJvsk7QHFSfEIDaIOjk1VI9/E7IPjTKx.jkjPxkx2EOKSoPS" volumes: - ./docs/data:/data

手动安装

要求

  • Java 11
  • 用于OCR的Tesseract 4
  • 用于视频缩略图的ffmpeg
  • 用于视频元数据提取的mediainfo
  • JettyTomcat这样的Web应用服务器

下载

最新版本可在此处下载:https://github.com/sismics/docs/releases,格式为WAR。 默认管理员密码是"admin"。在投入生产之前不要忘记更改它。

如何从源代码构建Teedy

前提条件:JDK 11、Maven 3、NPM、Grunt、Tesseract 4

Teedy由几个Maven模块组成:

  • docs-core
  • docs-web
  • docs-web-common

首先,克隆仓库:git clone git://github.com/sismics/docs.git 或从GitHub下载源代码。

启动构建

从根目录:

mvn clean -DskipTests install

运行独立版本

docs-web目录:

mvn jetty:run

构建.war文件以部署到servlet容器

docs-web目录:

mvn -Pprod -DskipTests clean install

你将在docs-web/target目录中获得可部署的WAR文件。

贡献

欢迎所有形式的贡献。贡献可以解决问题、修复bug(已报告或未报告的)、改进现有代码、添加新功能等。

master分支是项目的默认和基础分支。它用于开发,所有Pull请求都应该提交到这里。

许可证

Teedy根据GPL许可证的条款发布。有关更多信息,请参阅COPYING或访问http://opensource.org/licenses/GPL-2.0

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

下拉加载更多