Version 3.0 of DS Server has been built with .NET 6 and is based on TX Text Control 31.0. Besides all new features of TX Text Control, it provides some extended advantages over the previous versions. One new feature is the option to host DS Server without the requirement of IIS (Internet Information Services) on the hosting instance. This tutorial shows how to deploy DS Server using Docker without any IIS dependency.

The easiest way to test the installation is to install Docker for Windows to create the DS Server Docker image.

Prerequisites

To test this deployment, you will have to download a trial or full version of DS Server. A trial version can be downloaded here:

DS Server Trial

  1. Create a new folder and name it DSServerDocker.

  2. Download the ZIP file from the online store (DS-0300-XB.zip) that contains all the required files for your private DS Server installation and copy it into the created folder DSServerDocker.

  3. Open the ZIP and find the file hostsettings.json. Change the content to the following JSON:

    {
    "urls": "http://*:5000"
    }
    view raw test.json hosted with ❤ by GitHub

    These ULRs define on which URLs and ports DS Server is hosted. For demo purposes, the HTTPS URL is removed in this tutorial.

  4. Create a file named Dockerfile (no extension), open it using any editor and paste the following content into it:

    FROM mcr.microsoft.com/windows:ltsc2019
    # Copy the zip folder application to "C:\" on container machine
    COPY DS-0300-XB.zip DS-0300-XB.zip
    SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
    # Unzip the application to "C:\DocumentServices"
    RUN Expand-Archive -Path DS-0300-XB.zip -DestinationPath C:\DocumentServices
    # Download and install Visual C++ Redistributable Packages for Visual Studio 2013
    RUN Invoke-WebRequest -OutFile vc_redist.x64.exe https://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe; \
    Start-Process "vc_redist.x64.exe" -ArgumentList "/passive" -wait -Passthru; \
    del vc_redist.x64.exe
    # Download and install Visual C++ Redistributable Packages for Visual Studio 2015
    RUN Invoke-WebRequest -OutFile vc_redist.x64.exe https://download.microsoft.com/download/6/A/A/6AA4EDFF-645B-48C5-81CC-ED5963AEAD48/vc_redist.x64.exe; \
    Start-Process "vc_redist.x64.exe" -ArgumentList "/passive" -wait -Passthru; \
    del vc_redist.x64.exe
    # Install ASP.NET Core Runtime
    # Checksum and direct link from: https://dotnet.microsoft.com/permalink/dotnetcore-current-windows-runtime-bundle-installer
    RUN Invoke-WebRequest -OutFile dotnet-hosting-6.0.9-win.exe https://download.visualstudio.microsoft.com/download/pr/eaa3eab9-cc21-44b5-a4e4-af31ee73b9fa/d8ad75d525dec0a30b52adc990796b11/dotnet-hosting-6.0.9-win.exe; \
    Start-Process "dotnet-hosting-6.0.9-win.exe" -ArgumentList "/passive" -wait -Passthru; \
    Remove-Item -Force dotnet-hosting-6.0.9-win.exe;
    # Remove files
    RUN del DS-0300-XB.zip
    # Start Document Services
    WORKDIR /DocumentServices
    ENTRYPOINT ["dotnet", "TXTextControl.DocumentServices.dll"]
    view raw dockerfile hosted with ❤ by GitHub
  5. Assume that you have installed Docker for Windows, open a PowerShell command window with explicit administrator rights and change to the directory where you created the folder DSServerDocker.

  6. Type in the following command to build the Docker image based on the Dockerfile in the same directory:

    docker build -t dsserver .
  7. Start the container with one of the following commands:

    docker run -it -p 5000:5000 --name mydsserver dsserver
  8. Open a browser and navigate to http://localhost:5000 to open the DS Server portal.