serversetup - dl3ebb/OpenIot GitHub Wiki

Management Server

The management server for OpenIot is a central component of your application. If the management server becomes unavailable, all parts of the application that rely on it, such as MQTT, will cease to function.

Ensuring Server Availability

To address this critical dependency, it's essential to plan for the server's high availability before installation. Here's a recommended setup:

1. High Availability (HA):

  • Deploy the management server as an HA application e.g. by using a Proxmox cluster.
  • The cluster should consist of at least three redundant nodes.

2. Geographic Distribution:

  • Place the three nodes in separate physical locations to enhance fault tolerance and resilience.

3. Regular Backups:

  • Perform daily backups of the nodes to ensure data integrity and facilitate recovery in case of failure.

This setup provides a robust and reliable foundation for the management server, ensuring that your OpenIot application remains operational even in the event of hardware or network issue

Server setup

For the following setup, I assume that you are familiar with installing a basic Linux system and navigating the command line with some confidence.

Server Configuration Overview

I use Ubuntu 24.04 LTS Desktop for my management server. The server is equipped with two network interfaces:

  • Primary NIC: Connected to VLAN 103 (my IoT network).
  • Secondary NIC: Connected to the DMZ.

The server runs on a Proxmox cluster with the following specifications:

  • 4 CPU cores
  • 16 GB RAM
  • Storage:
    • 100 GB disk for all programs (local SSD storage on the server).
    • 1 TB disk for historical data used for visualization (mounted via SMB).

Why SMB?

The SMB protocol is chosen to facilitate data exchange with Windows clients in the network. If Windows compatibility isn't required, you can:

  • Use NFS for the NAS.
  • Store the files locally on the cluster if the cluster's configuration supports it.

Installation Plan

The server installation is divided into multiple steps to ensure clarity and reproducibility. Here we go :

Setup VM under Proxmox (Optional)

Install Ubuntu 24.04 LTS Desktop

Prepare Server

Install Mosquitto

Install Syslog

Install Webupdate