<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to Adventures with CODESYS Virtual Control</title><link href="https://forge.codesys.com/u/hermsen/blog/2024/08/adventures-with-codesys-virtual-control/" rel="alternate"/><link href="https://forge.codesys.com/u/hermsen/blog/2024/08/adventures-with-codesys-virtual-control/feed.atom" rel="self"/><id>https://forge.codesys.com/u/hermsen/blog/2024/08/adventures-with-codesys-virtual-control/</id><updated>2024-08-04T13:58:56.751000Z</updated><subtitle>Recent changes to Adventures with CODESYS Virtual Control</subtitle><entry><title>Adventures with CODESYS Virtual Control</title><link href="https://forge.codesys.com/u/hermsen/blog/2024/08/adventures-with-codesys-virtual-control/" rel="alternate"/><published>2024-08-04T13:58:56.751000Z</published><updated>2024-08-04T13:58:56.751000Z</updated><author><name>hermsen</name><uri>https://forge.codesys.com/u/hermsen/</uri></author><id>https://forge.codesys.com0d0aeaab2f745f8805a91e6d5e195c910d9b3e8c</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hello everyone,&lt;/p&gt;
&lt;p&gt;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.&lt;br/&gt;
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;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;*&lt;/span&gt; ProxMox
    &lt;span class="k"&gt;*&lt;/span&gt; Debian
        &lt;span class="k"&gt;*&lt;/span&gt; SSH access
        &lt;span class="k"&gt;*&lt;/span&gt; Docker
            &lt;span class="k"&gt;*&lt;/span&gt; CODESYS Virtual Control SL Images for edge and control
                &lt;span class="k"&gt;*&lt;/span&gt; vEdge
                &lt;span class="k"&gt;*&lt;/span&gt; vPLC1
                &lt;span class="k"&gt;*&lt;/span&gt; vPLC2
                &lt;span class="k"&gt;*&lt;/span&gt; vPLC3
                &lt;span class="k"&gt;*&lt;/span&gt; etc
        &lt;span class="k"&gt;*&lt;/span&gt; Debian Cockpit
            &lt;span class="k"&gt;*&lt;/span&gt;  Podman App
            &lt;span class="k"&gt;*&lt;/span&gt;  CODESYS License Server SL
            &lt;span class="k"&gt;*&lt;/span&gt;  Various apps to do basic administration on Rocky
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;I also tried the following setup.                &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;*&lt;/span&gt; ProxMox
    &lt;span class="k"&gt;*&lt;/span&gt; Rocky Linux 9
        &lt;span class="k"&gt;*&lt;/span&gt; SSH access
        &lt;span class="k"&gt;*&lt;/span&gt; Podman
            &lt;span class="k"&gt;*&lt;/span&gt; CODESYS Virtual Control SL Images for edge and control
                &lt;span class="k"&gt;*&lt;/span&gt; vEdge
                &lt;span class="k"&gt;*&lt;/span&gt; vPLC1
                &lt;span class="k"&gt;*&lt;/span&gt; vPLC2
                &lt;span class="k"&gt;*&lt;/span&gt; vPLC3
                &lt;span class="k"&gt;*&lt;/span&gt; etc
        &lt;span class="k"&gt;*&lt;/span&gt; Debian Cockpit
            &lt;span class="k"&gt;*&lt;/span&gt;  Podman App
            &lt;span class="k"&gt;*&lt;/span&gt;  CODESYS License Server SL
            &lt;span class="k"&gt;*&lt;/span&gt;  Various apps to do basic administration on Rocky
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;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. &lt;/p&gt;
&lt;p&gt;In conclusion: &lt;br/&gt;
Setting up CODESYS Virtual Control is easy and straightforward.&lt;br/&gt;
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. &lt;/p&gt;&lt;/div&gt;</summary></entry></feed>