Remoto - VFS: Server Installation
Remoto - VFS
Server Installation

Server Requirements

  • Qt libraries are required: https://www.qt.io/
  • Qt5.6+ is required for websocket support. Please note that proper UTF support is required for JSON and BSON functions. There is a version of Qt for Centos6 that does not have full support compiled in.
  • A C++ compiler that supports C++11 is requred.
  • A webserver like Apache or Nginx is required for browser access, which is not required by the server in any way.
  • For Linux:
    • Depending on distro, you may use the Qt online installer
    • If apt (Ubuntu):
      • qt5-default – main qt source files
      • libqt5websockets5-dev – websockets
      • qtdeclarative5-dev – qml/scripting
      • libqt5serialport5-dev – for modbus, if needed
    • If yum (Centos 7, Docker):
      • qt5-qtbase-devel.x86_64 – main qt source files
      • qt5-qtwebsockets-devel.x86_64 – websockets
      • qt5-qtdeclarative-devel.x86_64 – qml/scripting
      • qt5-qtserialport-devel.x86_64 – for modbus, if needed
  • For OSX:
    • XCode with command line tools (you don't have to use XCode, but it will need to be installed)
    • Use the Qt installer, or build from source
  • Windows:
    • untested in all ways
  • Bash is needed for all build scripts
See also
Nginx Proxy Configuration
Build the Documentation

Building the Executable

Clone the source code:

git clone ssh://git@gitlab.eyelash.ai:2222/vfs/core/vfs_server.git

Then build it:

cd vfs_server/
cd server/
./build.sh [mode]

This will build libVFS and the VFS executable, as well as compile any plugins in the src/plugins/buildPlugins.sh script.

build.sh has modes:

Mode Description
build Build the VFS-lib.pro project, as well as VFS.pro. This will build the executable.
buildplugins Call the src/plugins/buildPlugins.sh script with a mode of 'build'.
buildall Build the executable and the plugins
buildrun [arguments] Build the executable and run it with arguments
clean Clean the VFS-lib.pro and VFS.pro projects
cleanbuild Clean, then build and run
cleanbuildrun [arguments] Clean, then build, then run with arguments
run [arguments] Run the executable with arguments

The default mode is 'buildall'. The build.sh script can be run from any directory. Any of the modes that run the executable can receive arguments.

Invoking the Server

VFS [[-config] config.xml] [-plugins pluginsDir] [-plugins ...] [-version] [-printconfig] [-describe] [-?] [[name=val] ...]
-config the path to an xml config file
-plugins the absolute or relative path to a directory to scan for plugins. This flag can appear multiple times.
-version print version
-describe print a description for each loaded plugin and exit.
-? print this message
name=val an environment variable to set. Multiple variables can be provided.

The VFS executable can be run from any directory.

See also
parseApplicationOptions()