# Requirements

> Check what Core and Classic need: Linux or Windows Server, the ASP.NET Core and .NET Desktop runtimes, the Visual C++ Redistributable, IIS WebSockets and ports.

- **Product:** DS Server
- **Section:** Documentation
- **Kind:** Topic
- **Path:** DS Server > Installation Guide > Requirements
- **1300 words**
- **Web URL:** https://docs.textcontrol.com/ds-server/installation/requirements/
- **LLMs URL:** https://docs.textcontrol.com/ds-server/installation/requirements/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/ds-server/installation/requirements/llms-full.txt

---

DS Server 5.0 is a framework-dependent .NET 10 application: the archive does not bring a .NET runtime, so the server or the container image must have the right runtimes installed before DS Server starts. What else a machine needs depends on the build you install, Core on Linux or Windows, or Classic on Windows, and on how you host it.

If you haven't chosen a build yet, [Core and Classic](https://docs.textcontrol.com/ds-server/overview/core-classic/llms-full.txt) compares them. The tables below list the operating systems, runtimes and Windows components for each.

### Operating Systems

|  | Core | Classic |
|---|---|---|
| Linux | 64-bit Linux on x64 processors with the GNU C Library (glibc) 2.34 or later, such as Debian 12 or Ubuntu 22.04 and later. Not ARM64, not Alpine Linux (musl). | Not supported |
| Windows | Windows Server 2019, 2022 and 2025 | Windows Server 2019, 2022 and 2025 |
| Docker | Linux containers, based on `mcr.microsoft.com/dotnet/aspnet:10.0` | Windows containers, based on a Windows Server Core image |

The native libraries of the document engine are in the *runtimes* folder of each build: the *core* folder has them for `linux-x64` and `win-x64`, the *classic* folder for `win-x64` and `win-x86`. The Linux libraries need glibc 2.34 or later and a `libstdc++` with `GLIBCXX_3.4.29`, which older distributions such as Debian 11 don't have; [Linux](https://docs.textcontrol.com/ds-server/troubleshooting/linux/#the-server-has-an-arm64-processor) covers ARM64 and musl. For containers, Text Control recommends the official Microsoft .NET images, which contain the runtime. The official DS Server image on Docker Hub is built on `mcr.microsoft.com/dotnet/aspnet:10.0`.

### .NET Runtimes

The *runtimeconfig.json* files of DS Server 5.0.2 name the runtimes that the server and its worker processes need:

| Runtime | Core | Classic |
|---|---|---|
| ASP.NET Core Runtime 10.0 (includes the .NET Runtime 10.0) | Required | Required |
| .NET Desktop Runtime 10.0 | Not needed | Required, for the DocumentProcessing worker process |
| .NET Desktop Runtime 8.0 | Not needed | Required, for the Document Editor worker process |

- **Core** needs only the ASP.NET Core Runtime 10.0. Its Document Editor worker process is built for .NET 8.0 but set to run on the newest installed major version, so it runs on .NET 10.
- **Classic** also needs both Windows Desktop runtimes. Its Document Editor worker process, `TXTextControl.Web.Server.Process`, is built for .NET 8.0 and the Windows Desktop runtime without a roll-forward setting, so it does not start on .NET 10 alone. Microsoft supports .NET 8 until November 10, 2026.
- **Newer patch versions** are fine. The server and the other worker processes roll forward to newer .NET versions.

Download the runtimes from Microsoft:

- [.NET 10.0 downloads](https://dotnet.microsoft.com/download/dotnet/10.0): the ASP.NET Core Runtime for Linux, the ASP.NET Core Runtime Hosting Bundle for Windows and the .NET Desktop Runtime.
- [.NET 8.0 downloads](https://dotnet.microsoft.com/download/dotnet/8.0): the .NET Desktop Runtime 8.0 for Classic.
- [Install .NET on Linux](https://learn.microsoft.com/en-us/dotnet/core/install/linux): the packages and scripts for each distribution.

On Windows, install the **Hosting Bundle**. It contains the .NET Runtime and the ASP.NET Core Runtime and, when IIS is enabled, the ASP.NET Core Module that IIS needs to host DS Server.

### Windows Components

#### Visual C++ Redistributable

Install the Visual C++ Redistributable for Visual Studio 2015, 2017, 2019 and 2022 (x64) on Windows servers. Microsoft's download link is `https://aka.ms/vs/17/release/vc_redist.x64.exe`.

#### IIS

IIS is optional. Since version 3.0, DS Server runs on its own with `dotnet`, as a Windows service or in a container. To host it in IIS, as described in [Manual Installation](https://docs.textcontrol.com/ds-server/installation/manual/#host-ds-server-in-iis), enable these Windows features:

- `IIS-WebServerRole`
- `IIS-WebServer`
- `IIS-CommonHttpFeatures`
- `IIS-WebSockets`

The Document Editor keeps a WebSocket connection to DS Server, so the WebSocket Protocol feature is required. On a new server, enable IIS first and install the Hosting Bundle afterward, so that the Hosting Bundle adds the ASP.NET Core Module to IIS.

### Summary by Installation

| Installation | What the machine needs |
|---|---|
| [Official Docker image](https://docs.textcontrol.com/ds-server/installation/docker-hub/llms-full.txt) | Docker. The image contains the runtime. |
| [Your own Linux image](https://docs.textcontrol.com/ds-server/installation/docker-linux/llms-full.txt) | Docker. The base image `mcr.microsoft.com/dotnet/aspnet:10.0` contains the runtime. |
| [Your own Windows image](https://docs.textcontrol.com/ds-server/installation/docker-windows/llms-full.txt) | Docker with Windows containers. The Dockerfile installs the runtimes. |
| [Core with `dotnet` on Linux](https://docs.textcontrol.com/ds-server/installation/manual/llms-full.txt) | ASP.NET Core Runtime 10.0 |
| [Core with `dotnet` on Windows](https://docs.textcontrol.com/ds-server/installation/manual/llms-full.txt) | Hosting Bundle 10.0, Visual C++ Redistributable |
| [Classic on Windows, IIS or Windows service](https://docs.textcontrol.com/ds-server/installation/manual/llms-full.txt) | Hosting Bundle 10.0, .NET Desktop Runtime 10.0 and 8.0, Visual C++ Redistributable; IIS with WebSockets when you host it in IIS |

### Network Ports

Kestrel, the web server built into ASP.NET Core, serves DS Server on the addresses in *hostsettings.json*: port 5000 for HTTP and port 5001 for HTTPS by default. Open the port you use in the firewall. The HTTPS address needs a certificate; [HTTPS](https://docs.textcontrol.com/ds-server/installation/https/llms-full.txt) explains how to configure one, and [Configuration](https://docs.textcontrol.com/ds-server/installation/configuration/llms-full.txt) how to change the ports. In IIS, the bindings of the IIS site set the ports instead.

### Next Steps

- [Installing with Official Image from Docker Hub](https://docs.textcontrol.com/ds-server/installation/docker-hub/llms-full.txt): the fastest way to a running server.
- [Manual Installation](https://docs.textcontrol.com/ds-server/installation/manual/llms-full.txt): install the runtimes and start DS Server on Linux or Windows.
- [Core and Classic](https://docs.textcontrol.com/ds-server/overview/core-classic/llms-full.txt): the two builds and their limits on Linux.
- [Installation](https://docs.textcontrol.com/ds-server/troubleshooting/installation/llms-full.txt): error messages of a missing runtime or a port in use.

---

## Nearby

- **Previous:** [Installation Guide](https://docs.textcontrol.com/ds-server/installation/llms-full.txt)
- **Next:** [Installing With Official Image From Docker Hub](https://docs.textcontrol.com/ds-server/installation/docker-hub/llms-full.txt)
