Skip to main content
Version: 6.x

For production

info

To install the application server, web server and client, Java version 8 or later must first be installed on the computer.

info

For the application server to work, it must have access to the PostgreSQL database management server of at least version 9.6. The PostgreSQL server must accept connections using password authentication by the md5 or trust method. You can configure authorization by editing the pg_hba.conf file, as described in the PostgreSQL documentation.

Installing the application server as a service

  • Download the file lsfusion-server-<version>.jar of the required version (for example lsfusion-server-6.0-beta0.jar) from the central server to some folder (we will call this folder $FUSION_DIR$).

  • If the database server is located on another computer, and if authorization is enabled on the database server (for example, for Postgres, using the md5 method and if the password postgres is not empty), set the parameters for connecting to the database server (e.g. by creating a startup settings file in the $FUSION_DIR$ folder)

  • Place modules developed in the lsFusion language as files with the extension lsf to the $FUSION_DIR$ folder (or any subfolder). In addition, the rest of the resource files if any must also be placed there (e.g. report files, compiled Java files, pictures, etc.).

  • Create a service in the operating system (for example, using Apache Commons Daemon). In this case you must use the $FUSION_DIR$ folder as the working directory and the following line as the start command:
    • Linux

      bash
      java -cp ".:lsfusion-server-6.0-beta0.jar" lsfusion.server.logics.BusinessLogicsBootstrap
      Sample script to start a service on CentOS
      [Unit]
      Description=lsFusion
      After=network.target

      [Service]
      Type=forking
      Environment="PID_FILE=/usr/lsfusion/jsvc-lsfusion.pid"
      Environment="JAVA_HOME=/usr/java/latest"
      Environment="LSFUSION_HOME=/usr/lsfusion"
      Environment="LSFUSION_OPTS=-Xms1g -Xmx4g"
      Environment="CLASSPATH=.:lsfusion-server-6.0-beta0.jar"

      ExecStart=/usr/bin/jsvc \
      -home $JAVA_HOME \
      -jvm server \
      -cwd $LSFUSION_HOME \
      -pidfile $PID_FILE \
      -outfile ${LSFUSION_HOME}/logs/stdout.log \
      -errfile ${LSFUSION_HOME}/logs/stderr.log \
      -cp ${LSFUSION_HOME}/${CLASSPATH} \
      $LSFUSION_OPTS \
      lsfusion.server.logics.BusinessLogicsBootstrap

      ExecStop=/usr/bin/jsvc \
      -home $JAVA_HOME \
      -stop \
      -pidfile $PID_FILE \
      lsfusion.server.logics.BusinessLogicsBootstrap

      [Install]
      WantedBy=multi-user.target
    • Windows

      cmd
      java -cp ".;lsfusion-server-6.0-beta0.jar" lsfusion.server.logics.BusinessLogicsBootstrap

Installing the web server (web and desktop client) as a service

info

To install the web server, Apache Tomcat version 8 or higher must be installed on the computer.

  • Add --add-opens=java.base/java.util=ALL-UNNAMED to the Apache Tomcat startup parameters if Java version higher than 17 is used.
  • Download the file lsfusion-client-<version>.war of the required version from the central server. For example, lsfusion-client-6.0-beta0.war.
  • If the application server is located on another computer, as well as if access parameters to the application server are different from the standard, set connection parameters to the application server (for example by creating / editing the Tomcat settings file)
  • Deploy the application on Tomcat. The easiest way is to copy Tomcat to the webapps folder. In this case, the file can be renamed first (for example, to lsfusion.war), since the file name will correspond to the context path where the application will be available. If Tomcat uses port 8080, then the web client will be available at: http://localhost:8080/<filename of the war file>. For example, http://localhost:8080/lsfusion. An empty context name in Tomcat corresponds to the name ROOT, that is, if the file name is ROOT.war, the web client will be available at http://localhost:8080/. You can download the desktop client from the authorization page at Run Desktop Client (via Java Web Start).

Installing only the desktop client (on the client's computer)

  • Download the file lsfusion-client-<version>.jar of the required version from the central server. For example, lsfusion-client-6.0-beta0.jar

  • Create a shortcut on the desktop. In this case, you need to use as the working directory the directory which contains the downloaded client jar-file. Use the following line as the launch command:

    • bash
      java -jar lsfusion-client-6.0-beta0.jar
info

You can also use the method of installing the desktop client for development. To do this, just download the file lsfusion-client-<version>.jnlp of the required version from the central server, and then run it locally on the client. This method is faster and more convenient, but less flexible.

info

The latest versions that are currently under development (snapshots) can be downloaded directly from the maven repository https://repo.lsfusion.org. For example, for the server, the full path is as follows: https://repo.lsfusion.org/nexus/service/rest/repository/browse/public/lsfusion/platform/server/ (for server and desktop client you need to download jar files with the -assembly postfix)

Installing and running the application server and web client using Docker containers

info

To work with docker containers you need to have Docker and Docker-compose installed in your operating system.

  • Download the file docker-compose.yml from the central server to a some folder (we will call this folder $FUSION_DIR$). This file contains the settings for running the three containers:

    • Postgres container
    • Application server container
    • Web client container
  • If you need to make any changes to the startup process (e.g. postgres is already installed in the operating system, or if you need to use a different container version than the default one, or if you need to use some special environment variables), you should edit the docker-compose.yml file according to Docker documentation.

  • From within the $FUSION_DIR$ folder, run the command docker-compose up from the console.

  • When the download is complete and the containers are running, the web client will be accessible from the browser at http://localhost:8080/.

  • After the first run, Docker will create subfolders in the $FUSION_DIR$ folder:

    • docker-client-conf
    • docker-db
    • docker-server
  • In the docker-server folder, you need to place modules developed in lsFusion as files with the extension .lsf or folders containing such files. Other resource files (if any, e.g. report files, compiled Java files, images, .css, .js files, etc.) should also be placed there. Also in this folder there are server logs and settings.properties file.