# Deployment Guide

> Deploy TX Text Control .NET Server applications: what every deployment needs, then Windows, Linux, Docker, Kubernetes, Azure, AWS, Google Cloud and CI/CD.

- **Product:** TX Text Control .NET Server
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Text Control .NET Server > Deployment Guide
- **940 words**
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/llms-full.txt

---

An application built with TX Text Control .NET Server takes TX Text Control with it: publishing puts the engine, its native libraries, its fonts and the Document Editor backend next to your application, and the license is compiled into your assembly. No setup runs on the target. What differs from one target to the next is how the application is hosted, how the Document Editor's connection gets through and what the platform expects from the runtime.

### What Every Deployment Has in Common

- **An engine for the target platform.** The Core engine in `TXTextControl.TextControl.Core.SDK` runs on Windows and Linux; the Classic engine runs on Windows only. Publish for the runtime identifier of the target, `win-x64` or `linux-x64`.
- **A publish output with everything TX Text Control needs.** Next to your application, `dotnet publish` puts the TX Text Control assemblies, the native libraries of the target platform, the *Fonts* folder of the Core engine and the files of the Document Editor backend.
- **The .NET runtime on the target.** Text Control's examples publish framework-dependent applications. The Document Editor backend runs as a separate `dotnet` process with the installed runtime and listens on TCP port 4283, which only your application uses.
- **A path for the WebSocket connection.** Every server, proxy and load balancer between the browser and your application must let the Document Editor's WebSocket connection through, and with several instances, keep it on one instance. [WebSocket Architecture](https://docs.textcontrol.com/tx-text-control-dotnet-server/integration/websockets/#host-the-connection) explains the connection.
- **Runtime licenses.** Each production server, virtual machine or cloud instance needs one. See [Runtime Licenses](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/licensing/runtime/llms-full.txt).

### Choose a Target

| Target | Read |
|---|---|
| Windows Server with IIS, or a Windows service | [Windows](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/windows/llms-full.txt) |
| Ubuntu or Debian with systemd and nginx | [Linux](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/linux/llms-full.txt) |
| Linux containers, fonts in the image, several containers | [Docker](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/docker/llms-full.txt) |
| Kubernetes clusters, with Deployments, Services and session affinity | [Kubernetes](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/kubernetes/llms-full.txt) |
| Azure App Service on Windows or Linux | [Azure](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/azure/llms-full.txt) |
| AWS Elastic Beanstalk or AWS Fargate | [AWS](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/aws/llms-full.txt) |
| Google Cloud Run | [Google Cloud](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/google-cloud/llms-full.txt) |
| Build, publish and deploy in a pipeline | [CI/CD](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/ci-cd/llms-full.txt) |

### Find the Right Page

| If you want to | Read |
|---|---|
| Check what a Linux server or container needs: glibc, gconv, ports, processes | [Linux Requirements](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/linux/requirements/llms-full.txt) |
| Configure an IIS application pool so that the Document Editor backend keeps running | [IIS](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/windows/iis/llms-full.txt) |
| Build a container image without putting the NuGet feed credentials into it | [Dockerfile](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/docker/dockerfile/llms-full.txt) |
| Add company fonts to a deployment | [Fonts](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/docker/fonts/llms-full.txt) |
| Run the Document Editor backend separately from the application | [Multiple Processes](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/docker/multiple-processes/llms-full.txt) |
| Find out which requests need sticky sessions behind a load balancer | [Scaling Containers](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/docker/scaling/llms-full.txt) |

### Where to Start

1. [Operating Systems](https://docs.textcontrol.com/tx-text-control-dotnet-server/installation/requirements/operating-systems/llms-full.txt): confirm that the target platform and the engine fit.
2. The section of your target: [Windows](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/windows/llms-full.txt), [Linux](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/linux/llms-full.txt), [Docker](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/docker/llms-full.txt) or [Azure](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/azure/llms-full.txt).
3. [CI/CD](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/ci-cd/llms-full.txt): automate the deployment.
4. [Troubleshooting](https://docs.textcontrol.com/tx-text-control-dotnet-server/troubleshooting/llms-full.txt): when the application or the editor doesn't start on the target.

---

## In This Section

- [AWS](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/aws/llms-full.txt): Run TX Text Control .NET Server on AWS: Elastic Beanstalk and Fargate on x86_64, the proxy for WebSockets, load balancer stickiness and timeouts, licensing.
- [Azure](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/azure/llms-full.txt): Host TX Text Control .NET Server applications in Azure App Service on Windows or Linux: what differs between the two, scaling, licensing and pipelines.
- [CI/CD](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/ci-cd/llms-full.txt): Build, publish and deploy TX Text Control apps in pipelines: feed credentials, publishing for win-x64 or linux-x64, artifacts, Azure deployment and images.
- [Docker](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/docker/llms-full.txt): Run TX Text Control .NET Server applications in Linux containers: the image, the NuGet feed secret, fonts, the Document Editor backend and several instances.
- [Google Cloud](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/google-cloud/llms-full.txt): Run TX Text Control .NET Server on Google Cloud Run: x86_64 images, port and memory, the request timeout and session affinity for the Document Editor.
- [Kubernetes](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/kubernetes/llms-full.txt): Run TX Text Control .NET Server in Kubernetes: Deployment and Service manifests, session affinity for the Document Editor, a separate backend and licensing.
- [Linux](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/linux/llms-full.txt): Run TX Text Control .NET Server applications on Linux: publish for linux-x64, install the ASP.NET Core Runtime and host on Ubuntu or Debian with systemd.
- [Windows](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/windows/llms-full.txt): Deploy TX Text Control .NET Server applications to Windows Server: both engines, win-x64 publishing, the runtime and hosting in IIS or as a Windows service.

---

## Nearby

- **Previous:** [Web Forms Document Viewer (Legacy)](https://docs.textcontrol.com/tx-text-control-dotnet-server/integration/dotnet-framework/web-forms-viewer/llms-full.txt)
- **Next:** [Windows](https://docs.textcontrol.com/tx-text-control-dotnet-server/deployment/windows/llms-full.txt)
