> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/server/overview-of-devolutions-server/system-requirements.md).

# System requirements

Review the hardware, operating system, web server, .NET, and database requirements for Devolutions Server, including SQL Server and PostgreSQL.

### Minimum requirements

Devolutions Server runs on Microsoft .NET 10.0. It can be hosted on Windows (IIS or Kestrel), on Linux (Kestrel), or in the Linux Docker image.

When Active Directory authentication is used, Devolutions Server verifies that the domain functional level is at least Windows Server 2012 R2. A domain with a lower functional level cannot be used as an identity provider.

### Hardware requirements

The following table lists the minimum hardware for each Devolutions Server instance. The requirements vary with the number of entries, the frequency of changes to these entries, the number of concurrent users, and the user behavior.

<table><thead><tr><th width="185">Implementation size (concurrent users)</th><th width="160" align="right">CPU cores</th><th width="200" align="right">RAM (standalone database server)</th><th width="200" align="right">RAM (database server on the same machine)</th></tr></thead><tbody><tr><td>Basic (1–20)</td><td align="right">4</td><td align="right">8 GB</td><td align="right">16 GB</td></tr><tr><td>Mid-range (21–75)</td><td align="right">4</td><td align="right">8 GB</td><td align="right">16 GB</td></tr><tr><td>Large (more than 75)</td><td align="right">Deploy multiple Devolutions Server instances.</td><td align="right">Deploy multiple Devolutions Server instances.</td><td align="right">Deploy multiple Devolutions Server instances.</td></tr></tbody></table>

{% hint style="info" %}
Each Devolutions Server instance requires a 1 Gb network adapter. For more than 75 concurrent users, deploy the instances in a load-balancing topology with a high-availability database. See [High-availability topology](/server/overview-of-devolutions-server/topologies.md#high-availability-load-balancing-topology).
{% endhint %}

### Software dependencies

#### Operating system

* Windows Server 2016, 2019, 2022, and 2025 (x64).
* Linux (x64 or ARM64), with Kestrel as the web server. See [Install Devolutions Server for Linux](/server/knowledge-base/how-to-articles/install-devolutions-server-for-linux.md).
* Docker, with the Devolutions Server Linux image (linux/amd64 and linux/arm64). See [Devolutions Server Docker deployment](/server/knowledge-base/how-to-articles/devolutions-server-docker-deployment.md).
* For Active Directory authentication: Windows Server 2012 R2 domain functional level or higher.

#### Database

* Microsoft SQL Server 2017/[2019](https://www.microsoft.com/en-us/sql-server/sql-server-2019)/[2022](https://redirection.devolutions.com/download-sql-server-2022)/2025 (including Express edition. [See limitations](https://learn.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-2019?view=sql-server-ver16#Cross-BoxScaleLimits)).
* Azure SQL Database, with SQL login accounts only. Microsoft Entra ID accounts are not supported.
* PostgreSQL 14 or later, self-hosted or managed. The account that creates the database schema must have the `SUPERUSER` attribute. PostgreSQL is supported on Windows (IIS), on Linux, and in the Docker image. See [PostgreSQL](/server/getting-started/installation/database-setup/database-instance/postgresql.md).

#### Windows hosting

* [Microsoft ASP.NET Core Hosting Bundle 10.0 (Devolutions Server application)](https://dotnet.microsoft.com/en-us/download/dotnet/10.0). It includes the ASP.NET Core Module (ANCM) for IIS.
* [Microsoft .NET Desktop Runtime 10.0 (Devolutions Server Console)](https://dotnet.microsoft.com/en-us/download/dotnet/10.0). See [supported OS versions](https://github.com/dotnet/core/blob/main/release-notes/10.0/supported-os.md) for more information.
* Microsoft Internet Information Services (IIS) 10.0, included with the supported Windows Server versions, with the following features and modules:
  * Default Document, HTTP Errors, Static Content, HTTP Logging, Static Content Compression, Windows Authentication, and WebSocket Protocol.
  * [URL Rewrite](https://www.iis.net/downloads/microsoft/url-rewrite).
  * [Application Request Routing](https://www.iis.net/downloads/microsoft/application-request-routing).
* PowerShell 7.
* The Devolutions Server Console, installed on the server, to install and manage the Devolutions Server instances. The Devolutions Server Console is available on Windows only.

#### Linux and Docker hosting

* The Linux package and the Docker image include the .NET runtime. No separate .NET installation is required.
* On Linux, PowerShell 7 and the Devolutions Server PowerShell module are used to install and manage the instance.
* For Docker: Docker 20.10 or later.

### Database engine limitations

SQL Server and PostgreSQL are both supported database engines. The following features differ between them:

| Feature                                                                     | SQL Server | PostgreSQL                                              |
| --------------------------------------------------------------------------- | ---------- | ------------------------------------------------------- |
| Least-permission accounts for the scheduler and the web application         | Yes        | No. A single owner role is used for all connections.    |
| Integrated Windows authentication                                           | Yes        | No. Username and password authentication only.          |
| Microsoft Entra authentication                                              | No         | No                                                      |
| Automatic SQL Server Express installation by the Devolutions Server Console | Yes        | No. The PostgreSQL server must be installed beforehand. |

### Migrate between SQL Server and PostgreSQL

The Devolutions Server Console command line interface (`DPS.Console.CLI.exe`) migrates the data of a Devolutions Server database between SQL Server and PostgreSQL. It is available on Windows only, in the Devolutions Server Console installation folder. See [Devolutions Server Console command line interface](/server/knowledge-base/knowledge-base-articles/devolutions-server-console-command-line-interface.md).

The `server db` command set provides three commands:

| Command   | Action                                                                                | Required options                                           |
| --------- | ------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| `migrate` | Copies the data from the source database directly into the target database.           | `--source-connection-string`, `--target-connection-string` |
| `export`  | Exports the source database to a provider-neutral migration package (`.dvlsdb` file). | `--source-connection-string`, `--package-path`             |
| `import`  | Imports a migration package into the target database.                                 | `--package-path`, `--target-connection-string`             |

The following options are available:

| Option                       | Short form  | Description                                                                                                                                                                                           |
| ---------------------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--source-connection-string` | `--source`  | Connection string of the source database.                                                                                                                                                             |
| `--target-connection-string` | `--target`  | Connection string of the target database.                                                                                                                                                             |
| `--package-path`             | `--pkg`     | Path of the migration package.                                                                                                                                                                        |
| `--overwrite-target`         |             | Clears the data of the target database before the import or the migration.                                                                                                                            |
| `--overwrite-package`        |             | Overwrites the migration package if it already exists.                                                                                                                                                |
| `--force`                    |             | Skips the confirmation prompt of `--overwrite-target`. Required for unattended runs: without it, a run with `--overwrite-target` that cannot display the prompt is cancelled and returns exit code 1. |
| `--scripts-path`             | `--scripts` | Folder containing the `Devolutions.DatabaseUpgrade.dll` file deployed with the server, used to read the deployed schema version.                                                                      |

For example, to migrate a SQL Server database to PostgreSQL:

```powershell
.\DPS.Console.CLI.exe server db migrate --source "Server=sql01;Database=dvls;User Id=dvls;Password=<password>" --target "Host=pg01;Port=5432;Database=dvls;Username=dvls_owner;Password=<password>"
```

The following conditions apply:

* The source database and the target database must both be created and upgraded to the latest schema version before the migration or the import.
* A target database that already contains data requires `--overwrite-target`.
* The migration package contains all the database contents, including sensitive data. Store it securely and delete it after the import.
* Native backups cannot be restored across engines: a SQL Server backup (`.bak`) cannot be restored into PostgreSQL, and a `pg_dump` archive cannot be restored into SQL Server. Use the `server db` commands instead.

### Configuration and infrastructure requirements

On Windows, we recommend installing the Devolutions Server Console in advance. It is used to test the server connection and to verify system prerequisites, such as running the IIS Diagnostic tool.

* Confirm that the web server has a valid [SSL certificate](/server/knowledge-base/how-to-articles/configure-ssl.md#import-certificate-or-create-self-signed-certificate) installed. The certificate must include the correct [Access URI](/server/knowledge-base/knowledge-base-articles/access-uri-format.md).
* Ensure the machine which will host the Devolutions Server instance can connect to the database host. [Test the connection](/server/devolutions-server-console/devolutions-server-settings/database.md) from the Devolutions Server Console, or with a database client: SQL Server Management Studio (SSMS) for SQL Server, `psql` or pgAdmin for PostgreSQL.

### Server sizing

Many of our customers often ask how to properly customize their servers for various topologies. In fact, it is impossible for us to answer this question adequately. The way the system works has a significant impact on the resource usage of each node in your [topology](/server/overview-of-devolutions-server/topologies.md). Most of these configurations are virtual environments, making it easy to allocate additional resources.

For a proper estimate, the following aspects must be considered:

* Number of entries stored in your instance (server details, credentials, etc.).
* Churn of these entries; do you create entries daily or are they quite static?
* Number of concurrent users that connect to the Devolutions Server instance during peak times.
* User behavior:
  * Are they launching 10 sessions at a time, doing a batch operation that takes a few minutes and then repeating the cycle; or
  * Are they opening only a few sessions but working within them all day long?

This results in write operations to our logs; therefore, the former case is more intensive than the latter.

### 64-bit support

Devolutions Server runs on 64-bit systems only: Windows x64, and Linux x64 or ARM64.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/server/overview-of-devolutions-server/system-requirements.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
