<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Documenso</title>
    <description>The latest articles on Forem by Documenso (@documenso).</description>
    <link>https://forem.com/documenso</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F7375%2Ff187e048-7318-46c3-b409-3ede8a275a49.png</url>
      <title>Forem: Documenso</title>
      <link>https://forem.com/documenso</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/documenso"/>
    <language>en</language>
    <item>
      <title>Deploying Documenso with Vercel, Supabase and Resend</title>
      <dc:creator>Ephraim Duncan</dc:creator>
      <pubDate>Fri, 08 Sep 2023 08:18:28 +0000</pubDate>
      <link>https://forem.com/documenso/deploying-documenso-with-vercel-supabase-and-resend-foi</link>
      <guid>https://forem.com/documenso/deploying-documenso-with-vercel-supabase-and-resend-foi</guid>
      <description>&lt;p&gt;In this article, we'll walk you through how to deploy and self-host Documenso using Vercel, Supabase, and Resend. &lt;/p&gt;

&lt;p&gt;You'll learn:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to set up a Postgres database using Supabase,&lt;/li&gt;
&lt;li&gt;How to install SMTP with Resend,&lt;/li&gt;
&lt;li&gt;How to deploy your project with Vercel.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you don't know what &lt;a href="https://documenso.com/" rel="noopener noreferrer"&gt;Documenso&lt;/a&gt; is, it's an open-source alternative to DocuSign, with the mission to create an open signing infrastructure while embracing openness, cooperation, and transparency.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;Before we start, make sure you have a &lt;a href="https://github.com/signup" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; account. You also need &lt;a href="https://nodejs.org/en" rel="noopener noreferrer"&gt;Node.js&lt;/a&gt; and &lt;a href="https://www.npmjs.com/" rel="noopener noreferrer"&gt;npm&lt;/a&gt; installed on your local machine (note: you also have the option to host it on a cloud environment using Gitpod for example; that would be another post). If you need accounts on Vercel, Supabase, and Resend, create them by visiting the &lt;a href="https://vercel.com/" rel="noopener noreferrer"&gt;Vercel&lt;/a&gt;, &lt;a href="https://supabase.com/" rel="noopener noreferrer"&gt;Supabase&lt;/a&gt;, and &lt;a href="https://resend.com/" rel="noopener noreferrer"&gt;Resend&lt;/a&gt; websites.&lt;/p&gt;

&lt;p&gt;Checklist:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[ ]  Have a GitHub account&lt;/li&gt;
&lt;li&gt;[ ]  Install Node.js&lt;/li&gt;
&lt;li&gt;[ ]  Install npm&lt;/li&gt;
&lt;li&gt;[ ]  Have a Vercel account&lt;/li&gt;
&lt;li&gt;[ ]  Have a Supabase account&lt;/li&gt;
&lt;li&gt;[ ]  Have a Resend account&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step-by-Step guide to deploying Documenso with Vercel, Supabase, and Resend
&lt;/h2&gt;

&lt;p&gt;To deploy Documenso, we'll take the following steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fork the Documenso repository&lt;/li&gt;
&lt;li&gt;Clone the forked repository and install dependencies&lt;/li&gt;
&lt;li&gt;Create a new project on Supabase&lt;/li&gt;
&lt;li&gt;Copy the Supabase Postgres database connection URL&lt;/li&gt;
&lt;li&gt;Create a &lt;code&gt;.env&lt;/code&gt; file&lt;/li&gt;
&lt;li&gt;Run the migration on the Supabase Postgres Database&lt;/li&gt;
&lt;li&gt;Get your SMTP Keys on Resend&lt;/li&gt;
&lt;li&gt;Create a new project on Vercel&lt;/li&gt;
&lt;li&gt;Add Environment Variables to your Vercel project&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So, you're ready? Let’s dive in!&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Fork the Documenso repository
&lt;/h3&gt;

&lt;p&gt;Start by creating a fork of Documenso on GitHub. You can do this by visiting the &lt;a href="https://github.com/documenso/documenso" rel="noopener noreferrer"&gt;Documenso repository&lt;/a&gt; and clicking on the 'Fork' button. (Also, star the repo!)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwkcujctpf86p56bju3mq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwkcujctpf86p56bju3mq.png" alt="Documenso"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Choose your GitHub profile as the owner and click on 'Create fork' to create a fork of the repo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxf49r2byu9nnd1465niy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxf49r2byu9nnd1465niy.png" alt="Fork the Documenso repository on GitHub"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Clone the forked repository and install dependencies
&lt;/h3&gt;

&lt;p&gt;Clone the forked repository to your local machine in any directory of your choice. Open your terminal and enter the following commands:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="c"&gt;# Clone the repo using Github CLI&lt;/span&gt;
gh repo clone &lt;span class="o"&gt;[&lt;/span&gt;your_github_username]/documenso

&lt;span class="c"&gt;# Clone the repo using Git&lt;/span&gt;
git clone &amp;lt;https://github.com/[your_github_username]/documenso.git&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;You can now navigate into the directory and install the project’s dependencies:&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;p&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;documenso&lt;br&gt;
npm &lt;span class="nb"&gt;install&lt;/span&gt;&lt;/p&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Step 3: Create a new project on Supabase&lt;br&gt;
&lt;/h3&gt;

&lt;p&gt;Now, let's set up the database.&lt;/p&gt;

&lt;p&gt;If you haven't already, create a new project on Supabase. This will automatically create a new Postgres database for you.&lt;/p&gt;

&lt;p&gt;On your Supabase dashboard, click the '&lt;strong&gt;New project&lt;/strong&gt;' button and choose your organization. &lt;/p&gt;

&lt;p&gt;On the '&lt;strong&gt;Create a new project&lt;/strong&gt;' page, set a database name of &lt;strong&gt;documenso&lt;/strong&gt; and a secure password for your database. Choose a region closer to you, a pricing plan, and click on '&lt;strong&gt;Create new project&lt;/strong&gt;' to create your project.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw5lqz771iupjyi1ekfdz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw5lqz771iupjyi1ekfdz.png" alt="Create a new project on Supabase"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Copy the Supabase Postgres database connection URL
&lt;/h3&gt;

&lt;p&gt;In your project, click the '&lt;strong&gt;Settings&lt;/strong&gt;' icon at the bottom left. &lt;/p&gt;

&lt;p&gt;Under the '&lt;strong&gt;Project Settings&lt;/strong&gt;' section, click '&lt;strong&gt;Database&lt;/strong&gt;' and scroll down to the '&lt;strong&gt;Connection string&lt;/strong&gt;' section. Copy the '&lt;strong&gt;URI&lt;/strong&gt;' and update it with the password you chose in the previous step.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy1ldu3qrg9moednbzjij.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy1ldu3qrg9moednbzjij.png" alt="Copy the Supabase Postgres database connection URL"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Create a &lt;code&gt;.env&lt;/code&gt; file
&lt;/h3&gt;

&lt;p&gt;Create a &lt;code&gt;.env&lt;/code&gt; file in the root of your project by copying the contents of the &lt;code&gt;.env.example&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;Add the connection string you copied from your Supabase dashboard to the &lt;code&gt;DATABASE_URL&lt;/code&gt; variable in the &lt;code&gt;.env&lt;/code&gt; file. &lt;/p&gt;

&lt;p&gt;The &lt;code&gt;.env&lt;/code&gt; should look like this:&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;p&gt;&lt;span class="nv"&gt;DATABASE_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"postgres://postgres:[YOUR-PASSWORD]@db.[YOUR-PROJECT-REF].supabase.co:5432/postgres"&lt;/span&gt;&lt;/p&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Step 6: Run the migration on the Supabase Postgres Database&lt;br&gt;
&lt;/h3&gt;

&lt;p&gt;Run the migration on the Supabase Postgres Database using the following command:&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;p&gt;npx prisma migrate deploy&lt;/p&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Step 7: Get your SMTP Keys on Resend&lt;br&gt;
&lt;/h3&gt;

&lt;p&gt;So, you've just cloned Documenso, installed dependencies on your local machine, and set your database using Supabase. Now, SMTP is missing. Emails won't go out! Let's fix it with Resend.&lt;/p&gt;

&lt;p&gt;In the &lt;strong&gt;&lt;a href="https://resend.com/" rel="noopener noreferrer"&gt;Resend&lt;/a&gt;&lt;/strong&gt; dashboard, click 'Add API Key' to create a key for Resend SMTP.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuh2rztgn09mlvecl34i5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuh2rztgn09mlvecl34i5.png" alt="Create a key for Resend SMTP"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, add and verify your domain in the '&lt;strong&gt;Domains&lt;/strong&gt;' section on the sidebar. This will allow you to send emails from any address associated with your domain.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnxgie0esz530vq5a494o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnxgie0esz530vq5a494o.png" alt="Verify your domain on Resend"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can update your &lt;code&gt;.env&lt;/code&gt; file with the following:&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;

&lt;p&gt;&lt;span class="nx"&gt;SMTP_MAIL_HOST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;smtp.resend.com&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;br&gt;
&lt;span class="nx"&gt;SMTP_MAIL_PORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;25&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;br&gt;
&lt;span class="nx"&gt;SMTP_MAIL_USER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;resend&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;br&gt;
&lt;span class="nx"&gt;SMTP_MAIL_PASSWORD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;YOUR_RESEND_API_KEY&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;br&gt;
&lt;span class="nx"&gt;MAIL_FROM&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;noreply@[YOUR_DOMAIN]&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;/p&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Step 8: Create a new project on Vercel&lt;br&gt;
&lt;/h3&gt;

&lt;p&gt;You set the database with Supabase and are SMTP-ready with Resend. Almost there! The next step is to deploy the project — we'll use Vercel for that.&lt;/p&gt;

&lt;p&gt;On your Vercel dashboard, create a new project using the forked project from your GitHub repositories. Select the project among the options and click '&lt;strong&gt;Import&lt;/strong&gt;' to start running Documenso.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgdy97tltpnu7vf4fc11f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgdy97tltpnu7vf4fc11f.png" alt="Create a new project on Vercel"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 9: Add Environment Variables to your Vercel project
&lt;/h3&gt;

&lt;p&gt;In the '&lt;strong&gt;Configure Project&lt;/strong&gt;' page, adding the required Environmental Variables is essential to ensure the application deploys without any errors.&lt;/p&gt;

&lt;p&gt;Specifically, for the &lt;code&gt;NEXT_PUBLIC_WEBAPP_URL&lt;/code&gt; and &lt;code&gt;NEXTAUTH_URL&lt;/code&gt; variables, you must add &lt;code&gt;.vercel.app&lt;/code&gt; to your Project Name. This will form the deployment URL, which will be in the format: &lt;code&gt;https://[project_name].vercel.app&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;For example, in my case, the deployment URL is &lt;code&gt;https://documenso-supabase-web.vercel.app&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faru33fk1i19h0valffow.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faru33fk1i19h0valffow.png" alt="Add Environment Variables to your Vercel project"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a sample &lt;code&gt;.env&lt;/code&gt; to deploy. Copy and paste it to auto-populate the fields and click ‘&lt;strong&gt;Deploy.’&lt;/strong&gt; Now, you only need to wait for your project to deploy. You’re going live — enjoy!&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;p&gt;&lt;span class="nv"&gt;DATABASE_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'postgresql://postgres:&lt;a href="mailto:typeinastrongpassword@db.njuigobjlbteahssqbtw.supabase.co"&gt;typeinastrongpassword@db.njuigobjlbteahssqbtw.supabase.co&lt;/a&gt;:5432/postgres'&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class="nv"&gt;NEXT_PUBLIC_WEBAPP_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'&lt;a href="https://documenso-supabase-web.vercel.app" rel="noopener noreferrer"&gt;https://documenso-supabase-web.vercel.app&lt;/a&gt;'&lt;/span&gt;&lt;br&gt;
&lt;span class="nv"&gt;NEXTAUTH_SECRET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'something gibrish to encrypt your jwt tokens'&lt;/span&gt;&lt;br&gt;
&lt;span class="nv"&gt;NEXTAUTH_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'&lt;a href="https://documenso-supabase-web.vercel.app" rel="noopener noreferrer"&gt;https://documenso-supabase-web.vercel.app&lt;/a&gt;'&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class="c"&gt;# Get a Sendgrid Api key here: &amp;lt;&lt;a href="https://signup.sendgrid.com" rel="noopener noreferrer"&gt;https://signup.sendgrid.com&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;
&lt;span class="nv"&gt;SENDGRID_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;''&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class="c"&gt;# Set SMTP credentials to use SMTP instead of the Sendgrid API.&lt;/span&gt;&lt;br&gt;
&lt;span class="nv"&gt;SMTP_MAIL_HOST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'smtp.resend.com'&lt;/span&gt;&lt;br&gt;
&lt;span class="nv"&gt;SMTP_MAIL_PORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'25'&lt;/span&gt;&lt;br&gt;
&lt;span class="nv"&gt;SMTP_MAIL_USER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'resend'&lt;/span&gt;&lt;br&gt;
&lt;span class="nv"&gt;SMTP_MAIL_PASSWORD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'YOUR_RESEND_API_KEY'&lt;/span&gt;&lt;br&gt;
&lt;span class="nv"&gt;MAIL_FROM&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'noreply@[YOUR_DOMAIN]'&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class="nv"&gt;NEXT_PUBLIC_ALLOW_SIGNUP&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;&lt;/p&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Wrapping up&lt;br&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsecg29j9j40o4u2oa8o8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsecg29j9j40o4u2oa8o8.png" alt="Deploying Documenso"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Congratulations! 🎉 You've successfully deployed Documenso using Vercel, Supabase, and Resend. You're now ready to create and sign your own documents with your self-hosted Documenso!&lt;/p&gt;

&lt;p&gt;In this step-by-step guide, you learned how to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;set up a Postgres database using Supabase,&lt;/li&gt;
&lt;li&gt;install SMTP with Resend,&lt;/li&gt;
&lt;li&gt;deploy your project with Vercel.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Over to you! How was the tutorial? If you enjoyed it, &lt;a href="https://twitter.com/documenso/status/1700141802693480482" rel="noopener noreferrer"&gt;please do share&lt;/a&gt;! And if you have any questions or comments, please reach out to me on &lt;a href="https://twitter.com/EphraimDuncan_" rel="noopener noreferrer"&gt;Twitter / X&lt;/a&gt; (DM open) or &lt;a href="https://documen.so/discord" rel="noopener noreferrer"&gt;Discord&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We're building an open-source alternative to DocuSign and welcome every contribution. Head over to the GitHub repository and &lt;a href="https://github.com/documenso/documenso" rel="noopener noreferrer"&gt;leave us a Star&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>opensource</category>
      <category>postgres</category>
    </item>
    <item>
      <title>Switching to Discord</title>
      <dc:creator>fmerian</dc:creator>
      <pubDate>Thu, 17 Aug 2023 10:12:04 +0000</pubDate>
      <link>https://forem.com/documenso/switching-to-discord-3mjc</link>
      <guid>https://forem.com/documenso/switching-to-discord-3mjc</guid>
      <description>&lt;p&gt;We’re switching to Discord.&lt;/p&gt;

&lt;p&gt;Documenso is an open-source DocuSign alternative, built with community and transparency in mind.&lt;/p&gt;

&lt;p&gt;So, when we started working on the project, we quickly set up a Slack workspace to start engaging with community members.&lt;/p&gt;

&lt;p&gt;As the community grows (reached 2K stars on GitHub and 100 community members on Slack), we felt the need to set up a more community-friendly environment.&lt;/p&gt;

&lt;p&gt;The Documenso team is growing, too. &lt;a href="https://twitter.com/ElTimuro/status/1648608988391514112" rel="noopener noreferrer"&gt;Lucas joined Timur&lt;/a&gt;, then &lt;a href="https://twitter.com/documenso/status/1662418374243041280" rel="noopener noreferrer"&gt;Ephraim&lt;/a&gt; and &lt;a href="https://github.com/dguyen" rel="noopener noreferrer"&gt;David&lt;/a&gt; recently joined the journey. We want to stay in touch with the community as much as possible and avoid context-switching to focus on work, support, and fun.&lt;/p&gt;

&lt;p&gt;We’re an open-source project and focus on building a great developer experience. So, when we thought of a Slack replacement, community- and developer-friendly, Discord was an obvious choice — not to mention that it would help us keep up with &lt;a href="https://documen.so/oss" rel="noopener noreferrer"&gt;OSS friends&lt;/a&gt;, too.&lt;/p&gt;

&lt;p&gt;So, we’re switching all conversations, team- and community-wide, to Discord.&lt;/p&gt;

&lt;p&gt;In this post, we won’t debate why we’re switching — Slack vs. Discord is a long-lasting debate with pros and cons, and fans on both sides. There are great &lt;a href="https://blog.meilisearch.com/from-slack-to-discord-our-migration/" rel="noopener noreferrer"&gt;stories&lt;/a&gt; and &lt;a href="https://twitter.com/McPizza0/status/1655519558600470528" rel="noopener noreferrer"&gt;threads&lt;/a&gt; on the topic. We just don’t want to write yet another story here.&lt;/p&gt;

&lt;p&gt;Instead, we’ll focus on how we plan to make the switch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who is this story for?
&lt;/h2&gt;

&lt;p&gt;First, we wrote this post for the team so we’re ready for the switch. Then we post it online because we value transparency and thought it might help the community.&lt;/p&gt;

&lt;p&gt;For community members, this story would help you understand how we plan to make the switch and give you the guidance to fully embrace the new experience.&lt;/p&gt;

&lt;p&gt;For founders and makers who would like to switch too, in one way or another, this story would help you handle the transition with a detailed guide.&lt;/p&gt;

&lt;h2&gt;
  
  
  Switching to Discord
&lt;/h2&gt;

&lt;p&gt;We’re switching to Discord, step by step. First, we’re moving team conversations, then we’re moving the community with a 15-day buffering.&lt;/p&gt;

&lt;p&gt;The detailed plan goes like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;2023-07-25 &lt;code&gt;t=0&lt;/code&gt;&lt;/strong&gt;: Timur starts setting up the Discord server and sends invites to the team.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;2023-07-26 &lt;code&gt;t+1&lt;/code&gt;&lt;/strong&gt;: The team switches to Discord. The objective is to get used to the product and to customize it to feel at home and, when we’re ready to welcome the community, to make new members feel at home, too.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;2023-08-02 &lt;code&gt;t+8&lt;/code&gt;&lt;/strong&gt;: We announce to the community the upcoming changes in the different channels — GitHub, Twitter, and Slack.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;[ ] Create new Pull Request&lt;/li&gt;
&lt;li&gt;[ ] Add story to the blog&lt;/li&gt;
&lt;li&gt;[ ] Update link to the community&lt;/li&gt;
&lt;li&gt;[ ] Start a new Discussion
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://documen.so/discord
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Happy Wednesday!

TL,DR: We’re switching to Discord. [Join the fun!](https://documen.so/discord)

We want to build a beautiful, open-source DocuSign alternative. As we're growing (reached 2.3K Stars), we feel the need to have a more community- and developer-friendly environment to share ideas, support, and memes.

Make sure to join the server to keep up to date on all things Documenso.

Oh and, spoiler alert, there may be some swag there 👀

See you there!
Flo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Twitter&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Tweet the announcement&lt;/li&gt;
&lt;li&gt;[ ] Pin Tweet&lt;/li&gt;
&lt;li&gt;[ ] Update link in bio
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;The Open Source DocuSign Alternative.

http://documen.so/github
http://documen.so/discord
http://documen.so/manifest

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Slack&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Post message in &lt;code&gt;#general&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Pin post&lt;/li&gt;
&lt;li&gt;[ ] Set topic and description&lt;/li&gt;
&lt;li&gt;[ ] Archive channels: &lt;code&gt;#code-review&lt;/code&gt; &lt;code&gt;#how-to&lt;/code&gt; &lt;code&gt;#meet-and-greet&lt;/code&gt; &lt;code&gt;#random-memes&lt;/code&gt; &lt;code&gt;#self-hosting&lt;/code&gt; &lt;code&gt;#support&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Happy Wednesday!

TL,DR: We’re switching to Discord. [Join the fun!](https://documen.so/discord)

We want to build a beautiful, open-source DocuSign alternative. As we're growing (reached 2.3K Stars), we feel the need to have a more community- and developer-friendly environment to share ideas, support, and memes.

Make sure to [join the server](https://documen.so/discord) to keep up to date on all things Documenso.

Oh and, spoiler alert, there may be some swag there 👀

See you there!
Flo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;We're switching to Discord. Join the fun: https://documen.so/discord
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;2023-08-09 &lt;code&gt;t+15&lt;/code&gt;&lt;/strong&gt;: 7 days later, we send a reminder on Slack.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Slack&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;[ ] Schedule reminder in &lt;code&gt;#general&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Friendly reminder: we're switching to Discord and will soon disconnect this Slack workspace.

Join the fun! https://documen.so/discord
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;2023-08-16 &lt;code&gt;t+22&lt;/code&gt;&lt;/strong&gt;: 15 days later, we’re making the final edits to the Slack workspace.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Slack&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;[ ] &lt;a href="https://app.slack.com/slackhelp/en-US/360004635551" rel="noopener noreferrer"&gt;Edit posting permissions&lt;/a&gt; in #general&lt;/li&gt;
&lt;li&gt;[ ] Disconnect Slack&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final thoughts
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;We’re at the very, early stage on our journey to building a beautiful, open-source DocuSign alternative. We want to build a great developer experience with the open-source community and, switching to Discord, we want to set up the foundations of an open, safe place for community members to get in touch, brainstorm ideas, and have fun.&lt;/li&gt;
&lt;li&gt;It doesn’t mean we won’t ever switch back to Slack. The tools of today aren’t the ones of tomorrow. We don’t delete the Slack workspace, we archive it, and keep the documenso handle. May it be just an au revoir?&lt;/li&gt;
&lt;li&gt;For now, we’re pushing forward and are eager to welcome you on Discord. Make sure to &lt;a href="https://documen.so/discord" rel="noopener noreferrer"&gt;join the server&lt;/a&gt; in order to keep up to date on all things Documenso. See you there!&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
  </channel>
</rss>
