ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

This content has been translated automatically.  Click here  to view the French version.
Help / WLanguage / Managing databases / HFSQL / Managing HFSQL Client/Server
  • Overview
  • How to?
  • Required configuration
  • Running the image (creation of the container)
  • Important
  • Server to Server replication
  • Example of bidirectional replication between two HFSQL docker containers
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
Overview
From version 22, a Docker container with the HFSQL server is available on Docker Hub:
https://hub.docker.com/r/windev/hfsql
Installing an HFSQL server is as easy as 1 line of typing or scripting!
Note: Only the 64-bit version is available.
How to?

Required configuration

The Linux distribution used does not matter. However, to use the Docker container that contains the HFSQL server, it is necessary to be familiar with Docker and, in particular:
  • know how to install a new container from the Docker image of the HFSQL server,
  • manage at least one volume required for data persistence,
  • manage network configuration inside Docker.

Running the image (creation of the container)

  • The name of the preset image is:
    "windev/hfsql:<FR/US><Version>"
  • To persist data (e.g. if the image changes), you must:
    • Use a volume. The command to create a volume:
      "docker volume create <VolumeName>"
    • Mount the volume into the container on
      "/var/lib/hfsql"
  • Example of command line:
    sudo docker run -d
    --restart unless-stopped
    --name HFSQL_DOCKER
    --volume <NomVolume>:/var/lib/hfsql
    --publish 4923:4900
    windev/hfsql:US290053b
    Here are the parameters of the command above:
    • "name": indicates the name of the container.
    • "volume": indicates the "binding" between the volume and the directory defined in the container. In the HFSQL server configuration, the database path will be seen as "var/lib/hfsql".
    • "publish": indicates the container access port (4923 in this example) and the redirection to the port inside the container (4900: the standard HFSQL port).
      In this example, the server will be accessible on port 4923 of the docker server.
    • the name of the docker package and the HFSQL version (US270053b" in this example).

Important

  • When the container is created, if there are no databases, you can define environment variables, for example, via the syntax:
    -e HFSQL_RANDOM_PASSWORD=yes

    You can use one of the following three variables (or nothing for the default "admin" mode):
    • HFSQL_PASSWORD: Initial account password.
    • HFSQL_PASSWORD_FILE: path to the file containing the initial account password.
    • HFSQL_RANDOM_PASSWORD: The initial account password is randomly generated.
      It is displayed on the standard output and can be found in the logs with the command
      docker logs HFSQL_DOCKER
    You can also use the following variable (optional): HFSQL_USER: Account name (admin by default).
  • Reminder of basic Docker commands:
    • Stop a container:
      "docker stop <ID>"
    • Restart a container:
      "docker start <ID>"

Server to Server replication

"Server to Server" replication is not possible with the default HFSQL Docker image.
To perform this type of replication, a derived image must be made adding the port used for replication.
The new Docker image can be for example:
FROM windev/hfsql:30.0.062
EXPOSE 4996

Example of bidirectional replication between two HFSQL docker containers

To set up bidirectional replication between two HFSQL Docker containers running on the same machine:
  1. Create a Dockerfile with this content:
    FROM windev/hfsql:FR300083
    EXPOSE 4996
    EXPOSE 4997
  2. Create the Docker image with this command line (include the full stop):
    sudo docker build --force-rm -t hfsql:replication .
  3. Create a volume for the first server:
    sudo docker volume create vol_hfsql_4901
  4. Install and run the first server:
    sudo docker run -dit --restart unless-stopped --name HFSQL_4901
    --volume vol_hfsql_4901:/var/lib/hfsql
    --publish 4923:4900
    --publish 4996:4996 hfsql:replication
  5. Create a volume for the second server:
    sudo docker volume create vol_hfsql_4902
  6. Install and run the second server:
    sudo docker run -dit --restart unless-stopped --name HFSQL_4902
    --volume vol_hfsql_4902:/var/lib/hfsql --publish 4902:4900
    --publish 4997:4997 hfsql:replication
The rest of the configuration can be defined in the HFSQL Control Center (standard method to create a bidirectional replication between two servers).
Minimum version required
  • Version 22
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 03/28/2025

Send a report | Local help