Código Abierto
Autohospedaje
Tutorial
8 sept 2023
En este artículo, te guiaremos a través de cómo desplegar y auto alojar Documenso utilizando Vercel, Supabase y Resend.
Aprenderás:
Cómo configurar una base de datos Postgres utilizando Supabase,
Cómo instalar SMTP con Resend,
Cómo desplegar tu proyecto con Vercel.
Si no sabes qué es Documenso, es una alternativa de código abierto a DocuSign, con la misión de crear una infraestructura abierta de firma mientras se abraza la apertura, la cooperación y la transparencia.
Requisitos previos
Antes de comenzar, asegúrate de tener una cuenta de GitHub. También necesitas tener Node.js y npm instalados en tu máquina local (nota: también tienes la opción de alojarlo en un entorno en la nube usando Gitpod, por ejemplo; eso sería otro post). Si necesitas cuentas en Vercel, Supabase y Resend, créalas visitando los sitios web de Vercel, Supabase y Resend.
Lista de verificación:
Tener una cuenta de GitHub
Instalar Node.js
Instalar npm
Tener una cuenta de Vercel
Tener una cuenta de Supabase
Tener una cuenta de Resend
Guía paso a paso para desplegar Documenso con Vercel, Supabase y Resend
Para desplegar Documenso, seguiremos los siguientes pasos:
Hacer un fork del repositorio de Documenso
Clonar el repositorio bifurcado e instalar dependencias
Crear un nuevo proyecto en Supabase
Copiar la URL de conexión de la base de datos Postgres de Supabase
Crear un archivo `.env`
Ejecutar la migración en la base de datos Postgres de Supabase
Obtener tus claves SMTP en Resend
Crear un nuevo proyecto en Vercel
Agregar variables de entorno a tu proyecto de Vercel
Entonces, ¿estás listo? ¡Vamos a empezar!
Paso 1: Hacer un fork del repositorio de Documenso
Comienza creando un fork de Documenso en GitHub. Puedes hacerlo visitando el repositorio de Documenso y haciendo clic en el botón 'Fork'. (¡También, dale una estrella al repositorio!)
Elige tu perfil de GitHub como propietario y haz clic en 'Crear fork' para crear un fork del repositorio.
Paso 2: Clonar el repositorio bifurcado e instalar dependencias
Clona el repositorio bifurcado en tu máquina local en cualquier directorio de tu elección. Abre tu terminal e ingresa los siguientes comandos:
Ahora puedes navegar al directorio e instalar las dependencias del proyecto:
Paso 3: Crear un nuevo proyecto en Supabase
Ahora, configuremos la base de datos.
Si aún no lo has hecho, crea un nuevo proyecto en Supabase. Esto creará automáticamente una nueva base de datos Postgres para ti.
En tu panel de Supabase, haz clic en el botón 'Nuevo proyecto' y elige tu organización.
En la página 'Crear un nuevo proyecto', establece un nombre de base de datos de documenso y una contraseña segura para tu base de datos. Elige una región más cercana a ti, un plan de precios y haz clic en 'Crear nuevo proyecto' para crear tu proyecto.
Paso 4: Copiar la URL de conexión de la base de datos Postgres de Supabase
En tu proyecto, haz clic en el icono 'Configuraciones' en la parte inferior izquierda.
Bajo la sección 'Configuraciones del proyecto', haz clic en 'Base de datos' y desplázate hacia abajo hasta la sección 'Cadena de conexión'. Copia el 'URI' y actualízalo con la contraseña que elegiste en el paso anterior.
Paso 5: Crear un archivo `.env`
Crea un archivo .env en la raíz de tu proyecto copiando el contenido del archivo .env.example.
Agrega la cadena de conexión que copiaste de tu panel de Supabase a la variable DATABASE_URL en el archivo .env.
El archivo .env debería verse así:
Paso 6: Ejecutar la migración en la base de datos Postgres de Supabase
Ejecuta la migración en la base de datos Postgres de Supabase utilizando el siguiente comando:
Paso 7: Obtener tus claves SMTP en Resend
Así que acabas de clonar Documenso, instalar dependencias en tu máquina local y establecer tu base de datos utilizando Supabase. Ahora, falta SMTP. ¡Los correos no saldrán! Vamos a solucionarlo con Resend.
En el panel de Resend, haz clic en 'Agregar clave API' para crear una clave para Resend SMTP.
A continuación, añade y verifica tu dominio en la sección 'Dominios' en la barra lateral. Esto te permitirá enviar correos desde cualquier dirección asociada con tu dominio.
Puedes actualizar tu archivo `.env` con lo siguiente:
Paso 8: Crear un nuevo proyecto en Vercel
Has configurado la base de datos con Supabase y estás listo para SMTP con Resend. ¡Casi ahí! El siguiente paso es desplegar el proyecto — usaremos Vercel para eso.
En tu panel de Vercel, crea un nuevo proyecto usando el proyecto bifurcado de tus repositorios de GitHub. Selecciona el proyecto entre las opciones y haz clic en 'Importar' para comenzar a ejecutar Documenso.
Paso 9: Agregar variables de entorno a tu proyecto de Vercel
En la página 'Configurar proyecto', agregar las variables ambientales requeridas es esencial para asegurar que la aplicación se despliegue sin errores.
Específicamente, para las variables NEXT_PUBLIC_WEBAPP_URL y NEXTAUTH_URL, debes agregar .vercel.app a tu nombre de proyecto. Esto formará la URL de despliegue, que estará en el formato: https://[nombre_del_proyecto].vercel.app.
Por ejemplo, en mi caso, la URL de despliegue es https://documenso-supabase-web.vercel.app.
Este es un ejemplo de archivo .env para desplegar. Copia y pega para autocompletar los campos y haz clic en Desplegar. Ahora, solo necesitas esperar a que tu proyecto se despliegue. Estás en vivo — ¡disfruta!
Concluyendo
¡Felicidades! 🎉 Has desplegado con éxito Documenso usando Vercel, Supabase y Resend. ¡Ahora estás listo para crear y firmar tus propios documentos con tu Documenso auto alojado!
En esta guía paso a paso, aprendiste cómo:
configurar una base de datos Postgres utilizando Supabase,
instalar SMTP con Resend,
desplegar tu proyecto con Vercel.
¡Ahora es tu turno! ¿Cómo fue el tutorial? Si te gustó, ¡por favor compártelo! Y si tienes alguna pregunta o comentario, no dudes en contactarme en Twitter / X (DM abierto) o Discord.
Estamos construyendo una alternativa de código abierto a DocuSign y damos la bienvenida a todas las contribuciones. Dirígete al repositorio de GitHub y ¡déjanos una estrella!