2.04. Client/Server FAQ
mSupply Server Requirements
OPERATING SYSTEM:
- Windows Server 2019 or above
- Windows 10 Pro can be used on laptop servers at smaller remote sites
MEMORY:
- New mSupply installation: 16GB minimum
- Migration of existing mSupply Server: multiply mSupply datafile size + index-file by 1.5 (e.g. datafile 20GB + index-file 2GB x 1.5 = 33GB RAM min)
PROCESSOR:
- 4 cores minimum
DRIVES:
- Root drive: 100GB min
- Data Backup: 100GB minimum allocated for mSupply backups (preferably on an additional volume rather than on the root drive)
NETWORK:
- Assign a local static IP address to server
BACKUPS:
- We can provide remote daily datafile backups to Backblaze cloud storage. We utilise an application on the server to encrypt all data before sending to the cloud storage so your is safe. This service will require urls to be whitelisted if your server restricts outbound traffic
Port & Firewall Configuration
Central Sync Server
Our standard port configuration for an mSupply sync server (where remote sites need to connect to a central server over internet). Alternative ports can be used if required, for example if TSPlus remote kiosk access is not required then the mSupply web server can be configured to run over port 443
Service | Allow Port | Protocol | Network | Requirement |
---|---|---|---|---|
mSupply Web Server | TCP 2048 | HTTPS | Public | mSupply web server traffic from remote mSupply sync sites |
mSupply Dashboards | TCP 3000 | HTTPS | Public | mSupply Dashboard server traffic (if dashboards are to be accessible from the internet) |
TSPlus Remote Web Kiosk | TCP 443 | HTTPS | Public | if running TSPlus for remote kiosk access to mSupply Client on the server |
SSL renewal | TCP 80 | HTTPS | Public | Required for automatic SSL renewal via ACME http challenge (no other web traffic will use this port) |
mSupply ColdChain API | TCP 8090 | HTTPS | Public | For mSupply ColdChain API (if used) |
mSupply Application Server | TCP 19812, 19813, 19814 | Local | mSupply Client connections to mSupply application server over LAN | |
mSupply broadcast | UDP 49157 to 65535 | Local | mSupply will automatically broadcast on the local network over this UDP port range to find the mSupply server |
mSupply Server (Central or Remote) with no syncing remote sites
All mSupply Client applications connect to the server over the LAN. There are no remote sites that need to sync to the central server.
Service | Allow Port | Protocol | Network | Requirement |
---|---|---|---|---|
mSupply Application Server | TCP 19812, 19813, 19814 | Local | mSupply Client connections to mSupply Server over LAN | |
mSupply Client broadcast | UDP 49157 to 65535 | Local | mSupply Clients will automatically broadcast on the local network over this UDP port range to find the mSupply server |
UDP Ports: If a local static IP address is assigned to the mSupply Server then mSupply Clients can be configured to find the server without needing to open the UDP broadcast ports. This Client configuration is covered in a section below
Separate Dashboard Server Instance
The mSupply Dashboard application uses a PostgreSQL database. It may be advisable to run the Dashboard and Postgres servers together on a separate server instance from the mSupply server so that each instance can be configured specifically for the application that it is running, and so server resources required by Postgres do not interfere with the smooth functioning of mSupply Server.
If mSupply Dashboards and PostgreSQL are running on a separate server instance to the mSupply Server the following configuration will be required for the dashboard server:
Service | Allow Port | Protocol | Network | Requirement |
---|---|---|---|---|
PostgreSQL | TCP 5432 | Local | export of data from the mSupply db to the Postgres dashboard db | |
mSupply Dashboards | TCP 3000 | HTTPS | Public | mSupply Dashboard server traffic (if dashboards are to be accessible from the internet) |
mSupply Client Requirements & Configuration
OPERATING SYSTEM:
- Windows 10 64 Bit
MEMORY:
- 4GB minimum, 8GB recommended
If the UPD ports on the server are not open, or the mSupply Clients are on a separate subnet to the mSupply Server, then the Clients will not automatically find the Server. In this case the Server will require a static local IP address (which is good practice either way).
There are two methods to direct mSupply Clients to the IP address of the mSupply server:
1) Client configuration file
After mSupply Client has been installed edit the EnginedServer.4Dlink found at this path C:\mSupply client\Database using notepad. Replace <SERVER IP ADDRESS> in the code below with the Server IP. This same edited file can then be deployed to the client database folder of all the mSupply Client installations on this LAN.
<?xml version="1.0" encoding="UTF-8"?><database_shortcut is_remote="true" server_database_name="mSupply" server_path="<SERVER IP ADDRESS>:19813" cache_folder_name="mSupplyClient"/>
2) Client Server Connection Window
- Double click on the mSupply client icon but hold down the alt key just after double clicking (This will open Connection to 4D Server window)
- Go to the 'Custom' tab as per the screenshot attached
- In project name field enter mSupply
- In the Network address field enter the server ip address
- Click OK (if Client successfully connects the connection config will be saved and this process will not need to be repeated)
Standard Sync or Mirror Sync?
For more information on both our standard sync and mirror sync setups please see this page of our docs