Documenso 电子签名平台部署教程

Documenso 是一款开源的电子签名平台,作为 DocuSign 的自托管替代方案。它允许你上传 PDF 文档,添加签名字段,通过邮件邀请签署方完成电子签名流程。所有文档数据存储在你自己的服务器上,保障商业文档的安全性和隐私性。本教程将在搬瓦工 VPS 上使用 Docker 部署 Documenso。

一、Documenso 核心功能

  • 文档签署:上传 PDF 文档,拖拽添加签名、日期、姓名等字段,发送给多个签署方。
  • 签名类型:支持手绘签名、文字签名和上传签名图片。
  • 签署流程:支持顺序签署(按顺序依次签名)和并行签署(同时发送给所有人)。
  • 模板管理:将常用文档保存为模板,快速创建签署请求。
  • 审计追踪:完整记录文档的每一步操作,包括查看、签名时间和 IP 地址。
  • API 集成:提供 REST API,可以集成到业务系统中实现自动化签署流程。

二、环境准备

  • 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
  • 内存:至少 1GB RAM,推荐 2GB。
  • 磁盘:至少 10GB 可用空间。
  • Docker:已安装 Docker 和 Docker Compose(参考 Docker 安装教程)。

选购搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 折扣。

三、Docker Compose 部署

3.1 创建项目目录

mkdir -p /opt/documenso && cd /opt/documenso

3.2 创建环境变量文件

cat > .env <<'EOF'
NEXTAUTH_URL=http://your-domain.com
NEXTAUTH_SECRET=your_nextauth_secret
NEXT_PRIVATE_ENCRYPTION_KEY=your_encryption_key
NEXT_PRIVATE_ENCRYPTION_SECONDARY_KEY=your_secondary_key
NEXT_PUBLIC_WEBAPP_URL=http://your-domain.com
NEXT_PRIVATE_DATABASE_URL=postgresql://documenso:your_db_password@db:5432/documenso
NEXT_PRIVATE_DIRECT_DATABASE_URL=postgresql://documenso:your_db_password@db:5432/documenso
NEXT_PRIVATE_SMTP_HOST=smtp.example.com
NEXT_PRIVATE_SMTP_PORT=587
NEXT_PRIVATE_SMTP_USERNAME=your-email@example.com
NEXT_PRIVATE_SMTP_PASSWORD=your-email-password
NEXT_PRIVATE_SMTP_FROM_ADDRESS=noreply@example.com
NEXT_PRIVATE_SMTP_FROM_NAME=Documenso
EOF

生成所需的密钥:

echo "NEXTAUTH_SECRET: $(openssl rand -base64 32)"
echo "ENCRYPTION_KEY: $(openssl rand -hex 32)"
echo "SECONDARY_KEY: $(openssl rand -hex 32)"

3.3 创建 Docker Compose 文件

cat > docker-compose.yml <<'EOF'
version: '3.8'

services:
  documenso:
    image: documenso/documenso:latest
    container_name: documenso
    restart: always
    ports:
      - "3000:3000"
    env_file:
      - .env
    depends_on:
      - db

  db:
    image: postgres:15-alpine
    container_name: documenso-db
    restart: always
    environment:
      POSTGRES_USER: documenso
      POSTGRES_PASSWORD: your_db_password
      POSTGRES_DB: documenso
    volumes:
      - postgres_data:/var/lib/postgresql/data

volumes:
  postgres_data:
EOF

3.4 启动服务

docker compose up -d
docker compose logs -f documenso

访问 http://你的服务器IP:3000 注册账户开始使用。

四、Nginx 反向代理

cat > /etc/nginx/sites-available/documenso <<'EOF'
server {
    listen 80;
    server_name sign.example.com;

    client_max_body_size 50m;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
EOF

ln -s /etc/nginx/sites-available/documenso /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d sign.example.com

启用 HTTPS 后务必更新 .env 中的 URL 为 HTTPS 地址并重启。邮件发送功能必须配置 SMTP 才能正常工作。

五、使用 Documenso

5.1 创建签署请求

登录后点击"New Document"上传 PDF 文档。然后添加签署方(输入邮箱和姓名),为每个签署方分配签名字段。字段类型包括签名、姓名、邮箱、日期、文本和复选框。拖拽字段到文档的对应位置,调整大小后发送签署请求。

5.2 签署流程

签署方会收到包含签署链接的邮件。点击链接后进入签署页面,在指定位置完成签名。所有签署方完成签名后,系统自动将签署完成的文档发送给所有参与方。

5.3 文档模板

对于经常使用的合同或协议,可以将文档保存为模板。模板保留所有字段位置和签署方角色设置,下次使用时只需填入签署方的具体信息即可快速发起签署。

5.4 API 集成

Documenso 提供 REST API 用于程序化创建和管理签署请求。在账户设置中生成 API Token,然后通过 API 上传文档、添加签署方和发送签署请求,实现业务系统的自动化集成。

六、备份与升级

# 备份数据库
docker exec documenso-db pg_dump -U documenso documenso > /opt/documenso/backup_$(date +%Y%m%d).sql

# 升级
cd /opt/documenso
docker compose pull
docker compose down
docker compose up -d

总结

Documenso 为需要电子签名功能的个人和企业提供了可靠的自托管方案,确保敏感商业文档的安全性。部署在搬瓦工 VPS 上运行稳定,成本低廉。购买搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 折扣。更多教程请访问 搬瓦工VPS中文网

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。