The Open Source DocuSign Alternative.
<a href="https://documenso.com"><strong>Learn more »</strong></a>
<a href="https://documen.so/discord">Discord</a>
·
<a href="https://documenso.com">Website</a>
·
<a href="https://docs.documenso.com">Documentation</a>
·
<a href="https://github.com/documenso/documenso/issues">Issues</a>
·
<a href="https://documen.so/live">Upcoming Releases</a>
·
<a href="https://documen.so/roadmap">Roadmap</a>
Signing documents digitally should be fast and easy and should be the best practice for every document signed worldwide. This is technically quite easy today, but it also introduces a new party to every signature: The signing tool providers. While this is not a problem in itself, it should make us think about how we want these providers of trust to work. Documenso aims to be the world's most trusted document-signing tool. This trust is built by empowering you to self-host Documenso and review how it works under the hood.
Join us in creating the next generation of open trust infrastructure.
Note: We no longer accept external pull requests, aside from a small group of trusted contributors we reach out to directly. The best way to contribute is through detailed issues. Read Why We're Pausing External Pull Requests for the reasoning.
Contact us if you are interested in our Enterprise plan for large organizations that need extra flexibility and control.
To run Documenso locally, you will need
Note: This is a quickstart for developers. It assumes that you have both docker and docker-compose installed on your machine.
Want to get up and running quickly? Follow these steps:
After forking the repository, clone it to your local device by using the following command:
git clone https://github.com/<your-username>/documenso
Set up your .env file using the recommendations in the .env.example file. Alternatively, just run cp .env.example .env to get started with our handpicked defaults.
Run npm run dx in the root directory
This will spin up a postgres database and inbucket mailserver in a docker container.
Run npm run dev in the root directory
Want it even faster? Just use
npm run d
Database Connection Details
Port: 54320
Connection: Use your favorite database client to connect using the provided port.
S3 Storage Dashboard - http://localhost:9001
Follow the manual setup guide to configure Documenso on your local machine.
We support DevContainers for VSCode. Click here to get started.
If you're a visual learner and prefer to watch a video walkthrough of setting up Documenso locally, check out this video:
We provide official Docker images on DockerHub and GitHub Container Registry.
For setup instructions, see the Docker Deployment and Docker Compose guides.
We support a variety of deployment methods including Docker, Docker Compose, Railway, Kubernetes, and manual deployment.
For full instructions, requirements, and configuration details, see the Self Hosting documentation.
If you believe you have found a security vulnerability in Documenso, please report it through our Security Policy. We prioritize private reports via GitHub Security Advisories. See SECURITY.md for scope and details.
For troubleshooting self-hosted deployments, see the Troubleshooting guide and Tips & Common Pitfalls.
When using the developer quickstart, an Inbucket server will be spun up in a docker container that will store all outgoing emails locally for you to view.
The Web UI can be found at http://localhost:9000, while the SMTP port will be on localhost:2500.
Wrap your package script with the with:env script like such:
npm run with:env -- npm run myscript
The same can be done when using npx for one of the bin scripts:
npm run with:env -- npx myscript
This will load environment variables from your .env and .env.local files.
$ claude mcp add documenso \
-- python -m otcore.mcp_server <graph>