PDF管理器和查看器PdfDing

什么是  PdfDing ?

PdfDing 是一款自托管 PDF 管理器和查看器,可在多种设备上提供无缝用户体验。它设计精简、速度快,并且易于通过 Docker 设置。

功能特点

  • 在多种设备上无缝基于浏览器的 PDF 查看
  • 使用标签整理 PDF
  • 干净且响应迅速的用户界面
  • 暗黑模式
  • 记住当前位置 – 从停止的地方继续阅读
  • 通过 OIDC 支持 SSO
  • 每个用户都可以上传自己的 PDF,无需管理员管理内容。

软件的使用很简单,看官方的动图一目了然

PDF管理器和查看器PdfDing

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 pdfding ,选择第一个 mrmn/pdfding,版本选择 latest

本文写作时, latest 版本对应为  0.1.2

PDF管理器和查看器PdfDing

docker 文件夹中,创建一个新文件夹 pdfding,并在其中建两个子文件夹 datamedia

默认情况下,这两个子文件夹,Everyone 都只有读权限

PDF管理器和查看器PdfDing

需要赋予 Everyone 读写权限

PDF管理器和查看器PdfDing

最后要成这样才行

PDF管理器和查看器PdfDing

datamedia 两个目录都需要修改权限,如果 data 没修改的话,容器会启动失败,因为无法写入数据库,而 media 没修改的话,在上传 pdf 时会报错

PdfDing 默认使用 SQLite 数据库。另外,PdfDing 也支持 PostgreSQL

文件夹 装载路径 说明
docker/pdfding/data /home/nonroot/pdfding/db 存放数据库
docker/pdfding/media /home/nonroot/pdfding/media 存放数据库
PDF管理器和查看器PdfDing

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8340 8000

默认没有对外暴露端口

PDF管理器和查看器PdfDing

需要点 + 号自己添加

PDF管理器和查看器PdfDing

环境

可变
HOST_NAME 设为 192.168.0.197,这是老苏群晖主机的 IP
SECRET_KEY 密码,可以改的复杂一点
CSRF_COOKIE_SECURE 通过 HTTP 传输 CSRF cookie
SESSION_COOKIE_SECURE 通过 HTTP 传输 session cookie

更多的环境变量,请参考官方文档:https://codeberg.org/mrmn/PdfDing#configuration

PDF管理器和查看器PdfDing

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 pdfding 和 子目录
mkdir -p /volume1/docker/pdfding/{data,media}

# 进入 pdfding 目录
cd /volume1/docker/pdfding

# 修改目录权限
chmod a+w {data,media}

# 运行容器
docker run -d 
   --restart unless-stopped 
   --name pdfding 
   -p 8340:8000 
   -v $(pwd)/data:/home/nonroot/pdfding/db 
   -v $(pwd)/media:/home/nonroot/pdfding/media 
   -e HOST_NAME=192.168.0.197 
   -e SECRET_KEY=some_secret 
   -e CSRF_COOKIE_SECURE=FALSE 
   -e SESSION_COOKIE_SECURE=FALSE 
   mrmn/pdfding:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  pdfding:
    image: mrmn/pdfding:latest
    container_name: pdfding
    restart: unless-stopped
    ports:
      - 8340:8000
    volumes:
      - ./data:/home/nonroot/pdfding/db
      - ./media:/home/nonroot/pdfding/media
    environment:
      - HOST_NAME=192.168.0.197
      - SECRET_KEY=some_secret
      - CSRF_COOKIE_SECURE=FALSE
      - SESSION_COOKIE_SECURE=FALSE

然后执行下面的命令

# 新建文件夹 pdfding 和 子目录
mkdir -p /volume1/docker/pdfding/{data,media}

# 进入 pdfding 目录
cd /volume1/docker/pdfding

# 修改目录权限
chmod a+w {data,media}

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8340 就能看到登录界面

PDF管理器和查看器PdfDing

普通用户

第一次需要点 Sign up 注册账号

密码不能少于 8 位,不能太常见,不能全是数字等等

PDF管理器和查看器PdfDing

注册成功后的主界面

因为没有设置 smtp 参数,所以是不会收到邮件的

PDF管理器和查看器PdfDing

Add PDF 添加文件,填写标题、描述和标签,然后点击 Sunmit 提交

PDF管理器和查看器PdfDing

上传成功

PDF管理器和查看器PdfDing

点标题可以查看 pdf 的内容

PDF管理器和查看器PdfDing

文件保存在 /media 目录中

PDF管理器和查看器PdfDing

移动端

在手机浏览器上登录

PDF管理器和查看器PdfDing

找到上传的 pdf

PDF管理器和查看器PdfDing

打开阅读 pdf 的速度挺快的,支持缩放操作

PDF管理器和查看器PdfDing

管理员

如果要创建管理员,需要进入容器操作

严格来说,是将已有的用户转为管理员,如果你输入的用户邮箱不存在,是会报错的 django.contrib.auth.models.User.DoesNotExist: User matching query does not exist.

# 以 root 身份进入容器
docker exec -it --user root pdfding /bin/bash

# 创建管理员用户
python pdfding/manage.py make_admin -e wbsu2003@gmail.com
PDF管理器和查看器PdfDing

现在可以访问  http://群晖IP:8340/admin,对用户,pdf 做一些增、删、改、查的操作

PDF管理器和查看器PdfDing

参考文档

mrmn/PdfDing: PdfDing is a selfhosted PDF manager and viewer offering a seamless user experience on multiple devices. It’s designed be to be minimal, fast, and easy to set up using Docker. – Codeberg.org
地址:https://codeberg.org/mrmn/PdfDing

@所有人:写文不易,如果你都看到了这里,请点个在看,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。

原文始发于微信公众号(各种折腾):PDF管理器和查看器PdfDing

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/296594.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!