Skip to content

Self-host DocuSeal

updated Sep 2026prices checked · Jul 2026Install verified on Ubuntu 26.04 · Sep 2026 · how we test
We earn commissions when you shop through the links below. Full disclosure →

A self-hosted document filling and signing platform: turn PDFs into fillable forms with a WYSIWYG field builder, send them to one or more signers, and get back automatically signed PDFs with an audit log.

Key facts

CategoryE-signature
LicenseAGPL-3.0
StackRuby, Rails, Vue
Min RAM1024 MB
Official imageyes
Measured idle RAM208 MB
Difficulty
Our recommendation

Pick DocuSeal when you want document signing running in minutes. Upstream's Docker Compose file starts the Rails app, PostgreSQL and Caddy with automatic HTTPS for the `HOST` you pass. The first-run `/setup` page creates the admin and generates the signing certificate. A single `docker run` on SQLite also works, and MySQL is supported. The free AGPL-3.0 edition has a WYSIWYG PDF field builder with 12 field types, multiple signers, SMTP email, disk or S3/GCS/Azure storage, an audit log, webhooks and a basic API. Reminders, SSO, bulk send, conditional fields, white-labelling and embedding are in the paid Pro licence. Upstream publishes no RAM figure; our 1 GB floor is an estimate. If you need embedding or reminders without per-seat pricing, Documenso is the catalog's other e-signature tool.

What you need

  • Any VPS with at least 1024 MB of RAM
  • A domain you control — most self-hosted setups need HTTPS in front of them
  • Under an hour if you've used Docker before
Where to host itaffiliate disclosure
Hetzner Cloudrun it on
From $23.59/mo · 2 vCPU / 4 GB / 80 GB · EU + US
Get Hetzner Cloud (opens in new tab)
Kamaterafree trial
From $4/mo · 1 vCPU / 1 GB / 20 GB · US + EU + Asia
Start free on Kamatera → (opens in new tab)
DigitalOceanalso works on
From $6/mo · 1 vCPU / 1 GB / 25 GB · US + EU + Asia
Deploy on DigitalOcean → (opens in new tab)

Paid link — we earn a commission if you shop through it.

Install

Run these commands on your server:

# DocuSeal — upstream's Docker Compose (app + PostgreSQL + Caddy with automatic HTTPS), per docuseal.com/install
curl https://raw.githubusercontent.com/docusealco/docuseal/3.2.6/docker-compose.yml > docker-compose.yml
sed -i 's|docuseal/docuseal:latest|docuseal/docuseal:3.2.6|' docker-compose.yml
# point your domain's DNS at this server first — Caddy requests the TLS certificate on start
sudo HOST=sign.example.com docker compose up -d
# open https://sign.example.com — the first visit runs /setup, which creates the admin and generates the signing certificate
# single container instead (SQLite): docker run --name docuseal -p 3000:3000 -v.:/data docuseal/docuseal:3.2.6

What you take on

DocuSeal's Compose file and pricing page leave a few things to check before real contracts go through it:

non-negotiableThe Compose file tracks docuseal/docuseal:latest and caddy:latest. Pin the app to a release tag such as 3.2.6. It also hard-codes PostgreSQL's user and password as postgres/postgres; the database has no host port, but change them for anything beyond a trial. The app's port 3000 is also published directly on the host, beside Caddy's 80 and 443, so firewall it if you only want HTTPS traffic.
non-negotiableOpen https://HOST straight after the stack starts. Until the first account exists, /setup is open to whoever reaches it first, and that account becomes the admin.
non-negotiableThe free edition's certificate is self-signed, generated at setup, and DocuSeal's pricing table lists a "trusted signing certificate" as a Pro feature. Validity is the same question as with any e-signature tool: DocuSeal lists "legally-binding signing" on every plan, but check the law for your document type.
non-negotiableThe licence is AGPL-3.0 with a section 7(b) term: a covered work "must retain the original DocuSeal attribution in interactive user interfaces". White-labelling and your company logo are Pro features. Pro is $240 per user per year, plus $0.20 per document signed via the API or embedding, per the on-premises page. Automated reminders, user roles, SMS verification, SSO/SAML, bulk send, conditional and formula fields, and the HTML and tagged-PDF template APIs are all Pro.
non-negotiableThe 1 GB floor is our estimate for the app container plus PostgreSQL; DocuSeal publishes no memory requirement. The single-container SQLite mode stores everything under the mounted /data directory, so back that up. With Compose, back up the ./docuseal and ./pg_data directories.

An alternative to

Head-to-head

More self-hosted tools

We use analytics cookies (Google Analytics, PostHog) to see which guides are useful. No ad networks, no cross-site tracking. See our privacy policy.