Hosting on Windows

This article was translated from English: Does it need improvement?
Translated
View the article in English
IronSecureDoc on Docker

IronSecureDoc is a Docker container designed to give you powerful PDF manipulation behind a simple REST API, without the hassle and overhead of online SaaS services. This guide will walk you through the steps to host IronSecureDoc on your machine, including setting up environment variables and a basic example of using the REST API. For the full API, view our REST API Reference

docker pull ironsoftwareofficial/ironsecuredoc:latest
docker pull ironsoftwareofficial/ironsecuredoc:latest
SHELL

Prerequisites

Step-by-Step Guide

1. Install Docker Desktop

If you haven't already installed Docker Desktop, follow these steps:

  1. Go to the Docker Desktop download page.
  2. Download the Docker Desktop installer for Windows.
  3. Run the installer and follow the on-screen instructions.
  4. After installation, start Docker Desktop and make sure it's running.

2. Pull the "IronSecureDoc" Docker Image

Open a command prompt and pull the latest IronSecureDoc image from Docker Hub:

docker pull ironsoftwareofficial/ironsecuredoc:latest
docker pull ironsoftwareofficial/ironsecuredoc:latest
SHELL

3. Run the Container Without Certificate

Run the Docker container with the necessary environment variables:

Swagger UI in Browser
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
SHELL

Apply a Trial or License Key to Remove Watermarks

ConsejosReplace <IRONSECUREDOC_LICENSE_KEY> with your actual IronSecureDoc license key. Otherwise, a watermark will be applied on Enterprise Features.

Swagger UI in Browser

4. Access the Container

Once the container is running, you can access IronSecureDoc by opening a web browser and navigating to:

http://localhost:8080/swagger/index.html
Swagger UI in Browser

You should see the IronSecureDoc interface, indicating that your container is running successfully.

5. Run the IronSecureDoc Container With Certificate

If you need to run the container with a certificate, follow these steps to generate the certificate and configure the local machine:

  1. Generate Certificate:

    dotnet dev-certs https -ep %USERPROFILE%\.aspnet\https\ironsecuredoc.pfx -p <CREDENTIAL_PLACEHOLDER>
    dotnet dev-certs https --trust
    dotnet dev-certs https -ep %USERPROFILE%\.aspnet\https\ironsecuredoc.pfx -p <CREDENTIAL_PLACEHOLDER>
    dotnet dev-certs https --trust
    SHELL

    Replace <CREDENTIAL_PLACEHOLDER> with a password.

  2. Run the Docker Container:

    docker container run -d -p 8081:8081 -p 8080:8080 -e HTTP_PORTS=8080 -e HTTPS_PORTS=8081 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Production -v %USERPROFILE%\.aspnet\https:/https:ro -e CERTIFICATE_PATH=%USERPROFILE%\.aspnet\https\ironsecuredoc.pfx -e CERTIFICATE_PASSWORD=<CERTIFICATE_PASSWORD> ironsoftwareofficial/ironsecuredoc:latest
    docker container run -d -p 8081:8081 -p 8080:8080 -e HTTP_PORTS=8080 -e HTTPS_PORTS=8081 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Production -v %USERPROFILE%\.aspnet\https:/https:ro -e CERTIFICATE_PATH=%USERPROFILE%\.aspnet\https\ironsecuredoc.pfx -e CERTIFICATE_PASSWORD=<CERTIFICATE_PASSWORD> ironsoftwareofficial/ironsecuredoc:latest
    SHELL

    Replace <IRONSECUREDOC_LICENSE_KEY> and <CERTIFICATE_PASSWORD> with your actual IronSecureDoc license key and certificate password respectively.

6. Managing the Container

You can manage your running container using Docker commands. Here are a few useful commands:

  • Stop the container:

    docker stop <container-id>
    docker stop <container-id>
    SHELL
  • Start the container:

    docker start <container-id>
    docker start <container-id>
    SHELL
  • Remove the container:

    docker rm -f <container-id>
    docker rm -f <container-id>
    SHELL

Replace <container-id> with the actual container ID or name.

Environment Variables

The container can be configured using the following environment variables:

  • PDF_MAX_SIZE_MB (Default: 30): Sets the maximum allowed file size for PDF uploads in Megabytes.
  • REQUEST_TIMEOUT_SECONDS (Default: 5): Sets the timeout duration in seconds for API requests. A value of -1 allows requests to run indefinitely.
  • ALLOWED_ORIGINS: Configures Cross-Origin Resource Sharing (CORS) by specifying allowed origin URLs. Separate multiple URLs with commas. Use * or all to allow requests from any origin.
  • HTTP_PORTS: Defines the HTTP ports the container exposes. This should match the port mapping using -p flag (e.g., 8080). Separate multiple ports with a semicolon (;).
  • HTTPS_PORTS: Defines the HTTPS ports the container exposes. This should match the port mapping using -p flag (e.g., 8081). Separate multiple ports with a semicolon (;).
  • IronSecureDoc_LicenseKey (Required): Sets the IronSecureDoc license key. Important: Do not share this value publicly.

Basic Example: Redact Text in a Document

For the full list of API endpoints, refer to the full REST API Reference.

Redact Text

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text' -H 'accept: */*' -H 'Content-Type: multipart/form-data' -F 'pdf_file=@/path/to/your/document.pdf;type=application/pdf' -F 'words_to_redact="sensitiveWord"' -F 'draw_black_box=true' -F 'match_whole_word=true' -F 'match_case=true'
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text' -H 'accept: */*' -H 'Content-Type: multipart/form-data' -F 'pdf_file=@/path/to/your/document.pdf;type=application/pdf' -F 'words_to_redact="sensitiveWord"' -F 'draw_black_box=true' -F 'match_whole_word=true' -F 'match_case=true'
SHELL

Replace /path/to/your/document.pdf with the actual path to the document you want to redact and sensitiveWord with the word you want to redact.

Redact Regular Expression

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-regular-expression' -H 'accept: */*' -H 'Content-Type: multipart/form-data' -F 'pdf_file=@/path/to/your/document.pdf;type=application/pdf' -F 'regular_expression="[0-9]"' -F 'draw_black_box=true'
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-regular-expression' -H 'accept: */*' -H 'Content-Type: multipart/form-data' -F 'pdf_file=@/path/to/your/document.pdf;type=application/pdf' -F 'regular_expression="[0-9]"' -F 'draw_black_box=true'
SHELL

Replace /path/to/your/document.pdf with the actual path to the document you want to redact and [0-9] with the regular expression you want to match and redact.

Conclusion

You have successfully hosted IronSecureDoc on your machine and configured it with necessary environment variables. You also learned how to interact with the IronSecureDoc REST API using cURL for both basic and advanced operations. For further configuration and usage details, refer to the full REST API Reference.

Preguntas Frecuentes

¿Qué es IronSecureDoc?

IronSecureDoc es un contenedor de Docker que ofrece una potente manipulación de PDF a través de una sencilla REST API, diseñada específicamente para la seguridad y cumplimiento de documentos fuera de línea.

¿Cuáles son los requisitos del sistema para hospedar IronSecureDoc en Windows?

Para hospedar IronSecureDoc en Windows, necesitas Windows 10 o posterior, o una versión de Windows Server (2016, 2019, 2022) y Docker Desktop para Windows instalado.

¿Cómo puedo instalar Docker Desktop en mi máquina Windows?

Descarga Docker Desktop desde el sitio web oficial de Docker, ejecuta el instalador y sigue las instrucciones de instalación. Una vez instalado, inicia Docker Desktop para comenzar a usarlo.

¿Cómo descargo la imagen de Docker de IronSecureDoc?

Abre tu símbolo del sistema y ejecuta el comando: docker pull ironsoftwareofficial/ironsecuredoc:latest para descargar la imagen de IronSecureDoc.

¿Es posible ejecutar IronSecureDoc sin un certificado SSL?

Sí, puedes ejecutar el contenedor IronSecureDoc sin un certificado SSL ejecutando el comando: docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey= -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest, reemplazando con tu clave de licencia real.

¿Cómo puedo acceder a la interfaz de IronSecureDoc una vez que el contenedor está en funcionamiento?

Puedes acceder a la interfaz de IronSecureDoc abriendo un navegador web y navegando a http://localhost:8080/swagger/index.html.

¿Cómo configuro IronSecureDoc con un certificado SSL?

Genera un certificado usando dotnet dev-certs y luego ejecuta el contenedor de IronSecureDoc con el comando que incluye la ruta del certificado y la contraseña para mejorar la seguridad.

¿Qué variables de entorno están disponibles para configurar el contenedor IronSecureDoc?

Puedes configurar varias variables de entorno como PDF_MAX_SIZE_MB, REQUEST_TIMEOUT_SECONDS, ALLOWED_ORIGINS, HTTP_PORTS, HTTPS_PORTS y IronSecureDoc_LicenseKey.

¿Cómo puedo redactar información sensible en un PDF usando IronSecureDoc?

Para redactar texto en un PDF, usa un comando cURL para enviar una solicitud POST a la REST API de IronSecureDoc, especificando el archivo PDF y el texto o patrón a redactar.

¿Dónde puedo encontrar documentación detallada para la REST API de IronSecureDoc?

La referencia completa de la REST API para IronSecureDoc está disponible en /enterprise/securedoc/tutorials/use-rest-api/.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Versión: 2024.10 recién lanzado