Adventures with CODESYS Virtual Control

Hello everyone,

Having a homelab is certainly fun and educational. Especially since CODESYS launched their Virtual Control SL for the masses. CODESYS Virtual Control SL is the "CODESYS Linux SL Runtime" shipped in a prefab Container Image for use with either Docker and/or Podman. The container is available in 4 CPU flavours: x86/AMD64 and ARM32/64.
I run a HP DL360 Gen9 server with 96GB RAM in my homelab. I installed Proxmox as main OS (bare metal) in which I installed Debian and Docker to deploy the x86/AMD64 Virtual Control SL into like this;

* ProxMox
    * Debian
        * SSH access
        * Docker
            * CODESYS Virtual Control SL Images for edge and control
                * vEdge
                * vPLC1
                * vPLC2
                * vPLC3
                * etc
        * Debian Cockpit
            *  Podman App
            *  CODESYS License Server SL
            *  Various apps to do basic administration on Rocky

I also tried the following setup.

* ProxMox
    * Rocky Linux 9
        * SSH access
        * Podman
            * CODESYS Virtual Control SL Images for edge and control
                * vEdge
                * vPLC1
                * vPLC2
                * vPLC3
                * etc
        * Debian Cockpit
            *  Podman App
            *  CODESYS License Server SL
            *  Various apps to do basic administration on Rocky

As Docker and Podman are interchangable, one could replace Docker for Podman anytime. Keep in mind: Docker uses a daemon, an ongoing program running in the background, to create images and run containers. Podman has a daemon-less architecture which means it can run containers under the user starting the container. This is preferred from a security point of view. I personally prefer Rocky Linux over Debian due to its improved stability and Podman over Docker due to its security.

In conclusion:
Setting up CODESYS Virtual Control is easy and straightforward.
Hosting it either in the cloud or on-premise is possible. There are many routes you can take; esxi, Proxmox, Kubernetes you name it. Ultimately it depends on the preferences and goals you want to achieve.

Posted by hermsen 2024-08-04

Log in to post a comment.