IRONSOFTWAREHOME

How to Host IronSecureDoc on Windows with C#

Curtis Chau
Curtis Chau
Updated: August 2, 2026
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
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
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
SHELL

Apply a Trial or License Key to Remove Watermarks

Tips: Replace <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
Text
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
    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
    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>
    SHELL
  • Start the container:

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

    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'
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'
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.

Frequently Asked Questions

What is IronSecureDoc and why should I use it?

IronSecureDoc is a Docker container designed for powerful PDF manipulation. It provides a simple REST API and operates offline to ensure document security without relying on external SaaS services.

How do I install Docker Desktop on Windows?

To install Docker Desktop on Windows, visit the Docker Desktop download page, download the installer, and follow the on-screen instructions to complete the installation.

How can I pull the latest IronSecureDoc image from Docker Hub?

You can pull the latest IronSecureDoc image by opening a command prompt and running the command: `docker pull ironsoftwareofficial/ironsecuredoc:latest`.

How do I run the IronSecureDoc container on my local machine?

Run the container using: `docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey= ironsoftwareofficial/ironsecuredoc:latest`, replacing `` with your actual license key.

How do I access IronSecureDoc's interface after starting the container?

Once the container is running, access IronSecureDoc by navigating to `http://localhost:8080/swagger/index.html` in a web browser.

How can I run the IronSecureDoc container with HTTPS?

To run the container with HTTPS, first generate a certificate using `dotnet dev-certs https` command, then run the container with environment variables for HTTP and HTTPS ports, certificate path, and password.

What are the key environment variables for configuring IronSecureDoc?

Key environment variables include `PDF_MAX_SIZE_MB`, `REQUEST_TIMEOUT_SECONDS`, `HTTP_PORTS`, `HTTPS_PORTS`, and `IronSecureDoc_LicenseKey`. These control settings like file size limits and server port configurations.

How can I redact text in a PDF document using IronSecureDoc?

Use the cURL command: `curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text'` with appropriate form data and configuration to redact specific words or patterns in a document.

What are the Docker commands to manage the IronSecureDoc container?

Useful Docker commands include `docker stop ` to stop, `docker start ` to start, and `docker rm -f ` to remove the container.

Where can I find the full API reference for IronSecureDoc?

The full API reference for IronSecureDoc is available on Iron Software's website at `/enterprise/securedoc/tutorials/use-rest-api/`.

Curtis Chau
Technical Writer

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.

...
Read More

Ready to Get Started?

Version:2024.10just released

Get your free 30-day Trial Key instantly.
No credit card or account creation required
Key in blue circle

Get your free 30-day Trial Key instantly.

Your trial license will be sent to your email address

No limitations. 100% unlocked. No credit card.

bullet_checkedNo credit card or account creation requiredNo limitations. 100% unlocked. No credit card.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Book your free Live Demo
Booking Badge

Trusted by Millions of Engineers Worldwide

Iron Software's customer logos
Get Your No-Obligation Consult
Complete the form below or email sales@ironsoftware.com
Your details will always be kept confidential.
Trusted by Millions of Engineers Worldwide
Iron Software's customer logos
Get your free 30-day Trial Key instantly.
No credit card or account creation required