System Requirements

Note
GroupDocs.Total for Node.js via Java works standalone and does not require Microsoft Office or other third-party software. This page lists the supported platforms and the specific requirements for both development and production environments.

Supported Platforms

  • Windows: 10, 11, Windows Server 2016/2019/2022 (x64)
  • Linux: Debian/Ubuntu, CentOS/RHEL, AlmaLinux/Rocky, Amazon Linux, and other modern distributions (x64)
  • macOS: 12 Monterey and newer (Apple Silicon and Intel)
  • Architectures: x64 and ARM64 (where Node.js, Java, and native toolchains are available)

Development Environment

Main requirements:

Node.js

Use Node.js 20 LTS or later (22 LTS is also supported). See details at Node.js Releases.

Java JDK

Java 8 (LTS) and higher are supported, including Java 11 (LTS), Java 17 (LTS), and Java 21 (LTS). We recommend Java 17 (LTS).

Build Tools

The @groupdocs/groupdocs.total package relies on the java bridge to interoperate with the Java API. The java package depends on node-gyp, which requires a working native toolchain during install.

Depending on your OS you will need different tools installed. See the Installation section of the node-gyp package for full details.

Unix

On Debian/Ubuntu:

sudo apt-get update
sudo apt-get install -y build-essential python3

macOS

  • A supported version of Python 3
  • Xcode Command Line Tools which will install clang, clang++, and make.
    • Install the Xcode Command Line Tools standalone by running xcode-select –install. – OR –
    • Alternatively, if you already have the full Xcode installed, you can install the Command Line Tools under the menu Xcode -> Open Developer Tool -> More Developer Tools….

Windows

The fastest way would be using Chocolatey app and package manager for Windows:

choco install python visualstudio2022-workload-vctools -y

Also, you can install tools manually:

Environment Variables

Ensure your Java installation is discoverable:

  • Set JAVA_HOME to your JDK/JRE root and include bin on PATH.

Windows (PowerShell):

$env:JAVA_HOME="C:\Program Files\Java\jdk-17"
$env:Path="$env:JAVA_HOME\bin;$env:Path"

Linux/macOS (Bash):

export JAVA_HOME=/usr/lib/jvm/java-17
export PATH="$JAVA_HOME/bin:$PATH"

Fonts and Localization

For accurate rendering of Word/Excel/PowerPoint/PDF and other text-based formats, make sure commonly used fonts are available on the machine. On Linux servers, install a comprehensive font set (e.g., DejaVu/Noto) and any additional corporate fonts used in your documents.

Production Environment

Node.js

Use a current LTS version:

  • Recommended: Node.js 20 LTS or 22 LTS
  • Minimum: Node.js 18 (maintenance)

Java Runtime (JRE)

Install a compatible JRE:

  • Recommended: JRE 17 (headless is fine for servers)
  • Supported: JRE 8, 11, 17, 21

Hardware Recommendations

  • CPU: 2+ cores (4+ recommended for concurrent processing)
  • RAM: 2 GB minimum (4–8 GB recommended for large Office/PDF documents)
  • Disk: 500 MB free for libraries and temp files, plus space for input/output documents

Actual resource usage depends on document size, number of pages, embedded images, and concurrent operations.

Permissions and Temp Storage

  • Read permissions to input files and fonts directories
  • Write permissions to output directories and OS temporary folder (TEMP/TMPDIR)
  • Optional: Configure a dedicated temp directory if default temp is constrained

Containerized Environments (Linux)

Install required tools and Java inside your image. Example (Debian/Ubuntu base):

apt-get update \
  && apt-get install -y --no-install-recommends \
     curl ca-certificates build-essential python3 openjdk-17-jre-headless \
  && rm -rf /var/lib/apt/lists/*

Then install the package in your app:

npm install @groupdocs/groupdocs.total

See Running in Docker for a complete example.

Networking

No outbound network access is required for runtime operation (only for package installation if fetching from npm) unless you are using a Metered license. File-license mode works fully offline. The library works fully offline with local documents.

Troubleshooting Setup

  • node-gyp build errors on Windows: ensure “Desktop development with C++” workload is installed, restart terminal, and confirm python --version returns Python 3.x.
  • JAVA_HOME not set or Java not found: set JAVA_HOME and add <JAVA_HOME>/bin to PATH (see above).
  • Permission denied when writing results: verify output folder permissions and available disk space.
  • Missing glyphs or incorrect text layout: install required fonts used by your documents on the server.

For installation steps, see the Installation page.