> ## Content Index
> Fetch the complete content index at: https://www.richarvin.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Docker 部署 Stirling PDF（Full版）
- URL: https://www.richarvin.com/docker-bu-shu-stirling-pdf-full-ban/
- Published: 2024-07-03T18:34:45.000Z
- Updated: 2024-07-05T12:55:34.000Z
- Author: Richarvin
- Tags: Docker部署

💡

Stirling PDF 是一个功能强大的本地托管网页 PDF 操作工具。它可以对 PDF 文件执行各种操作，包括拆分、合并、转换、重组、添加图片、旋转、压缩等。Stirling PDF 不会发起任何出站请求进行记录或跟踪。所有文件和 PDF 要么完全存在于客户端，要么仅在任务执行期间驻留在服务器内存中，或者仅为执行任务而暂时存放在文件中。用户下载的任何文件在下载时已从服务器上删除。

## 界面预览

![](https://picture.richarvin.com/202407/xnip2024-07-04_01-05-22.webp)

[官方Demo](https://stirlingpdf.io/?ref=richarvin.com)

## 安装步骤

### 一、系统初始化，更新索引

```bash
#更新索引库
sudo apt-get update
```

### 二、创建stirling\_pdf容器

```bash
#在root目录下递归的创建一些文件夹，如果父目录不存在则先创建出来
mkdir -p /root/data/docker_workspace/stirling_pdf

#进入到typecho目录下
cd /root/data/docker_workspace/stirling_pdf
```

### 三、创建docker-compose.yml文件

```bash
touch docker-compose.yml
```

将下面代码复制到docker-compose.yml中保存即可（自定义映射的端口事先要在服务器内部和云服务商后台开放）

```yml
version: '3.3'  # 定义docker-compose文件的版本

services:  # 定义服务
  stirling-pdf:
    container_name: Stirling-PDF-Security-Fat  # 容器名称
    image: frooodle/s-pdf:latest-fat  # 使用的Docker镜像
    deploy:
      resources:
        limits:
          memory: 4G  # 限制内存使用为4G
    healthcheck:  # 健康检查配置
      test: ["CMD-SHELL", "curl -f http://localhost:9080/api/v1/info/status | grep -q 'UP' && curl -fL http://localhost:9080/ | grep -q 'Please sign in'"]  # 健康检查命令
      interval: 5s  # 健康检查间隔时间
      timeout: 10s  # 健康检查超时时间
      retries: 16  # 健康检查重试次数
    ports:
      - 9080:8080  # 端口映射，将主机的9080端口映射到容器的8080端口
    volumes:
      - ./trainingData:/usr/share/tessdata:rw  # 目录映射，挂载本地trainingData目录到容器内的/usr/share/tessdata目录，读写权限
      - ./customFiles:/customFiles:rw  # 目录映射，挂载本地customFiles目录到容器内的/customFiles目录，读写权限
      - ./logs:/logs:rw  # 目录映射，挂载本地logs目录到容器内的/logs目录，读写权限
      - ./configs:/configs:rw  # 目录映射，挂载本地configs目录到容器内的/configs目录，读写权限
    environment:  # 环境变量配置
      DOCKER_ENABLE_SECURITY: "true"  # 启用安全性
      SECURITY_ENABLELOGIN: "true"  # 启用登录
      PUID: 1002  # 用户ID
      PGID: 1002  # 组ID
      UMASK: "022"  # 默认文件权限掩码
      SYSTEM_DEFAULTLOCALE: en-US  # 系统默认区域设置
      UI_APPNAME: Stirling-PDF  # UI应用名称
      UI_HOMEDESCRIPTION: Demo site for Stirling-PDF Latest-fat with Security  # UI主页描述
      UI_APPNAMENAVBAR: Stirling-PDF Latest-fat  # UI导航栏应用名称
      SYSTEM_MAXFILESIZE: "100"  # 系统最大文件大小
      METRICS_ENABLED: "true"  # 启用指标
      SYSTEM_GOOGLEVISIBILITY: "true"  # 启用谷歌可见性
    restart: on-failure:5  # 当容器因故障停止时重新启动容器，最多重启5次

```

```bash
#拉取项目镜像并在后台启动容器
docker-compose up -d
```

![](https://picture.richarvin.com/202407/xnip2024-07-04_01-42-11.webp)

### 登录：

打开浏览器，地址栏内输入IP:9080端口形式访问

![](https://picture.richarvin.com/202407/xnip2024-07-04_01-45-12.webp)

使用默认的用户名`admin`和密码`stirling`登录以后，系统会强制要求你变更新的密码，然后重新登陆。

![](https://picture.richarvin.com/202407/xnip2024-07-04_01-49-47.webp)

![](https://picture.richarvin.com/202407/xnip2024-07-04_01-52-29.webp)

### 域名访问

可参考下面的文章去Nginx Proxy Manager里设置

[Ubuntu搭建docker部署wordpress博客Title：在Ubuntu上使用Docker部署WordPress博客：详细教程与Nginx Proxy Manager配置 Description：学习如何在Ubuntu服务器上使用Docker搭建WordPress博客。通过详细步骤，安装Docker、Nginx Proxy Manager（NPM）和WordPress，并在NPM管理界面进行域名绑定和证书申请，实现用自定义域名访问博客。 Tags：Ubuntu Docker WordPress, Nginx Proxy Manager, 自定义域名, 证书申请, 配置教程.![](https://www.richarvin.com/assets/icon-192x192.png)知行笔记Richarvin![](https://picture.richarvin.com/202403/202403190006.webp)](https://www.richarvin.com/ubuntu-da-jian-docker-bu-shu-wordpress-bo-ke/)

## 注意

如果你想使用登录功能，官方默认的yml文件中使用的镜像是没有该功能的。它缺少`Stirling-PDF-with-login.jar`文件

![](https://picture.richarvin.com/202407/xnip2024-07-04_19-30-22.webp)

## 常见问题

1、为什么我的下载超时了  
  
NGINX默认具有超时值，因此如果你在NGINX后面运行Stirling-PDF，可能需要设置超时值，例如添加配置 proxy\_read\_timeout 3600;  
  
2、为什么我的应用程序正在下载 .htm文件？  
  
这通常是由你的NGINX配置引起的问题。NGINX的默认文件上传大小为1MB，你需要在NPM的后台控制面板中，找到Proxy Host编辑页面中的Advanced添加以下内容。  
  
client\_max\_body\_size SIZE;  
  
其中"SIZE"可以是50M，例如用于50MB的文件。

![](https://picture.richarvin.com/202407/xnip2024-07-04_02-19-40.webp)

[官方配置文档说明](https://stirlingtools.com/docs/Overview/What%20is%20Stirling-PDF?ref=richarvin.com)

---