For production
To install the application server, web server and client, Java version 8 or later must first be installed on the computer.
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 examplelsfusion-server-6.0-beta1.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
bashjava -cp ".:lsfusion-server-6.0-beta1.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-beta1.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
cmdjava -cp ".;lsfusion-server-6.0-beta1.jar" lsfusion.server.logics.BusinessLogicsBootstrap
-
Installing the web server (web and desktop client) as a service
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 11 is used. - Download the file
lsfusion-client-<version>.war
of the required version from the central server. For example,lsfusion-client-6.0-beta1.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 port8080
, 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 nameROOT
, that is, if the file name isROOT.war
, the web client will be available athttp://localhost:8080/
. You can download the desktop client from the authorization page atRun 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-beta1.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-beta1.jar
- bash
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.
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
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 commanddocker-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 andsettings.properties
file.