Documenso

Requirements

System requirements and prerequisites for self-hosting Documenso.

What You Need

Documenso requires the following external services:

ServicePurposeMinimum Version
PostgreSQLPrimary database14+
SMTP serverSending emails to recipientsAny
Reverse proxySSL termination, routingAny

PostgreSQL Database

Documenso uses PostgreSQL for all data storage including documents, users, and audit logs. You cannot use MySQL, SQLite, or other databases.

Documenso requires two connection strings:

  • Pooled connection (NEXT_PRIVATE_DATABASE_URL) - For general application queries
  • Direct connection (NEXT_PRIVATE_DIRECT_DATABASE_URL) - For migrations and operations that require a direct connection

If you're not using a connection pooler (like PgBouncer), both can point to the same database URL.

Email Server

Documenso sends transactional emails for:

  • Document signing requests
  • Signing reminders
  • Completion notifications
  • Password resets and verification

Supported transports:

TransportUse Case
smtp-authStandard SMTP with username/password
smtp-apiSMTP with API key authentication
resendResend.com API
mailchannelsMailChannels API

Without a working email configuration, recipients cannot receive signing requests. Configure email before going to production.

Reverse Proxy

For production deployments, place Documenso behind a reverse proxy such as:

  • nginx
  • Caddy
  • Traefik
  • HAProxy
  • Cloud load balancers (AWS ALB, GCP Load Balancer, etc.)

The reverse proxy handles SSL/TLS termination and forwards requests to Documenso on port 3000.


Optional Services

These services are not required but improve functionality or scalability:

ServicePurpose
S3-compatible storageStore documents externally (recommended)

Document Storage

By default, Documenso stores documents in the PostgreSQL database. For production deployments with significant document volume, use S3-compatible storage:

  • Amazon S3
  • MinIO
  • Cloudflare R2
  • DigitalOcean Spaces
  • Any S3-compatible provider

See Storage Configuration for setup details.

Background Jobs

Documenso processes background jobs (email delivery, document processing) using a PostgreSQL-based queue. No additional services like Redis are required: the job queue is built into the application and uses your existing database.

For high-throughput deployments, Documenso optionally supports Inngest as an alternative job provider. Set NEXT_PRIVATE_JOBS_PROVIDER=inngest and configure INNGEST_EVENT_KEY and INNGEST_SIGNING_KEY. Most self-hosted instances do not need this.


Hardware Requirements

Minimum (Testing/Development)

ResourceRequirement
CPU1 core
RAM1 GB
Storage10 GB
ResourceRequirement
CPU2+ cores
RAM2+ GB
Storage20+ GB

Storage requirements depend on document volume. If using external S3 storage, local storage needs are minimal. If storing documents in the database, plan for growth accordingly.


Build Requirements

If building from source (not using Docker images):

RequirementVersion
Node.js18+
npm8+

Supported Platforms

Documenso runs on:

  • Linux - Any modern distribution (Ubuntu, Debian, CentOS, Alpine)
  • Docker - Official images available on DockerHub and GitHub Container Registry
  • Kubernetes - Helm charts and manifests available
  • PaaS providers - Railway, Render, Koyeb (one-click deploys available)

What's NOT Supported

The following configurations are not supported and may not work correctly.

ConfigurationReason
Windows nativeUse Docker or WSL2 instead
MySQL/MariaDBPostgreSQL-specific features required
SQLiteNot suitable for production workloads
MongoDBRelational database required
Node.js < 18Modern JavaScript features required

Checklist

Before proceeding to deployment, confirm you have:

  • PostgreSQL 14+ database accessible
  • SMTP credentials or email provider API key
  • Signing certificate (.p12) for document signing — see Tips
  • Domain name for your Documenso instance
  • SSL certificate (or reverse proxy that handles SSL)
  • Server meeting minimum hardware requirements

See Also

On this page