Hosting on Mac

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.

# Pull the latest IronSecureDoc Docker image
docker pull ironsoftwareofficial/ironsecuredoc:latest
# Pull the latest IronSecureDoc Docker image
docker pull ironsoftwareofficial/ironsecuredoc:latest
SHELL

Prerequisites

WarnungDocker supports Docker Desktop on the most recent versions of macOS. That is, the current release of macOS and the previous two releases. As new major versions of macOS are made generally available, Docker stops supporting the oldest version and supports the newest version of macOS (in addition to the previous two releases).

Mac with Intel chip

Mac with Apple silicon

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 Mac.
  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 line interface and pull the latest IronSecureDoc image from Docker Hub:

# Pull the latest IronSecureDoc image
docker pull ironsoftwareofficial/ironsecuredoc:latest
# Pull the latest IronSecureDoc image
docker pull ironsoftwareofficial/ironsecuredoc:latest
SHELL

3. Run the Container Without Certificate

Run the Docker container with the necessary environment variables:

# Run the Docker container with environment variables
docker container run --rm -p 8080:8080 \
  -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> \
  -e ENVIRONMENT=Development \
  -e HTTP_PORTS=8080 \
  ironsoftwareofficial/ironsecuredoc:latest
# Run the Docker container with environment variables
docker container run --rm -p 8080:8080 \
  -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> \
  -e ENVIRONMENT=Development \
  -e HTTP_PORTS=8080 \
  ironsoftwareofficial/ironsecuredoc:latest
SHELL

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

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

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:

    # Generate and trust HTTPS development certificate
    dotnet dev-certs https -ep $HOME/.aspnet/https/ironsecuredoc.pfx -p <CREDENTIAL_PLACEHOLDER>
    dotnet dev-certs https --trust
    # Generate and trust HTTPS development certificate
    dotnet dev-certs https -ep $HOME/.aspnet/https/ironsecuredoc.pfx -p <CREDENTIAL_PLACEHOLDER>
    dotnet dev-certs https --trust
    SHELL

    Replace <CREDENTIAL_PLACEHOLDER> with a password.

  2. Run the Docker Container:

    # Run the container with HTTPS support
    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 $HOME/.aspnet/https:/https:ro \
    -e CERTIFICATE_PATH=$HOME/.aspnet/https/ironsecuredoc.pfx \
    -e CERTIFICATE_PASSWORD=<CERTIFICATE_PASSWORD> \
    ironsoftwareofficial/ironsecuredoc:latest
    # Run the container with HTTPS support
    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 $HOME/.aspnet/https:/https:ro \
    -e CERTIFICATE_PATH=$HOME/.aspnet/https/ironsecuredoc.pfx \
    -e CERTIFICATE_PASSWORD=<CERTIFICATE_PASSWORD> \
    ironsoftwareofficial/ironsecuredoc:latest
    SHELL

    TippsReplace <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_or_name>
    docker stop <container_id_or_name>
    SHELL
  • Start the container:

    docker start <container_id_or_name>
    docker start <container_id_or_name>
    SHELL
  • Remove the container:

    docker rm -f <container_id_or_name>
    docker rm -f <container_id_or_name>
    SHELL

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 the -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 the -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

# Redact specific words in a PDF document
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'
# Redact specific words in a PDF document
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

# Redact text based on a regular expression in a PDF document
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'
# Redact text based on a regular expression in a PDF document
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.

Häufig gestellte Fragen

Welche Schritte sind erforderlich, um den IronSecureDoc-Container auf macOS zu hosten?

Um den IronSecureDoc-Container auf macOS zu hosten, müssen Sie Docker Desktop installieren, das neueste IronSecureDoc-Docker-Image ziehen und den Container mit Umgebungsvariablen wie IronSecureDoc_LicenseKey, PDF_MAX_SIZE_MB und REQUEST_TIMEOUT_SECONDS konfigurieren. Detaillierte Anweisungen sind im Tutorial gegeben.

Wie kann ich den IronSecureDoc-Container mit HTTPS-Unterstützung auf einem Mac ausführen?

Um den IronSecureDoc-Container mit HTTPS auf einem Mac auszuführen, generieren Sie ein Zertifikat mit dotnet dev-certs und führen Sie den Container mit dem passenden Befehl aus, der -v für Volumen und -e für Umgebungsvariablen umfasst, und geben Sie Zertifikatspfade und Passwörter an.

Wie greife ich auf die IronSecureDoc-Oberfläche zu, sobald der Docker-Container auf macOS läuft?

Sobald der Docker-Container auf macOS läuft, können Sie auf die IronSecureDoc-Oberfläche zugreifen, indem Sie http://localhost:8080/swagger/index.html in Ihrem Webbrowser besuchen.

Was sind die Voraussetzungen für die Installation von Docker Desktop auf macOS?

Um Docker Desktop auf macOS zu installieren, stellen Sie sicher, dass Ihr Mac eine unterstützte Version von macOS ausführt, die die aktuelle Veröffentlichung und die zwei vorherigen umfasst. Außerdem stellen Sie sicher, dass Sie den Installer auswählen, der mit Ihrem Prozessor kompatibel ist, entweder Intel oder Apple Silicon.

Wie kann ich Worte oder Muster in einem PDF mit dem IronSecureDoc-Docker-Container schwärzen?

Sie können Wörter oder Muster in einem PDF schwärzen, indem Sie eine POST-Anfrage an den IronSecureDoc-API-Endpunkt senden, mit Tools wie cURL, wobei die PDF-Datei und die zu schwärzenden Wörter oder Muster angegeben werden.

Welche Umgebungsvariablen können für den IronSecureDoc-Container auf macOS festgelegt werden?

Umgebungsvariablen für den IronSecureDoc-Container umfassen PDF_MAX_SIZE_MB, REQUEST_TIMEOUT_SECONDS, ALLOWED_ORIGINS, HTTP_PORTS, HTTPS_PORTS, und IronSecureDoc_LicenseKey.

Wie ziehe ich das neueste IronSecureDoc-Docker-Image auf macOS?

Um das neueste IronSecureDoc-Docker-Image auf macOS zu ziehen, führen Sie den Befehl: docker pull ironsoftwareofficial/ironsecuredoc:latest in Ihrem Terminal aus.

Was sind einige grundlegende Docker-Befehle zum Verwalten des IronSecureDoc-Containers auf Mac?

Grundlegende Docker-Befehle zum Verwalten des IronSecureDoc-Containers umfassen docker stop , docker start , und docker rm -f .

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Version: 2024.10 gerade veröffentlicht