Deploy FrameworX using containers.
Reference → Solution → Deployment → Runtime | Server | Client Types | Container | Redundancy | Security
Container Deployment (Reference): Deploying FrameworX in Docker and Kubernetes environments.
To download the desired image, with the container platform running, use the following commands:
Full Build (frameworx):
docker pull tatsoftdockerhub/frameworx:latest
TWebServer Only (twebservices):
docker pull tatsoftdockerhub/twebservices:latest
After downloading the image, create a container using the command below:
docker run -it --name <ContainerName> --network <networktype> --mount type=bind,source="<path to data folder>",target=/Documents <ImageName>
Parameters:
-it = Enables an interactive terminal.
--network <networktype> = Defines how the network is set up: host, bridge...
--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.
source="<path to data folder>" = Folder path created locally.
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
For Windows (Docker Desktop or similar)
When accessing the container on Windows (Docker Desktop or similar), use the default bridge network—not host
—and map ports 10108 and 3101. Then, in Solution Manager, connect to localhost (127.0.0.1); it will route to the Docker container via the mapped ports. Example:
docker run -p 10108:10108 -p 3101:3101 -it --name fx-server --mount type=bind,source="C:\Users\eduar\Documents\Docker",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
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...
Start the Solution Manager 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.
When using Docker Desktop or a similar tool, connect to localhost (127.0.0.1:10108).
When connecting to a container created with the twebservices image, you will see a screen like this:
In this screen:
Select the components you want to install.
Click Install Product.
This Docker image already includes Python 3.10.12. If you need additional libraries, you can install them or contact Tatsoft Support for assistance.
Since Docker works similarly to a virtual machine, the licensing procedure is almost the same.
Steps: