
PDF Manager是一款极简的 PDF 管理工具,专注于提供核心的文档组织与协作功能,不附加任何多余的复杂设计。
本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。
hostname | IP地址 | 操作系统版本 | Docker版本 | 部署项目 | 备注 |
|---|---|---|---|---|---|
jeven | 192.168.3.88 | Ubuntu 24.04.2 LTS | 28.5.0 | PDFManager | —— |
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署PDF文档管理系统PDFManager。
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Thu 2026-02-05 00:27:40 CST; 1s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 841698 (dockerd)
Tasks: 65
Memory: 73.5M (peak: 77.1M)
CPU: 975ms
CGroup: /system.slice/docker.service检查Docker版本
root@jeven:~# docker -v
Docker version 28.5.0, build 887030f检查Docker compose版本,确保2.0以上版本。
root@jeven:~# docker compose version
Docker Compose version v2.39.4下载PDFManager镜像,如果下载网速过慢或者失败,可以使用国内镜像仓库下载。
原镜像地址:registry.cn-hangzhou.aliyuncs.com/jeson/pdfmanager:v0.4.1
国内镜像地址:registry.cn-hangzhou.aliyuncs.com/jeson/pdfmanager:v0.4.1
docker pull ghcr.io/g0rsthir/pdfmanager:v0.4.1
mkdir -p /data/pdfmanager/data && cd /data/pdfmanager chmod -R 777 /data/pdfmanager可以使用以下命令,用于生成一个包含32个字节(即64位十六进制字符)的高强度随机字符串,以安全地作为JWT的签名密钥。
root@jeven:/data/pdfmanager# openssl rand -hex 32
7b15eecb74064fe51eab8c92b45ae206f98e1b585ca5cd26504b00dd9a637621
root@jeven:/data/pdfmanager# openssl rand -hex 32
8e9d89df16967403a064dcc09c36963e943b2621f83e9f490f44c59fe2183e74
如果想要使用docker-cli方式部署,可参考以下命令部署。(可选)
docker run -d \
--name=pdfmanager \
--restart=always \
-p 9900:8080 \
-v /data/pdfmanager/data:/app/storage \
-e APP_ACCESS_JWT_SECRET=7b15eecb74064fe51eab8c92b45ae206f98e1b585ca5cd26504b00dd9a637621 \
-e APP_REFRESH_JWT_SECRET=8e9d89df16967403a064dcc09c36963e943b2621f83e9f490f44c59fe2183e74 \
ghcr.io/g0rsthir/pdfmanager:v0.4.1本次实践我们采用 Docker Compose 方式进行部署,这也是我推荐的方式。首先我们需要创建并编辑
docker-compose.yaml文件,请注意宿主机映射端口可根据您的实际情况自行设置,务必避免端口冲突。
vim docker-compose.yamlservices:
app:
image: ghcr.io/g0rsthir/pdfmanager:v0.4.1
container_name: pdfmanager
restart: always
ports:
- "9900:8080"
volumes:
- /data/pdfmanager/data:/app/storage
environment:
- APP_ACCESS_JWT_SECRET=7b15eecb74064fe51eab8c92b45ae206f98e1b585ca5cd26504b00dd9a637621 #访问令牌密钥
- APP_REFRESH_JWT_SECRET=8e9d89df16967403a064dcc09c36963e943b2621f83e9f490f44c59fe2183e74 #刷新令牌密钥执行以下命令,创建PDFManager容器。
docker compose up -d
检查PDFManager容器运行状态,确保PDFManager容器正常启动。
root@jeven:/data/pdfmanager# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
pdfmanager ghcr.io/g0rsthir/pdfmanager:v0.4.1 "supervisord -n -c /…" app 49 seconds ago Up 48 seconds 0.0.0.0:9900->8080/tcp, [::]:9900->8080/tcp
检查容器运行日志,确保PDFManager服务正常运行。
root@jeven:/data/pdfmanager# docker compose logs
pdfmanager | 2026-07-21 18:13:46,140 INFO supervisord started with pid 1
pdfmanager | 2026-07-21 18:13:47,143 INFO spawned: 'nginx' with pid 7
pdfmanager | 2026-07-21 18:13:47,145 INFO spawned: 'pdfmanagerbackend' with pid 8
pdfmanager | 2026/07/21 18:13:47 [warn] 7#7: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
pdfmanager | 2026-07-21 18:13:48,175 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
pdfmanager | 2026-07-21 18:13:48,175 INFO success: pdfmanagerbackend entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
pdfmanager | The database is not up-to-date. Running migrations
pdfmanager | INFO: Started server process [8]
pdfmanager | INFO: Waiting for application startup.
pdfmanager | INFO: Application startup complete.
pdfmanager | INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
浏览器地址:
http://<个人的服务器IP>:9900,访问PDFManager初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

我们创建PDFManager登录账号,自行创建即可。


创建个人目录:点击侧边栏“Library”旁的菜单图标,选择“Create folder”即可新建文件夹。

进入新建的文件夹,点击上传按钮,即可将个人 PDF 文档添加至库中。

上传pdf文件后,在线打开效果如下所示:

本次借助Docker容器快速完成了PDFManager文档管理系统的搭建部署,全程操作简洁高效且环境隔离性强。依托容器化部署优势,有效规避了本地环境依赖冲突问题,大幅降低了搭建难度。成功部署后可便捷实现PDF文件上传、整理、阅览与统一管控,满足日常办公文档管理需求。整体实战流程清晰易懂,适合个人与小型团队快速搭建轻量化PDF文档管理平台。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。