OE3BLC
ModBus TCP Proxy in Proxmox
Installation eines ModBus TCP Proxy in einem Proxmox LXC Container.
LXC einrichten

Erstellen eines neuen LXC Containers. Button "Create CT".

Hostname beliebig
Passwort beliebig
Template alpine-3.23-default_20260116_amd64.tar.xz   oder höher bzw. entsprechend der verhandenen Hardware
Disc size 0.1 GiB
CPU Cores 1
Memory 32 MiB   für Update und Installation; kann im Betrieb auf 16 MiB reduziert werden
Swap 32 MiB
ModBus-Proxy installieren

Neuen LXC Container starten und Console öffnen.

apk update   VM aktualisieren
apk upgrade
apk add python3   Python installieren
apk add py3-pip   pip installieren
pip install modbus-proxy[yaml] --break-system-packages   ModBus-Proxy installieren
ModBus-Proxy konfigurieren

ModBus-Proxy konfigurieren und automatisch starten.

Konfigurationsdatei erstellen:
vi modbus-config.yml
devices:
- modbus:
    url: 192.168.1.175:1502
  listen:
    bind: 0:1502
- modbus:
    url: 192.168.1.176:502
  listen:
    bind: 0:502

Parameter entsprechend der lokalen Gegebenheiten anpassen.


Startscript erstellen:
vi /etc/local.d/modbus-proxy.start
#!/bin/sh
modbus-proxy -c /root/modbus-config.yml > /root/_modbus-proxy.log 2>&1 &
exit 0

Das & am Ende der zweiten Zeile nicht vergessen, sonst bleibt der Container beim Booten hängen und man kann sich nicht mehr zur Console verbinden!


ModBus-Proxy automatisch starten:
chmod +x /etc/local.d/modbus-proxy.start   Startscript ausführbar machen
rc-update add local default   Startservice aktivieren
Abschluss

Container neu starten.
Für den laufenden Betrieb sollten 16 MiB Memory ausreichen.

Links
GitHub tiagocoutinho/modbus-proxy