FrontlineSMS ============ Overview -------- FrontlineSMS is a system for both manual and automatic processing of SMS, supporting creation of various SMS workflows. The application is written in Java (resp. Groovy) and uses Grails layout engine. It has its own installer which deploys single-tenant Jetty lightweight applicaiton server. To work efficiently, FrontlineSMS requires a device with SMS capabilities or a connection to third-party service such as Twilio. Upstream URL: https://github.com/frontlinesms/frontlinesms2 Modem capabilities ------------------ There are special considerations to be taken whenever an application witch direct access to hardware is run in a container. Currently FrontlineSMS has not been tested with such device and it is expected that some extra work or container configuration not present in any other application needs to be done in order to make the hardware device available and usable by the container. X server -------- Although FrontlineSMS is a web application, it requires X server as it attempts to install a systray icon. On a headless server, this requirement can be worked around using ``xf86-video-dummy`` package which works as a *blackhole* display driver. The X server is then started as .. code-block:: bash Xorg -noreset +extension GLX +extension RANDR +extension RENDER -config dummy.conf :10 Where the ``dummy.conf`` looks as follows .. code-block:: xorg.conf Section "ServerFlags" Option "DontVTSwitch" "true" Option "AllowMouseOpenFail" "true" Option "PciForceNone" "true" Option "AutoEnableDevices" "false" Option "AutoAddDevices" "false" EndSection Section "InputDevice" Identifier "dummy_mouse" Option "CorePointer" "true" Driver "void" EndSection Section "InputDevice" Identifier "dummy_keyboard" Option "CoreKeyboard" "true" Driver "void" EndSection Section "Device" Identifier "dummy_videocard" Driver "dummy" Option "ConstantDPI" "true" VideoRam 192000 EndSection Section "Monitor" Identifier "dummy_monitor" HorizSync 5.0 - 1000.0 VertRefresh 5.0 - 200.0 Modeline "1280x720" 27.41 1280 1312 1416 1448 720 737 740 757 EndSection Section "Screen" Identifier "dummy_screen" Device "dummy_videocard" Monitor "dummy_monitor" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1280x720" Virtual 8192 4096 EndSubSection EndSection Section "ServerLayout" Identifier "dummy_layout" Screen "dummy_screen" InputDevice "dummy_mouse" InputDevice "dummy_keyboard" EndSection