2023-11-08 12:22:48 +11:00
<img src="https://github.com/documenso/documenso/assets/13398220/a643571f-0239-46a6-a73e-6bef38d1228b" alt="Documenso Logo">
2023-09-28 22:48:02 +00:00
<p align="center" style="margin-top: 20px">
2023-03-14 12:29:38 +01:00
<p align="center">
2023-07-21 09:55:50 +02:00
The Open Source DocuSign Alternative.
2023-07-21 09:47:05 +02:00
<br>
2023-03-14 12:29:38 +01:00
<a href="https://documenso.com"><strong>Learn more »</strong></a>
<br />
<br />
2023-08-02 15:12:31 +02:00
<a href="https://documen.so/discord">Discord</a>
2023-03-14 12:29:38 +01:00
·
<a href="https://documenso.com">Website</a>
·
<a href="https://github.com/documenso/documenso/issues">Issues</a>
·
2024-01-09 14:32:49 +01:00
<a href="https://documen.so/live">Upcoming Releases</a>
2023-11-06 14:47:46 +11:00
·
2024-01-09 14:32:49 +01:00
<a href="https://documen.so/roadmap">Roadmap</a>
2023-03-14 12:29:38 +01:00
</p>
</p>
<p align="center">
2023-09-30 00:43:45 +10:00
<a href="https://documen.so/discord"><img src="https://img.shields.io/badge/Discord-documen.so/discord-%235865F2" alt="Join Documenso on Discord"></a>
2023-03-14 12:29:38 +01:00
<a href="https://github.com/documenso/documenso/stargazers"><img src="https://img.shields.io/github/stars/documenso/documenso" alt="Github Stars"></a>
<a href="https://github.com/documenso/documenso/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-AGPLv3-purple" alt="License"></a>
2023-03-17 13:43:42 +01:00
<a href="https://github.com/documenso/documenso/pulse"><img src="https://img.shields.io/github/commit-activity/m/documenso/documenso" alt="Commits-per-month"></a>
2023-09-30 00:43:45 +10:00
<a href="https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/documenso/documenso">
<img alt="open in devcontainer" src="https://img.shields.io/static/v1?label=Dev%20Containers&message=Enabled&color=blue&logo=visualstudiocode" />
</a>
2024-03-08 00:36:18 +05:30
<a href="CODE_OF_CONDUCT.md"><img src="https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg" alt="Contributor Covenant"></a>
2023-03-14 12:29:38 +01:00
</p>
2024-03-14 23:52:49 +11:00
<div align="center">
<img src="https://github.com/documenso/documenso/assets/13398220/d96ed533-6f34-4a97-be9b-442bdb189c69" style="width: 80%;" />
2023-03-12 21:28:59 +01:00
</div>
feat: documentation site (#1101)
## Description
<!--- Describe the changes introduced by this pull request. -->
<!--- Explain what problem it solves or what feature/fix it adds. -->
## Related Issue
<!--- If this pull request is related to a specific issue, reference it
here using #issue_number. -->
<!--- For example, "Fixes #123" or "Addresses #456". -->
## Changes Made
<!--- Provide a summary of the changes made in this pull request. -->
<!--- Include any relevant technical details or architecture changes.
-->
- Change 1
- Change 2
- ...
## Testing Performed
<!--- Describe the testing that you have performed to validate these
changes. -->
<!--- Include information about test cases, testing environments, and
results. -->
- Tested feature X in scenario Y.
- Ran unit tests for component Z.
- Tested on browsers A, B, and C.
- ...
## Checklist
<!--- Please check the boxes that apply to this pull request. -->
<!--- You can add or remove items as needed. -->
- [ ] I have tested these changes locally and they work as expected.
- [ ] I have added/updated tests that prove the effectiveness of these
changes.
- [ ] I have updated the documentation to reflect these changes, if
applicable.
- [ ] I have followed the project's coding style guidelines.
- [ ] I have addressed the code review feedback from the previous
submission, if applicable.
## Additional Notes
<!--- Provide any additional context or notes for the reviewers. -->
<!--- This might include details about design decisions, potential
concerns, or anything else relevant. -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Documentation**
- Enhanced project README for clarity and improved environment variables
section.
- Added comprehensive developer and user documentation, including guides
on local development, public API, self-hosting, and compliance
standards.
- Introduced specific guides for contributing, creating API keys, using
webhooks, and setting up security measures.
- Detailed documentation on various fields available for document
signing to improve user understanding.
- Added metadata structuring to improve navigation within the
documentation site.
- **Chores**
- Updated `.gitignore` to better handle project files.
- **New Features**
- Introduced detailed metadata and documentation for various Documenso
functionalities, including signing documents, user profiles, and
compliance levels.
- Added functionality for Direct Link Signing, enabling easy sharing for
document signing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Timur Ercan <timur.ercan31@gmail.com>
Co-authored-by: Lucas Smith <me@lucasjamessmith.me>
Co-authored-by: David Nguyen <davidngu28@gmail.com>
2024-07-22 14:34:37 +03:00
## About Documenso
2023-03-13 21:03:23 +01:00
feat: documentation site (#1101)
## Description
<!--- Describe the changes introduced by this pull request. -->
<!--- Explain what problem it solves or what feature/fix it adds. -->
## Related Issue
<!--- If this pull request is related to a specific issue, reference it
here using #issue_number. -->
<!--- For example, "Fixes #123" or "Addresses #456". -->
## Changes Made
<!--- Provide a summary of the changes made in this pull request. -->
<!--- Include any relevant technical details or architecture changes.
-->
- Change 1
- Change 2
- ...
## Testing Performed
<!--- Describe the testing that you have performed to validate these
changes. -->
<!--- Include information about test cases, testing environments, and
results. -->
- Tested feature X in scenario Y.
- Ran unit tests for component Z.
- Tested on browsers A, B, and C.
- ...
## Checklist
<!--- Please check the boxes that apply to this pull request. -->
<!--- You can add or remove items as needed. -->
- [ ] I have tested these changes locally and they work as expected.
- [ ] I have added/updated tests that prove the effectiveness of these
changes.
- [ ] I have updated the documentation to reflect these changes, if
applicable.
- [ ] I have followed the project's coding style guidelines.
- [ ] I have addressed the code review feedback from the previous
submission, if applicable.
## Additional Notes
<!--- Provide any additional context or notes for the reviewers. -->
<!--- This might include details about design decisions, potential
concerns, or anything else relevant. -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Documentation**
- Enhanced project README for clarity and improved environment variables
section.
- Added comprehensive developer and user documentation, including guides
on local development, public API, self-hosting, and compliance
standards.
- Introduced specific guides for contributing, creating API keys, using
webhooks, and setting up security measures.
- Detailed documentation on various fields available for document
signing to improve user understanding.
- Added metadata structuring to improve navigation within the
documentation site.
- **Chores**
- Updated `.gitignore` to better handle project files.
- **New Features**
- Introduced detailed metadata and documentation for various Documenso
functionalities, including signing documents, user profiles, and
compliance levels.
- Added functionality for Direct Link Signing, enabling easy sharing for
document signing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Timur Ercan <timur.ercan31@gmail.com>
Co-authored-by: Lucas Smith <me@lucasjamessmith.me>
Co-authored-by: David Nguyen <davidngu28@gmail.com>
2024-07-22 14:34:37 +03:00
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.
2023-09-30 00:43:45 +10:00
Join us in creating the next generation of open trust infrastructure.
2023-01-16 13:38:26 +01:00
2023-06-05 12:33:08 +01:00
## Recognition
2023-09-30 00:43:45 +10:00
<p align="center">
<a href="https://www.producthunt.com/posts/documenso?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-documenso" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=395047&theme=light&period=daily" alt="Documenso - The  ;open  ;source  ;DocuSign  ;alternative | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>
<a href="https://www.producthunt.com/posts/documenso?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-documenso" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=395047&theme=light" alt="Documenso - The  ;Open  ;Source  ;DocuSign  ;Alternative. ; | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>
</p>
2023-06-05 12:33:08 +01:00
2023-03-14 09:45:37 +01:00
## Community and Next Steps 🎯
2023-04-04 14:20:36 +02:00
2023-11-01 04:20:35 +05:30
We're currently working on a redesign of the application, including a revamp of the codebase, so Documenso can be more intuitive to use and robust to develop upon.
2023-03-13 21:03:23 +01:00
2023-11-01 04:20:35 +05:30
- Check out the first source code release in this repository and test it.
- Tell us what you think in the [Discussions ](https://github.com/documenso/documenso/discussions ).
- Join the [Discord server ](https://documen.so/discord ) for any questions and getting to know to other community members.
- ⭐ the repository to help us raise awareness.
- Spread the word on Twitter that Documenso is working towards a more open signing tool.
- Fix or create [issues ](https://github.com/documenso/documenso/issues ), that are needed for the first production release.
2023-03-14 09:45:37 +01:00
## Contributing
2023-04-04 14:20:36 +02:00
2023-08-30 00:27:44 +05:30
- To contribute, please see our [contribution guide ](https://github.com/documenso/documenso/blob/main/CONTRIBUTING.md ).
2023-03-13 21:03:23 +01:00
2023-06-28 19:53:39 +02:00
## Contact us
Contact us if you are interested in our Enterprise plan for large organizations that need extra flexibility and control.
<a href="https://cal.com/timurercan/enterprise-customers?utm_source=banner&utm_campaign=oss"><img alt="Book us with Cal.com" src="https://cal.com/book-with-cal-dark.svg" /></a>
2023-09-28 22:48:02 +00:00
## Tech Stack
2025-02-13 20:56:44 +11:00
2024-06-25 15:42:25 +02:00
<p align="left">
<a href="https://www.typescriptlang.org"><img src="https://shields.io/badge/TypeScript-3178C6?logo=TypeScript&logoColor=FFF&style=flat-square" alt="TypeScript"></a>
<a href="https://prisma.io"><img width="122" height="20" src="http://made-with.prisma.io/indigo.svg" alt="Made with Prisma" /></a>
2024-06-25 15:43:28 +02:00
<a href="https://tailwindcss.com/"><img src="https://img.shields.io/badge/tailwindcss-0F172A?&logo=tailwindcss" alt="Tailwind CSS"></a>
2024-06-25 15:42:25 +02:00
<a href=""><img src="" alt=""></a>
<a href=""><img src="" alt=""></a>
<a href=""><img src="" alt=""></a>
<a href=""><img src="" alt=""></a>
<a href=""><img src="" alt=""></a>
</p>
2023-09-28 22:48:02 +00:00
- [Typescript ](https://www.typescriptlang.org/ ) - Language
2025-02-13 20:56:44 +11:00
- [ReactRouter ](https://reactrouter.com/ ) - Framework
- [Prisma ](https://www.prisma.io/ ) - ORM
2023-09-28 22:48:02 +00:00
- [Tailwind ](https://tailwindcss.com/ ) - CSS
- [shadcn/ui ](https://ui.shadcn.com/ ) - Component Library
- [react-email ](https://react.email/ ) - Email Templates
- [tRPC ](https://trpc.io/ ) - API
feat: documentation site (#1101)
## Description
<!--- Describe the changes introduced by this pull request. -->
<!--- Explain what problem it solves or what feature/fix it adds. -->
## Related Issue
<!--- If this pull request is related to a specific issue, reference it
here using #issue_number. -->
<!--- For example, "Fixes #123" or "Addresses #456". -->
## Changes Made
<!--- Provide a summary of the changes made in this pull request. -->
<!--- Include any relevant technical details or architecture changes.
-->
- Change 1
- Change 2
- ...
## Testing Performed
<!--- Describe the testing that you have performed to validate these
changes. -->
<!--- Include information about test cases, testing environments, and
results. -->
- Tested feature X in scenario Y.
- Ran unit tests for component Z.
- Tested on browsers A, B, and C.
- ...
## Checklist
<!--- Please check the boxes that apply to this pull request. -->
<!--- You can add or remove items as needed. -->
- [ ] I have tested these changes locally and they work as expected.
- [ ] I have added/updated tests that prove the effectiveness of these
changes.
- [ ] I have updated the documentation to reflect these changes, if
applicable.
- [ ] I have followed the project's coding style guidelines.
- [ ] I have addressed the code review feedback from the previous
submission, if applicable.
## Additional Notes
<!--- Provide any additional context or notes for the reviewers. -->
<!--- This might include details about design decisions, potential
concerns, or anything else relevant. -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Documentation**
- Enhanced project README for clarity and improved environment variables
section.
- Added comprehensive developer and user documentation, including guides
on local development, public API, self-hosting, and compliance
standards.
- Introduced specific guides for contributing, creating API keys, using
webhooks, and setting up security measures.
- Detailed documentation on various fields available for document
signing to improve user understanding.
- Added metadata structuring to improve navigation within the
documentation site.
- **Chores**
- Updated `.gitignore` to better handle project files.
- **New Features**
- Introduced detailed metadata and documentation for various Documenso
functionalities, including signing documents, user profiles, and
compliance levels.
- Added functionality for Direct Link Signing, enabling easy sharing for
document signing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Timur Ercan <timur.ercan31@gmail.com>
Co-authored-by: Lucas Smith <me@lucasjamessmith.me>
Co-authored-by: David Nguyen <davidngu28@gmail.com>
2024-07-22 14:34:37 +03:00
- [@documenso/pdf-sign ](https://www.npmjs.com/package/@documenso/pdf-sign ) - PDF Signatures (launching soon)
2023-09-28 22:48:02 +00:00
- [React-PDF ](https://github.com/wojtekmaj/react-pdf ) - Viewing PDFs
- [PDF-Lib ](https://github.com/Hopding/pdf-lib ) - PDF manipulation
- [Stripe ](https://stripe.com/ ) - Payments
2023-03-13 21:03:23 +01:00
2023-09-28 22:48:02 +00:00
<!-- - Support for [opensignpdf (requires Java on server) ](https://github.com/open-pdf-sign ) is currently planned. -->
2023-03-13 21:03:23 +01:00
2023-09-28 22:48:02 +00:00
## Local Development
2023-03-13 21:03:23 +01:00
2023-09-28 22:48:02 +00:00
### Requirements
2023-02-14 13:11:10 +01:00
2023-11-01 04:20:35 +05:30
To run Documenso locally, you will need
2023-02-02 20:04:59 +01:00
2025-02-13 20:56:44 +11:00
- Node.js (v22 or above)
2023-09-28 22:48:02 +00:00
- Postgres SQL Database
- Docker (optional)
2023-02-02 20:04:59 +01:00
2023-09-28 22:48:02 +00:00
### Developer Quickstart
2023-04-08 23:09:57 +10:00
> **Note**: This is a quickstart for developers. It assumes that you have both [docker](https://docs.docker.com/get-docker/) and [docker-compose](https://docs.docker.com/compose/) installed on your machine.
Want to get up and running quickly? Follow these steps:
2023-12-29 08:48:26 -05:00
1. [Fork this repository ](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks ) to your GitHub account.
2023-12-23 23:18:32 -05:00
2023-12-30 18:27:24 -05:00
After forking the repository, clone it to your local device by using the following command:
2023-04-08 23:09:57 +10:00
2023-09-28 22:48:02 +00:00
```sh
2023-12-23 23:18:32 -05:00
git clone https://github.com/<your-username>/documenso
2023-09-28 22:48:02 +00:00
```
2023-04-08 23:09:57 +10:00
2023-11-01 04:20:35 +05:30
2. 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.
2023-09-30 00:43:45 +10:00
2023-09-28 22:48:02 +00:00
3. Run `npm run dx` in the root directory
2023-04-08 23:09:57 +10:00
2023-09-28 22:48:02 +00:00
- This will spin up a postgres database and inbucket mailserver in a docker container.
2023-04-08 23:09:57 +10:00
2023-09-28 22:48:02 +00:00
4. Run `npm run dev` in the root directory
2023-09-30 00:43:45 +10:00
2023-09-28 22:48:02 +00:00
5. Want it even faster? Just use
2023-04-08 23:09:57 +10:00
2023-09-28 22:48:02 +00:00
```sh
npm run d
```
2023-04-08 23:09:57 +10:00
2023-09-28 22:48:02 +00:00
#### Access Points for Your Application
2023-02-02 20:04:59 +01:00
2023-09-28 22:48:02 +00:00
1. **App ** - http://localhost:3000
2. **Incoming Mail Access ** - http://localhost:9000
3. **Database Connection Details **
2023-12-08 20:49:08 +11:00
2023-09-28 22:48:02 +00:00
- **Port**: 54320
- **Connection**: Use your favorite database client to connect using the provided port.
2023-03-13 21:03:23 +01:00
2023-12-08 20:49:08 +11:00
4. **S3 Storage Dashboard ** - http://localhost:9001
2023-09-28 22:48:02 +00:00
## Developer Setup
2023-03-13 21:03:23 +01:00
2023-09-28 22:48:02 +00:00
### Manual Setup
2023-04-04 22:02:32 +00:00
2023-11-01 04:20:35 +05:30
Follow these steps to setup Documenso on your local machine:
2023-03-13 21:03:23 +01:00
2023-12-29 08:48:26 -05:00
1. [Fork this repository ](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks ) to your GitHub account.
2023-12-23 23:18:32 -05:00
2023-12-30 18:27:24 -05:00
After forking the repository, clone it to your local device by using the following command:
2023-03-13 21:03:23 +01:00
2023-09-28 22:48:02 +00:00
```sh
2023-12-23 23:18:32 -05:00
git clone https://github.com/<your-username>/documenso
2023-09-28 22:48:02 +00:00
```
2023-08-11 20:44:09 +00:00
2023-11-01 04:20:35 +05:30
2. Run `npm i` in the root directory
2023-08-11 20:44:09 +00:00
2023-09-30 00:43:45 +10:00
3. Create your `.env` from the `.env.example` . You can use `cp .env.example .env` to get started with our handpicked defaults.
2023-03-14 11:35:27 +01:00
2023-11-01 04:20:35 +05:30
4. Set the following environment variables:
2023-10-04 18:38:59 +11:00
- NEXTAUTH_SECRET
- NEXT_PUBLIC_WEBAPP_URL
- NEXT_PRIVATE_DATABASE_URL
- NEXT_PRIVATE_DIRECT_DATABASE_URL
- NEXT_PRIVATE_SMTP_FROM_NAME
- NEXT_PRIVATE_SMTP_FROM_ADDRESS
2023-03-13 21:03:23 +01:00
2023-10-08 21:51:15 +11:00
5. Create the database schema by running `npm run prisma:migrate-dev`
2023-03-13 21:03:23 +01:00
2023-11-01 04:20:35 +05:30
6. Run `npm run dev` in the root directory to start
2023-06-17 13:08:15 +10:00
2023-09-30 00:43:45 +10:00
7. Register a new user at http://localhost:3000/signup
2023-06-17 13:08:15 +10:00
2023-09-28 22:48:02 +00:00
---
2023-03-13 21:03:23 +01:00
2023-11-01 04:20:35 +05:30
- Optional: Seed the database using `npm run prisma:seed -w @documenso/prisma` to create a test user and document.
- Optional: Create your own signing certificate.
- To generate your own using these steps and a Linux Terminal or Windows Subsystem for Linux (WSL), see * * [Create your own signing certificate ](./SIGNING.md )**.
2023-06-17 13:08:15 +10:00
2023-09-28 22:48:02 +00:00
### Run in Gitpod
2023-06-17 13:08:15 +10:00
2023-09-28 22:48:02 +00:00
- Click below to launch a ready-to-use Gitpod workspace in your browser.
2023-06-17 13:08:15 +10:00
2023-09-28 22:48:02 +00:00
[](https://gitpod.io/#https://github .com/documenso/documenso)
2023-03-13 21:03:23 +01:00
2023-09-30 00:43:45 +10:00
### Run in DevContainer
2023-04-08 23:09:57 +10:00
2023-09-30 00:43:45 +10:00
We support DevContainers for VSCode. [Click here to get started. ](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/documenso/documenso )
2023-04-08 23:09:57 +10:00
2023-11-20 10:01:34 +02:00
### Video walkthrough
If you're a visual learner and prefer to watch a video walkthrough of setting up Documenso locally, check out this video:
[](https://youtu.be/Y0ppIQrEnZs)
2023-09-30 00:43:45 +10:00
## Docker
2023-09-10 09:28:15 +05:30
2024-03-07 23:36:34 +11:00
We provide a Docker container for Documenso, which is published on both DockerHub and GitHub Container Registry.
- DockerHub: [https://hub.docker.com/r/documenso/documenso ](https://hub.docker.com/r/documenso/documenso )
- GitHub Container Registry: [https://ghcr.io/documenso/documenso ](https://ghcr.io/documenso/documenso )
You can pull the Docker image from either of these registries and run it with your preferred container hosting provider.
Please note that you will need to provide environment variables for connecting to the database, mailserver, and so forth.
For detailed instructions on how to configure and run the Docker container, please refer to the [Docker README ](./docker/README.md ) in the `docker` directory.
2023-09-10 09:28:15 +05:30
2023-09-28 22:48:02 +00:00
## Self Hosting
2023-03-13 21:03:23 +01:00
2023-08-01 14:12:33 +00:00
We support a variety of deployment methods, and are actively working on adding more. Stay tuned for updates!
2023-11-01 04:20:35 +05:30
> Please note that the below deployment methods are for v0.9, we will update these to v1.0 once it has been released.
2023-09-30 00:43:45 +10:00
2023-11-01 04:20:35 +05:30
### Fetch, configure, and build
2023-10-23 15:44:28 +02:00
First, clone the code from Github:
```
git clone https://github.com/documenso/documenso.git
```
Then, inside the `documenso` folder, copy the example env file:
```
cp .env.example .env
```
2023-11-06 02:18:24 +01:00
The following environment variables must be set:
2023-10-23 15:44:28 +02:00
feat: documentation site (#1101)
## Description
<!--- Describe the changes introduced by this pull request. -->
<!--- Explain what problem it solves or what feature/fix it adds. -->
## Related Issue
<!--- If this pull request is related to a specific issue, reference it
here using #issue_number. -->
<!--- For example, "Fixes #123" or "Addresses #456". -->
## Changes Made
<!--- Provide a summary of the changes made in this pull request. -->
<!--- Include any relevant technical details or architecture changes.
-->
- Change 1
- Change 2
- ...
## Testing Performed
<!--- Describe the testing that you have performed to validate these
changes. -->
<!--- Include information about test cases, testing environments, and
results. -->
- Tested feature X in scenario Y.
- Ran unit tests for component Z.
- Tested on browsers A, B, and C.
- ...
## Checklist
<!--- Please check the boxes that apply to this pull request. -->
<!--- You can add or remove items as needed. -->
- [ ] I have tested these changes locally and they work as expected.
- [ ] I have added/updated tests that prove the effectiveness of these
changes.
- [ ] I have updated the documentation to reflect these changes, if
applicable.
- [ ] I have followed the project's coding style guidelines.
- [ ] I have addressed the code review feedback from the previous
submission, if applicable.
## Additional Notes
<!--- Provide any additional context or notes for the reviewers. -->
<!--- This might include details about design decisions, potential
concerns, or anything else relevant. -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Documentation**
- Enhanced project README for clarity and improved environment variables
section.
- Added comprehensive developer and user documentation, including guides
on local development, public API, self-hosting, and compliance
standards.
- Introduced specific guides for contributing, creating API keys, using
webhooks, and setting up security measures.
- Detailed documentation on various fields available for document
signing to improve user understanding.
- Added metadata structuring to improve navigation within the
documentation site.
- **Chores**
- Updated `.gitignore` to better handle project files.
- **New Features**
- Introduced detailed metadata and documentation for various Documenso
functionalities, including signing documents, user profiles, and
compliance levels.
- Added functionality for Direct Link Signing, enabling easy sharing for
document signing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Timur Ercan <timur.ercan31@gmail.com>
Co-authored-by: Lucas Smith <me@lucasjamessmith.me>
Co-authored-by: David Nguyen <davidngu28@gmail.com>
2024-07-22 14:34:37 +03:00
- `NEXTAUTH_SECRET`
- `NEXT_PUBLIC_WEBAPP_URL`
- `NEXT_PRIVATE_DATABASE_URL`
- `NEXT_PRIVATE_DIRECT_DATABASE_URL`
- `NEXT_PRIVATE_SMTP_FROM_NAME`
- `NEXT_PRIVATE_SMTP_FROM_ADDRESS`
2023-10-23 15:44:28 +02:00
2025-02-13 20:56:44 +11:00
> If you are using a reverse proxy in front of Documenso, don't forget to provide the public URL for the `NEXT_PUBLIC_WEBAPP_URL` variable!
2023-10-23 15:44:28 +02:00
Now you can install the dependencies and build it:
```
npm i
2023-11-29 20:06:25 +01:00
npm run build:web
2023-10-23 15:44:28 +02:00
npm run prisma:migrate-deploy
```
Finally, you can start it with:
```
2024-08-21 04:08:04 +03:00
cd apps/web
2023-10-23 15:44:28 +02:00
npm run start
```
This will start the server on `localhost:3000` . For now, any reverse proxy can then do the frontend and SSL termination.
> If you want to run with another port than 3000, you can start the application with `next -p <ANY PORT>` from the `apps/web` folder.
### Run as a service
2023-11-01 04:20:35 +05:30
You can use a systemd service file to run the app. Here is a simple example of the service running on port 3500 (using 3000 by default):
2023-10-23 15:44:28 +02:00
```bash
[Unit]
Description=documenso
After=network.target
[Service]
Environment=PATH=/path/to/your/node/binaries
Type=simple
User=www-data
WorkingDirectory=/var/www/documenso/apps/web
ExecStart=/usr/bin/next start -p 3500
TimeoutSec=15
Restart=always
[Install]
WantedBy=multi-user.target
```
2023-09-28 22:48:02 +00:00
### Railway
2023-08-01 13:47:50 +00:00
2023-12-22 11:44:22 +05:30
[](https://railway.app/template/bG6D4p)
2023-06-02 14:00:54 +07:00
2023-09-28 22:48:02 +00:00
### Render
2023-08-10 01:53:05 +00:00
[](https://render.com/deploy?repo=https://github.com/documenso/documenso)
2023-12-19 13:34:29 +05:30
### Koyeb
[](https://app.koyeb.com/deploy?type=git&repository=github.com/documenso/documenso&branch=main&name=documenso-app&builder=dockerfile&dockerfile=/docker/Dockerfile)
2024-09-05 11:00:46 +05:30
## Elestio
[](https://elest.io/open-source/documenso)
2023-09-28 22:48:02 +00:00
## Troubleshooting
2023-06-02 14:00:54 +07:00
2023-11-01 04:20:35 +05:30
### I'm not receiving any emails when using the developer quickstart.
2023-06-17 13:08:15 +10:00
2023-11-01 04:20:35 +05:30
When using the developer quickstart, an [Inbucket ](https://inbucket.org/ ) server will be spun up in a docker container that will store all outgoing emails locally for you to view.
2023-06-17 13:08:15 +10:00
2023-11-01 04:20:35 +05:30
The Web UI can be found at http://localhost:9000, while the SMTP port will be on localhost:2500.
2023-06-17 13:08:15 +10:00
2023-09-28 22:48:02 +00:00
### Support IPv6
2023-06-02 14:00:54 +07:00
2023-11-01 04:20:35 +05:30
If you are deploying to a cluster that uses only IPv6, You can use a custom command to pass a parameter to the Next.js start command
2023-06-02 14:00:54 +07:00
For local docker run
```bash
docker run -it documenso:latest npm run start -- -H ::
```
For k8s or docker-compose
```yaml
containers:
- name: documenso
image: documenso:latest
imagePullPolicy: IfNotPresent
command:
- npm
args:
- run
- start
- --
- -H
2023-09-28 22:48:02 +00:00
- '::'
2023-06-02 14:00:54 +07:00
```
2023-09-28 22:48:02 +00:00
2023-11-01 04:20:35 +05:30
### I can't see environment variables in my package scripts.
2023-10-08 21:51:15 +11:00
Wrap your package script with the `with:env` script like such:
```
npm run with:env -- npm run myscript
```
2023-11-01 04:20:35 +05:30
The same can be done when using `npx` for one of the bin scripts:
2023-10-08 21:51:15 +11:00
```
npm run with:env -- npx myscript
```
This will load environment variables from your `.env` and `.env.local` files.
2023-09-28 22:48:02 +00:00
## Repo Activity
