Deploying the TX Text Control Document Editor Backend Web Server in Docker
This article describes how to deploy the TX Text Control Document Editor backend web server in Docker. The backend web server is a .NET Core application that provides the required synchronization and the rendering engine.

TXTextControl.Web.Server.Core is a lightweight, cross-platform .NET 8 application introduced with TX Text Control 33.0 to serve as the backend for the TX Text Control Document Editor. This new architecture replaces the previous Windows-only synchronization service with a more flexible and modern solution. The key features of TXTextControl.Web.Server.Core include:
- Cross-platform compatibility: TXTextControl.Web.Server.Core can run on any platform that supports .NET 8 or better, including Windows and Linux.
- Versatile deployment options: Can be deployed on Azure App Services, virtual machines, containers (such as Docker and Kubernetes), or on bare-metal servers.
- Flexible execution modes: Capable of running as a standalone application, or a Linux daemon.
- Lightweight and scalable design: Tailored for modern cloud and containerized environments, ensuring efficient resource utilization and scalability.
Learn More
With the release of TX Text Control 33.0, we are excited to introduce TXTextControl.Web.Server.Core, a major upgrade in the way the document editor works on the backend. This article provides an overview of the new architecture and how to deploy the backend on Linux using Docker.
In most Getting Started tutorials, we describe how to deploy the required backend with the actual ASP.NET application that uses the Document Editor. In this case, the backend is launched from within the same application. But what if the consuming application uses a different technology stack, such as Angular or JavaScript, and runs on a completely different server or instance?
In this case, the backend can be hosted on a separate server or in a Docker container. This tutorial shows how to deploy the backend using Docker.
Preparing the Docker Image
As a prerequisite, you must install the TX Text Control .NET Server setup to access the required files. Follow these steps to prepare the Docker image.
-
In a folder of your choice, create a new folder called TXTextControl.Web.Server.
-
TXTextControl.Web.Server.Core Files
Copy the following files from the TX Text Control installation folder to the new folder.
C:\Program Files\Text Control GmbH\TX Text Control 33.0.NET Server for ASP.NET\Assembly\net8.0\
- TXTextControl.Web.Server.Core.dll
- TXTextControl.Web.Server.Core.Process.dll
- TXTextControl.Web.Server.Core.config.json
- TXTextControl.Web.Server.Core.deps.json
- TXTextControl.Web.Server.Core.Process.deps.json
- TXTextControl.Web.Server.Core.Process.runtimeconfig.json
- TXTextControl.Web.Server.Core.runtimeconfig.json
-
TX Text Control Files
Copy the following files from the same folder.
C:\Program Files\Text Control GmbH\TX Text Control 33.0.NET Server for ASP.NET\Assembly\net8.0\
- TXDocumentServer.Core.dll
- TXTextControl.Core.dll
- TXTextControl.Server.Core.dll
From the Assembly folder, the following files are required:
C:\Program Files\Text Control GmbH\TX Text Control 33.0.NET Server for ASP.NET\Assembly\
- TXBarcode.dll
- TXDrawing.dll
- TXImageProvider.dll
- txpdf.dll
- TXSVGResources.dll
-
TX Text Control Native Dependencies
For Linux: Copy the following files from the binunix folder:
C:\Program Files\Text Control GmbH\TX Text Control 33.0.NET Server for ASP.NET\Assembly\binunix\
- tx33core.so
- tx33core_tls.so
- tx33_css.so
- tx33_dox.so
- tx33_htm.so
- tx33_ic.so
- tx33_pdf.so
- tx33_pdfdata.so
- tx33_xlx.so
- txdomprs.so
- txfntmgr.so
- txsvggen.so
- txwndmgr.so
For Windows: Copy the following files from the bincore64 folder:
C:\Program Files\Text Control GmbH\TX Text Control 33.0.NET Server for ASP.NET\Assembly\bincore64\
- tx33core.dll
- tx33core_css.dll
- tx33core_dox.dll
- tx33core_htm.dll
- tx33core_ic.dll
- tx33core_pdf.dll
- tx33core_tls.dll
- tx33core_xlx.dll
- tx33_pdfdata.dll
- txfntmgr.dll
- txwndmgr.dll
The following files from the bin64 folder are also required:
C:\Program Files\Text Control GmbH\TX Text Control 33.0.NET Server for ASP.NET\Assembly\bin64\
- txdomprs.dll
- txsvggen.dll
-
TX Text Control Fonts
Copy the complete fonts folder from the TX Text Control installation folder:
C:\Program Files\Text Control GmbH\TX Text Control 33.0.NET Server for ASP.NET\Assembly\fonts\
Be sure to copy the entire folder, not just the files. The fonts are required for rendering documents and must be in the same folder structure as the installation folder.
Creating the Dockerfile
In the same folder, create a new file named Dockerfile (without any file extension). The Dockerfile contains the instructions for building the Docker image. Here is an example of a Dockerfile for TXTextControl.Web.Server.Core:
# Use the official .NET 8.0 runtime image
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
# Set the working directory inside the container
WORKDIR /app
# Copy the TXTextControl.Web.Server folder contents to the container
COPY TXTextControl.Web.Server/ .
# Expose default ASP.NET port (optional, depending on your app config)
EXPOSE 4282
# Start the application
ENTRYPOINT ["dotnet", "TXTextControl.Web.Server.Core.dll"]
Linux Containers
This description shows how to host the backend on a Linux container. Make sure that Linux containers are enabled on Docker.
In this example, we use the mcr.microsoft.com/dotnet/aspnet:8.0 image as the base image. This image contains the ASP.NET Core runtime and is suitable for running .NET applications.
We copy the required files into the image and set the working directory to /app. The ENTRYPOINT instruction specifies the command to run when the container starts. In this case, we use dotnet TXTextControl.Web.Server.Core.dll to start the TXTextControl.Web.Server.Core application.
Building the Docker Image
To build the Docker image, open a terminal or command prompt and navigate to the folder where you created the Dockerfile. Run the following command:
docker build -t txtextcontrol-webserver .
This command builds the Docker image and tags it as txtextcontrol-webserver. The . at the end specifies the current directory as the build context.
Running the Docker Container
After creating the Docker image, you can run a container based on the image. Use the following command:
docker run -p 4282:4282 txtextcontrol-webserver
This command runs the container and maps port 4282 on the host to port 4282 in the container. You can access the TXTextControl.Web.Server.Core backend endpoints at http://localhost:4282.
Testing the Backend
In your ASP.NET Core application, where you added the TX Text Control WebSocket Middleware, add the container as the host name and port number.
app.UseTXWebSocketMiddleware("localhost", 4282);
Related Posts
Announcing the Official DS Server Docker Image on Docker Hub
The official DS Server Docker image is now available on Docker Hub. This makes it easier to deploy the DS server in a containerized environment and manage and scale your applications. Based on the…
Using a Private NuGet Feed to Build and Restore .NET Apps for Docker Deployment
Learn how to set up a private NuGet feed for your .NET applications and use them in Docker containers. This guide covers the steps to create a private NuGet feed with GitHub, configure your .NET…
Configuring the TX Text Control Document Editor Backend Web Server,…
This article describes how to configure the TX Text Control Document Editor Backend Web Server, including port and logging settings.
Designing a Maintainable PDF Generation Web API in ASP.NET Core (Linux) C#…
This article shows how to create a PDF generation Web API in ASP.NET Core on Linux using TX Text Control .NET Server. The clean architecture is used to create a maintainable and testable solution.
Using TX Text Control with Ultra-Minimal Chiseled Linux Containers
This article shows how to create ultra-lightweight, chiseled Linux containers for ASP.NET Core applications using TX Text Control .NET Server 33.0.