DocuSeal: Self-Hosted Doc Signing – Installation

DocuSeal is an open-source, self-hosted alternative to DocuSign and PandaDoc. If you’ve ever wanted to digitally sign a document with your own terms, DocuSeal does a great job. It is freely available to download and install on your server or system. In this article, I will guide you on the installation of DocuSeal, a self-hosted doc signing app, on your server using Docker Compose.

Some of the key features of DocuSeal are:

  • PDF Form Builder
  • Multiple Submitters
  • Automated Emails
  • Automatic eSignature
  • Users Management
  • Robust File Storage


Before we run the Docker Compose file to start the DocuSeal container, we will need to install a few required libraries and packages. I assume you are using Ubuntu.

apt update && apt upgrade

Uninstall the following packages if they are present:

apt remove docker-compose docker-doc podman-docker

We will use the script provided by the Docker website, which will install the latest Docker version. However, if you want to install it manually or upgrade it, check its documentation.

Please note, “the script isn’t designed to upgrade an existing Docker installation”.

Run the following commands with root or sudo privileges to install Docker.

apt install curl

curl -fsSL -o


This will install all the dependencies, including docker-compose. However, if for some reasons, the compose plugin may not be installed. In such a case, install it with apt install docker-compose-plugin.


The installation is very straightforward and easy. There are a few methods to follow: without docker, with docker, and with docker-compose. We will follow docker-compose as this is the easiest of all.

Before installation, check if these steps have been completed:

  1. Point the server IP to your domain or sub domain and make sure it is propagated

We are all set now to download and run the Docker Compose file.

curl > docker-compose.yml

If you are curious to know what is inside the Compose file, use cat docker-compose.yml.

In the following command, change DOMAIN.COM to your actual domain name.

HOST=DOMAIN.COM docker-compose up
Creating new document

Once the process complete, you will have a running DocuSeal instance running at your domain.

Leave a Reply

Your email address will not be published. Required fields are marked *