Skip to main content

Operating Modes: Standalone, Multiuser, and CLI

Standalone mode (desktop application)

The backend is started as a local process when the session starts and stopped when the session ends. It runs with the permissions of the operating system user who started it. There is no additional login in CODESYS 4. On Windows, the entry in the Start menu is used to open the user interface in a separate application window. Alternatively, on both Windows and Linux you could also use the c4-cli standalone-session command to start the session. For a description of the command, see the following: c4-cli standalone-session.

Requirements

Windows

Linux

Windows x64

Debian Linux (x64 and ARM64)

Currently, only Debian is officially supported.

.NET Desktop Runtime and ASP.NET Core Runtime runtime systems in the latest minor version of the 8.0 branch

Debian Linux (x64): The aspnetcore-runtime-8.0 package at the latest patch level;

Runtime system for Debian Linux (ARM64) – see Scripted Install

WebView2 Runtime – available by default in Windows 11 – is required for displaying in a separate application window.

An active graphical interface for starting the interface in the browser

For both operating systems: A CODESYS gateway and a CODESYS runtime system are not included in the setup or in the Debian package. They are installed separately from the CODESYS Store. The requirement is a runtime system CODESYS V3.5 SP16 or higher (no compact runtimes). The gateway and controller must be accessible from the workstation computer.

. Restrictions
  • One user and one port per session. A workspace cannot be edited by multiple users simultaneously in the same session.

  • The standalone mode is restricted to access via localhost.

  • Only gateways which are reachable from the workstation computer can be used. The controller must also be accessible from the gateway.

  • Installation, extensions, library repositories, and device repositories are maintained separately on each workstation. In addition, there are remote repositories (by default for libraries) which are provided via the CODESYS Deployment Server.

  • On Linux, only Debian is officially supported. Running in emulators such as QEMU – also implicitly via Docker Multi-Platform – is currently not supported by .NET.

Multiuser mode (operation as a web server)

The backend runs as a persistent service on a Linux server which is operated via systemd or in a Docker image created by the user. Users use their browsers to gain access via the network and log in with their user accounts of the server. All users get their own sessions, isolated from the other users. Nothing is installed on the end device which makes it possible not only for Windows and Linux computers to be a workstation, but also macOS, for example. The projects are located centrally in the file system of the server, usually in the home directory of each user.

. Requirements
  • Server: Debian Linux (x64 and ARM64). Windows is not supported as a server operating system. The aspnetcore-runtime-8.0 package in the latest patch level and the CODESYS 4 Debian package are required. The service runs under a dedicated system user. For security reasons, c4-server refuses to start as root.

  • User accounts: Each user needs an account on the operating system of the server. The account can be authenticated via password and is a member of the codesys-4 group or a group which has been specified in the --login-groups option at startup. In the Docker container, the accounts must be provided within the container – for example via PAM – and the home directories must be mounted as persistent volumes. For more information, see the following: Preparation: Creating user accounts.

  • Encryption: An upstream reverse proxy – for example, nginx – which handles TLS encryption and forwards WebSocket connections, and a valid TLS certificate or one that is trusted within your organization. For more information, see the following: Pre-positioning a TLS reverse proxy.

  • Controllers: A CODESYS gateway and a CODESYS runtime system from the CODESYS Store, with the following requirements: the gateway must be reachable from the server, and the runtime system must be reachable from the gateway. Alternatively, you could also deploy a local gateway directly on the server.

  • Knowledge: Administration of Linux systems, user management (PAM, LDAP, IPA, etc.), package management on Debian, management of TLS certificates, as well as Docker and nginx if needed.

. Restrictions
  • CODESYS 4 itself does not implement TLS encryption yet. Without an upstream reverse proxy, the user interface will not work when accessing over the network, because it uses browser APIs which are available only in a secure context.

  • The login process relies on the user management of the server operating system. CODESYS 4 does not maintain its own user accounts, roles, or permissions. The version information of the instance can also be called via the /version.json path without logging in.

  • CODESYS 4 is not currently distributed as a Docker image. To run the system in a container, you create a separate image. No support can be provided for the basic use of Docker. For a sample Dockerfile, see the following: Example of a Dockerfile. This is only a sample file which needs to be adapted to your specific requirements.

  • Only Debian is officially supported. Running in emulators such as QEMU – also implicitly via Docker Multi-Platform – is currently not supported by .NET.

Operating mode: c4-cli

This operating mode is available on all platforms, both locally via a terminal and remotely on the server (for example via SSH) or in scripts (for example in CI/CD environments, time-controlled jobs, etc.)