SealRoute SealRoute
Volver al inicio

Instala SealRoute en tu servidor

Un recorrido de 7 pasos que te lleva de una máquina Linux nueva con Docker a una instancia de SealRoute totalmente activada. Cada paso tiene el comando o la captura de pantalla exactos que necesitas.

Requisitos previos

  • Un host Linux (Ubuntu 22.04+ o cualquier distro moderna) con al menos 2 GB de RAM y 10 GB de disco.
  • Docker Engine (24+) y el plugin Docker Compose v2. Verifica con:
    docker --version
    docker compose version
  • Un dominio público (con HTTPS al frente) o simplemente un puerto que controles en localhost. El docker-compose.yml predeterminado incluye un proxy inverso Caddy que gestiona HTTPS automáticamente cuando defines HOST=tu.dominio.
  • Una licencia de Aplindo. También puedes comprar una directamente desde la app en ejecución en el Paso 5 más abajo.

Paso 1 - Descarga el archivo docker-compose

Crea un directorio de trabajo y obtén el archivo compose de producción del repositorio. Ya conecta SealRoute, Postgres y Caddy.

mkdir sealroute && cd sealroute
curl -L https://raw.githubusercontent.com/sealroute/sealroute/main/docker-compose.yml -o docker-compose.yml
curl -L https://raw.githubusercontent.com/sealroute/sealroute/main/deploy.sh         -o deploy.sh
chmod +x deploy.sh

Si prefieres clonar todo el paquete de despliegue: git clone https://github.com/sealroute/sealroute.git && cd sealroute. De cualquier forma, los siguientes pasos son los mismos.

Paso 2 - Configura tu entorno

SealRoute lee su configuración de variables de entorno. Crea un archivo .env junto a tu archivo compose. Lo mínimo que necesitas:

# Where the app is reachable from a browser. Use https://your.domain in
# production or http://localhost:3000 for a local trial.
APP_URL=https://your.domain
HOST=your.domain

# Generate with `openssl rand -hex 64` and keep it secret.
SECRET_KEY_BASE=replace-me-with-a-long-random-string

# --- Aplindo licensing ------------------------------------------------------
APLINDO_LICENSE_API_URL=https://license.aplindo.com
APLINDO_LICENSE_PRODUCT_SLUG=SealRoute
APLINDO_LICENSE_DEFAULT_AMOUNT_IDR=5000000.00
APLINDO_LICENSE_HEARTBEAT_SECONDS=3600

Un ejemplo más completo con opciones adicionales está en .env.example.

Paso 3 - Inicia el stack

Levanta SealRoute, Postgres y el proxy inverso en segundo plano:

docker compose up -d

Observa los registros de arranque hasta que veas a Puma escuchando en tcp://0.0.0.0:3000:

docker compose logs -f app

El primer arranque también ejecuta las migraciones de la base de datos. En un host de 2 GB esto suele completarse en menos de un minuto.

Paso 4 - Configuración inicial

Abre la app en tu navegador. Como todavía no hay usuarios, SealRoute te redirige a la página /setup. Aquí creas la primera cuenta de administrador y los metadatos de tu cuenta.

Formulario /setup de SealRoute vacío

Completa:

  • Nombre / Apellido - tu nombre como primer administrador.
  • Correo - es el inicio de sesión del administrador y donde se enviarán las notificaciones de firma.
  • Nombre de la empresa - se muestra a los firmantes en los correos y en la página de firma.
  • Contraseña - al menos 8 caracteres, se recomienda mezcla de letras y números.
  • URL de la app - precargada desde APP_URL en tu .env. Se usa para generar enlaces de firma en los correos.
  • Idioma - idioma de interfaz predeterminado para los nuevos firmantes.
Formulario /setup de SealRoute con datos de ejemplo

Haz clic en Enviar. SealRoute crea la cuenta, inicia tu sesión y te redirige a la página /license.

Paso 5 - Compra una licencia

Una instancia autoalojada de SealRoute necesita una licencia activa para desbloquear las pantallas tras el inicio de sesión. La página /license tiene dos tarjetas: Comprar licencia arriba y Activar licencia abajo.

Página /license de SealRoute mostrando las tarjetas Comprar licencia y Activar licencia

En la tarjeta Comprar licencia, establece el número de puestos que necesitas. El precio unitario proviene de tu ajuste APLINDO_LICENSE_DEFAULT_AMOUNT_IDR (actualmente IDR 1.499.000 por puesto), y el total se recalcula automáticamente al cambiar el número de puestos.

Tarjeta Comprar licencia con puestos en 5 y total recalculado a IDR 7.495.000

Haz clic en Comprar licencia. SealRoute abre un modal con el iframe de pago de Aplindo. Completa el pago ahí. Cuando la transacción se realice, Aplindo envía la clave de licencia a la dirección que indicaste, y la misma clave también se muestra en la página de éxito del pago.

Paso 6 - Activa tu licencia

Copia la clave de licencia de la página de éxito o de tu correo y pégala en la tarjeta Activar licencia en /license:

Tarjeta Activar licencia con una clave de ejemplo XXXX-XXXX-XXXX-XXXX pegada

Haz clic en Activar. SealRoute llama al servidor de licencias de Aplindo, vincula la clave a esta máquina y recarga. Verás la tarjeta Licencia actual arriba con estado active, el slug del producto, el ID de licencia, el ID de máquina, la fecha de caducidad y la marca de tiempo del último heartbeat.

Tarjeta de licencia actual mostrando estado activo, producto, ID de licencia, ID de máquina, caducidad y último heartbeat

SealRoute programa una tarea de heartbeat que vuelve a comprobar la licencia con Aplindo cada APLINDO_LICENSE_HEARTBEAT_SECONDS segundos (por defecto: cada hora). Si la licencia se revoca o caduca, el siguiente heartbeat lo reflejará.

Paso 7 - Listo

SealRoute ya está plenamente operativo. Visita / y llegarás al panel vacío de Plantillas de Documentos, listo para tu primera carga.

Panel vacío de Plantillas de Documentos de SealRoute listo para la primera carga

Crea tu primera plantilla

Haz clic en Subir en el panel, suelta un PDF o DOCX y arrastra campos sobre él: firma, fecha, texto, casilla, etc.

Prueba la API

SealRoute es ante todo una API REST. Genera un token de API en Ajustes → API, y luego dirígete a la documentación de la API para ver ejemplos completos en 10 lenguajes.

¿Necesitas ayuda?