TX Text Control .NET Server

Linux

Topic

Since version 33.0, applications built with TX Text Control .NET Server run on Linux servers: the Core engine processes documents there, renders them for the Document Viewer and runs the backend of the Document Editor. Nothing of TX Text Control is installed on the server itself. You publish the application for Linux, install the ASP.NET Core Runtime and let a service manager and a reverse proxy take care of the rest.

How a Linux Deployment Works

  • The Core engine. Only TXTextControl.TextControl.Core.SDK runs on Linux. The Classic engine is Windows only.
  • Publish for linux-x64. dotnet publish -c Release -r linux-x64 --self-contained false puts the native Linux libraries, the Fonts folder and the files of the Document Editor backend into the output, next to your application.
  • The ASP.NET Core Runtime on the server. It runs your application and the Document Editor backend, which your application starts as a separate dotnet process.
  • A service and a reverse proxy. systemd starts the application and restarts it when it ends. nginx accepts the requests of the browsers and passes HTTP requests and the WebSocket connections of the Document Editor to the application.
Browser ---> nginx ---> your application (systemd) ---> Document Editor backend

Every server or virtual machine that runs the application needs a runtime license.

Test on Linux Before You Deploy

A Windows development machine can run the application on Linux before it reaches a server: with the WSL startup profile of Visual Studio, it runs with the native Linux libraries of the Core engine, and problems that appear only on Linux show up on your machine. Development Environments describes how to enable WSL and the alternative of a Linux container.

Find the Right Page

If you want toRead
Deploy an application to an Ubuntu server with systemd and nginx, step by stepUbuntu
Deploy to Debian 12 or 13, where .NET comes from Microsoft's package repositoryDebian
Check whether a distribution or a container image offers the processor architecture, libraries, ports and files TX Text Control needsLinux Requirements
Run the application in a Linux container instead of directly on the serverDocker
Host the application on Azure App Service on LinuxAzure App Service Linux

Where to Start

  1. Linux Requirements: make sure your distribution qualifies. Debian 11, Alpine Linux and ARM64 servers don't.
  2. Ubuntu or Debian: deploy the application. The Ubuntu page explains each step; the Debian page adds what differs.
  3. WebSocket Architecture: the connection of the Document Editor through proxies and load balancers.
  4. Troubleshooting Linux: when something works on Windows but not on Linux.