Overview

This guide provides comprehensive instructions for deploying Tatsoft’s FrameworX platform using official Docker images available on Docker Hub. It explains how to choose between the lightweight TWebServices image, which allows on-demand installation of components, and the full Program image, which includes all functionalities pre-installed. The document covers how to download the images, create containers with persistent data storage, start and manage the containers from the terminal, and connect to them from a Windows environment using FrameworX. It also details how to install additional components when using the TWebServices image. This setup enables a fast and reliable deployment of FrameworX in Linux while ensuring data persistence and seamless integration with development tools.

On this page:


We have two available Docker images from Tatsoft on Docker Hub: twebservices and frameworx .

twebservices is a lightweight image that contains only the TWebServer. With this image, you can choose which components of the program to install after it's already running.

frameworx is a full image of the product, with all functionalities pre-installed and ready to use.

Note: In both cases, you must license the software after deployment.


Downloading the Images

To download the desired image, use the following commands:

  • Full Build (frameworx):

    docker pull tatsoftdockerhub/frameworx:latest
  • TWebServer Only (twebservices):

    docker pull tatsoftdockerhub/twebservices:latest

Creating a Container

After downloading the image, create a container using the command below:

docker run -it --name <ContainerName> --network host --mount type=bind,source="<path to data folder>",target=/Documents <ImageName>

Parameters:

-it => Enables an interactive terminal.

--network host => Grants the container access to all host ports.

--mount type=bind => Binds the container’s /Documents directory (where FrameworX stores project files and data) to a folder on your host machine. This ensures your data persists even if the container is removed — container data is otherwise volatile.

Note: the folder in the host system needs to be created by the user.
Example:
If your desired host folder is /home/username/FX_Data, use the command below:

docker run -it --name fx-server --network host --mount type=bind,source="/home/username/FX_Data",target=/Documents tatsoftdockerhub/frameworx:latest

Or, if you are using twebservices Image:

docker run -it --name fx-server --network host --mount type=bind,source="/home/username/FX_Data",target=/Documents tatsoftdockerhub/twebservices:latest


This will:

  • Create a container named fx-server

  • Use the full product image

  • Share project data between the container and the local /home/username/FX_Data folder

Starting an Existing Container

To start a previously created and stopped container, use:

docker start -ia <ContainerName>

Parameters
-ia =>
Starts the container in interactive mode and attaches to the terminal.

Expected Output

When the container starts, you should see output similar to this:

user@userNote:~$ docker start -ia fx-server
04/02/2025 13:12:07.579 - Starting service - Port: 10108...
04/02/2025 13:12:07.686 - TWebServices was started - Port: 10108, Local IPs: 127.0.1.1,172.29.170.103,172.17.0.1...
04/02/2025 13:12:07.691 - Type 'exit' or 'quit' to finish...

Connecting from Windows (frameworx Image)

Start FrameworX on a Windows computer, configure the 'Remote Server' with the IP address shown in the Linux terminal, then click Connect, as shown below:

You can upload a solution to the Linux server, by clicking Upload File.

Connecting from Windows (twebservices Image)

When connecting to a container created with the twebservices image, you will see a screen like this:

In this screen:

  1. Select the components you want to install.

  2. Click Install Product.


Licensing

Since Docker works similarly to a virtual machine, the licensing procedure is almost the same.

Steps:

  1. Set up a License Server
    Instructions can be found at this link.
  2. On the client side, the only difference is the location of the folder where the RemoteLicenseService.config file should be placed.
    If you’re following the example on the referenced page, you’ll have a shared folder with the container located at:
    /home/username/FX_Data
    The RemoteLicenseService.config file must be placed in the following path:
    /home/username/FX_Data/FrameworX/MachineSettings
    Note: The /FrameworX/MachineSettings folder is created automatically after the container is run for the first time.

In this section:

  • No labels