Guía de despliegue

Alojar Gotenberg en un VPS: API PDF para desarrolladores

Desplegar en un VPS Cloud →

Tutorial

Alojar Gotenberg en un VPS: API PDF para desarrolladores

Desarrollo3 min de lectura5 pasos

Todo servicio de PDF en modo SaaS cobra por página o por documento. Gotenberg, no. Es un microservicio HTTP de código abierto con licencia MIT que genera PDF a partir de HTML, URL, Markdown y documentos LibreOffice, con Chromium y LibreOffice integrados en un único contenedor Docker. A continuación le mostramos cómo desplegarlo en un VPS en unos minutos.

Contenido· ¿Por qué autoalojar una API de generación de PDF?1/5
  1. 01¿Por qué autoalojar una API de generación de PDF?
  2. 02Lo que Gotenberg puede convertir
  3. 03Requisitos previos
  4. 04Desplegar Gotenberg paso a paso
  5. 05Integrarlo con su aplicación

¿Por qué autoalojar una API de generación de PDF?

Los servicios de PDF en modo SaaS (Puppeteer Cloud, PDFShift, DocRaptor) cobran por documento, por página o por volumen de llamadas a la API. En cuanto su aplicación genera facturas, informes o contratos a escala, el costo aumenta de forma lineal con su uso. Gotenberg los sustituye por un costo mensual fijo de VPS, sea cual sea el número de PDF generados. También preserva la confidencialidad de sus documentos: nada sale de su infraestructura durante la conversión.

Lo que Gotenberg puede convertir

  • HTML a PDF mediante una instancia completa de Chromium — se respetan CSS, fuentes web, JavaScript y las media queries de impresión.
  • Cualquier URL a PDF — archive vistas de paneles de control, genere informes semanales o capture recibos de pago.
  • Documentos LibreOffice (DOCX, XLSX, PPTX, ODT, ODS, ODP y más de 20 formatos) a PDF sin Microsoft Office.
  • Markdown a PDF por la ruta Chromium, con CSS configurable.
  • Varios PDF fusionados en un único archivo con una sola llamada a la API.
  • Imágenes (PNG, JPEG, WebP, TIFF) convertidas a PDF.

Requisitos previos

Un VPS con al menos 1 vCPU y 1 GB de RAM (2 GB recomendados para el renderizado concurrente con Chromium). Ubuntu 22.04 o 24.04 con Docker instalado. No hace falta ningún dominio: puede llamar a la API en http://127.0.0.1:3000 desde su backend en el mismo servidor, o exponerla únicamente a su red interna.

Desplegar Gotenberg paso a paso

  1. Crear el archivo compose

    Conéctese por SSH a su VPS y cree un directorio:

    mkdir gotenberg && cd gotenberg

    Cree docker-compose.yml:

    services:
      gotenberg:
        image: gotenberg/gotenberg:8
        restart: unless-stopped
        ports:
          - "127.0.0.1:3000:3000"

    La vinculación a 127.0.0.1 impide el acceso directo desde Internet: la API solo es accesible desde su aplicación en el mismo servidor o a través de un reverse proxy.

  2. Arrancar el contenedor

    Ejecute docker compose up -d. Gotenberg descarga la imagen (~1,5 GB, incluye Chromium y LibreOffice) e inicia el servidor HTTP. Compruebe el endpoint de salud:

    curl http://127.0.0.1:3000/health

    Una respuesta {"status":"up"} confirma que el servicio está listo.

  3. Generar su primer PDF a partir de HTML

    Cree un archivo HTML mínimo (facture.html) y conviértalo:

    curl -s --request POST http://127.0.0.1:3000/forms/chromium/convert/html \
      --form '[email protected]' \
      -o facture.pdf

    La respuesta es el PDF en flujo binario: rediríjalo a un archivo, a un objeto de respuesta o a una subida a S3.

  4. Convertir un documento Word a PDF

    Suba un archivo DOCX a la ruta LibreOffice:

    curl -s --request POST http://127.0.0.1:3000/forms/libreoffice/convert \
      --form '[email protected]' \
      -o contrat.pdf

    Gotenberg utiliza el motor LibreOffice integrado para la conversión: no se requiere ninguna licencia de Microsoft Office.

  5. Añadir una autenticación (recomendado)

    Gotenberg no trae autenticación integrada. El enfoque recomendado: instale nginx, cree un reverse proxy de https://gotenberg.su-dominio.com hacia http://127.0.0.1:3000 y añada una autenticación HTTP basic. Solo el backend de su aplicación debería llamar a este endpoint: no lo exponga nunca sin autenticación a la Internet pública, ya que puede utilizarse para renderizar URL arbitrarias.

Integrarlo con su aplicación

Gotenberg es independiente del lenguaje: cualquier cliente HTTP funciona. Existen bibliotecas para PHP (gotenberg-php), Node.js (chromiumly), Python (gotenberg-client), Go y otros. Para Laravel, un paquete oficial encapsula la API. En Node.js, puede llamarla con axios o con la API fetch nativa enviando un objeto FormData con el contenido HTML o el archivo.

Despliegue Gotenberg en minutos en un VPS Cloud ServOrbit

Con un VPS Cloud ServOrbit que incluye Docker preconfigurado y recursos escalables, instala Gotenberg y obtiene una API de generación de PDF privada para todos sus backends, sin cobro por petición.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva