news 2026/4/23 12:43:15

使用 Docker / Docker Compose 部署 PdfDing —— 个人 PDF笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用 Docker / Docker Compose 部署 PdfDing —— 个人 PDF笔记

PdfDing 是一款开源的PDF 文档管理与阅读工具,支持标签分类、全文检索、暗色主题等实用功能,非常适合用于搭建个人或小团队的 PDF 资料库。本文将手把手教你通过两种主流方式快速部署 PdfDing:

  • 方式一:docker run(适合快速体验)
  • 方式二:docker-compose(推荐用于长期使用)

一、环境准备

在开始部署前,请确保你的系统满足以下条件:

  • 操作系统:Linux / macOS / Windows(建议使用 WSL2)
  • 已安装Docker ≥ 20.x
  • (可选)已安装Docker Compose ≥ 2.x

验证 Docker 是否正常工作:

dockerversion

若未安装,请参考 Docker 官方安装指南。


二、方式一:使用docker run快速启动(适合测试)

1️⃣ 启动命令

dockerrun --name pdfding\-p8000:8000\-v sqlite_data:/home/nonroot/pdfding/db\-v media:/home/nonroot/pdfding/media\-eHOST_NAME=127.0.0.1\-eSECRET_KEY=some_secret\-eCSRF_COOKIE_SECURE=FALSE\-eSESSION_COOKIE_SECURE=FALSE\-d\mrmn/pdfding:latest

2️⃣ 参数说明

参数说明
--name pdfding容器名称,便于管理
-p 8000:8000将容器的 8000 端口映射到宿主机
-v sqlite_data:/.../db持久化 SQLite 数据库(避免重启丢失数据)
-v media:/.../media持久化上传的 PDF 文件
HOST_NAME设置访问地址(如your-domain.com192.168.1.100
SECRET_KEYDjango 应用密钥(生产环境务必更换为强随机字符串
CSRF_COOKIE_SECURE/SESSION_COOKIE_SECURE是否仅在 HTTPS 下传输 Cookie(开发可设为FALSE,生产应为TRUE

3️⃣ 访问服务

打开浏览器,访问:

http://127.0.0.1:8000

即可看到 PdfDing 的界面,开始上传和管理你的 PDF 文档!


三、方式二:使用 Docker Compose 部署(推荐 ✅)

Docker Compose 提供更清晰的配置结构,便于版本控制、备份和升级,强烈推荐用于日常使用或团队部署

1️⃣ 创建docker-compose.yml

version:"3.8"services:pdfding:container_name:pdfdingimage:mrmn/pdfding:latestports:-"8000:8000"volumes:-sqlite_data:/home/nonroot/pdfding/db-media:/home/nonroot/pdfding/mediaenvironment:# 主题设置-DEFAULT_THEME=${DEFAULT_THEME:-dark}-DEFAULT_THEME_COLOR=${DEFAULT_THEME_COLOR:-blue}# 安全与配置-SECRET_KEY=${SECRET_KEY:-change_me_to_a_strong_random_string}-HOST_NAME=${HOST_NAME:-127.0.0.1}# 生产环境建议启用 HTTPS 后设为 TRUE-CSRF_COOKIE_SECURE=${CSRF_COOKIE_SECURE:-FALSE}-SESSION_COOKIE_SECURE=${SESSION_COOKIE_SECURE:-FALSE}restart:unless-stoppedvolumes:sqlite_data:media:

💡 建议同时创建.env文件管理敏感配置(如SECRET_KEY),避免硬编码。

2️⃣ 启动服务

docker-compose.yml所在目录执行:

dockercompose up -d

查看运行状态:

dockercomposeps

3️⃣ 访问应用

浏览器打开:

http://127.0.0.1:8000

现在你拥有了一个功能完整的 PDF 管理平台!


四、常用运维命令

操作命令
查看实时日志docker logs -f pdfding
停止服务docker compose down
更新到最新版docker pull mrmn/pdfding:latest && docker compose up -d
备份数据备份sqlite_datamedia卷(或挂载到宿主机路径)

五、生产环境安全建议(重要!)

如果你计划在内网或公网长期使用 PdfDing,请务必:

  1. 更换SECRET_KEY:使用openssl rand -hex 32生成强密钥。
  2. 启用 HTTPS
    • 通过 Nginx + Let’s Encrypt(公网)
    • 或使用私有 CA(如 step-ca,适用于内网)
  3. 设置安全 Cookie
    CSRF_COOKIE_SECURE=TRUE SESSION_COOKIE_SECURE=TRUE
  4. 限制访问 IP(如仅允许公司内网)
  5. 定期备份dbmedia数据卷

六、总结

部署方式适用场景推荐指数
docker run临时测试、快速体验⭐⭐
docker-compose日常使用、团队部署、生产环境⭐⭐⭐⭐⭐

PdfDing 轻量、开源、功能聚焦,是构建个人笔记的最佳选择。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 15:54:09

AI诗歌创作能力深度测评报告

在自动化测试、单元覆盖、边界值分析与缺陷预测模型横行的今天,我们习惯于用可量化、可复现、可断言的逻辑去衡量系统行为。但当一个AI生成了一首诗,而我们却无法用“通过/失败”来判定它是否“原创”时——我们是否正站在软件测试哲学的悬崖边&#xff…

作者头像 李华
网站建设 2026/4/16 21:17:44

‌测试用例失败根因分析:AI时代下的方法演进、企业实践与从业者生存指南

一、测试失败的根因已从“技术缺陷”转向“系统性失能”‌ 在AI驱动的持续交付环境中,测试用例失败的根源不再局限于单一代码错误或环境配置问题,而是演变为‌流程断裂、工具脆弱、认知偏差与AI幻觉交织的系统性失能‌。 ‌70%以上的失败‌源于‌环境不…

作者头像 李华
网站建设 2026/4/11 15:40:51

深入浅出:无线电台数码抄报操作完全指南与实践应用详解

引言 在信息通信技术飞速发展的今天,无线电通信依然是应急救援、军事通信、业余无线电爱好者社区中不可或缺的通信方式。其中,数码抄报作为一种重要的无线电通信方式,是指通过无线电发送和接收数字化信息的过程,它不同于传统的语…

作者头像 李华
网站建设 2026/4/16 14:09:23

演唱会购票哪个平台好

演唱会购票哪个平台好?2026年新局势,权威分析!怎么才能提高抢票成功率?演唱会打折门票怎么买?演唱会怎么选座购票?大麦、猫眼、票牛、摩天轮、咸鱼这几家头部票务平台,分别有哪些优点和缺陷&…

作者头像 李华
网站建设 2026/4/23 11:32:00

【深度学习】YOLO 目标检测论文 7 天阅读计划(入门→进阶→前沿)

本计划适配零基础 / 有 PythonCNN 基础的学习者,以YOLO 系列核心论文为主、目标检测经典文献为辅,每日明确阅读目标、核心重点、源码对应、思考问题,兼顾理论理解与工程落地,读完可掌握 YOLO 核心设计逻辑与目标检测关键技术。 通…

作者头像 李华
网站建设 2026/4/17 23:28:59

【基于TTNRBO优化DBN回归预测】基于瞬态三角牛顿-拉夫逊优化算法(TTNRBO)优化深度信念网络(DBN)数据回归预测研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…

作者头像 李华