How-to: Veyon Proxy - App-Settings, Configure & UCRV

How to:

In this article, I would like to show how to set App-Settings and UCR Variables for the Veyon Proxy.

The following changes have been made with the new release of Veyon Proxy 4.9.0.8-ucs1 and other updates for ucs@school:

6.4.4. Konfiguration der App UCS@school Veyon Proxy

Changelog - Released on 2024-10-01

Changelog - Released on 2024-09-19

The Way via UMC & Appcenter

App-Settings for Veyon

Connect as Administrator to the school system, in my Case this is the mejneschool2 and use the way UMC/ Appcenter/Veyon Proxy/Manage Installation to choose your school system, then you could check more and will get to the App-Settings.
1.
Screenshot from 2024-10-04 11-27-30
2.
Screenshot from 2024-10-04 11-28-00
3.
Screenshot from 2024-10-04 11-28-20
4.
Screenshot from 2024-10-04 11-29-00
5.
Screenshot from 2024-10-04 11-31-34


The way via docker tools

Configure with univention-app

It is also possible to make the settings directly using the docker tools supplied and our wrapper.

Here is the help output of the command:

root@mejneschool2:~# univention-app configure ucsschool-veyon-proxy --help
usage: univention-app configure [-h] app [--list]
                                [--set KEY=VALUE [KEY=VALUE ...]]
                                [--unset KEY [KEY ...]]
                                [--run-script {settings,install,upgrade,remove,no}]
                                [--autostart {yes,manually,no}]Configure an app

positional arguments:
  app                   The ID of the App that shall be configured

optional arguments:
  -h, --help            show this help message and exit
  --list                List all configuration options as well as their
                        current values
  --set KEY=VALUE [KEY=VALUE ...]
                        Sets the configuration variable. Example: --set
                        some/variable=value some/other/variable="value 2"
  --unset KEY [KEY ...]
                        Unsets the configuration variable. Example: --unset
                        some/variable
  --run-script {settings,install,upgrade,remove,no}
                        Run configuration script to support a specific action
                        - or not at all. Default: settings
  --autostart {yes,manually,no}
                        Sets the autostart mode for the app: yes=App starts
                        when the host starts; manually=App starts when
                        manually started; no=App will never start

As an example, we now set the following value:

root@mejneschool2:~# univention-app configure ucsschool-veyon-proxy --set veyon/Core/ComputerStatePollingInterval=10000
Configuring ucsschool-veyon-proxy=4.9.0.8-ucs1
Setting veyon/Core/ComputerStatePollingInterval to '10000'
Restarting docker-app-ucsschool-veyon-proxy (via systemctl): docker-app-ucsschool-veyon-proxy.service.
Executing interface configure for ucsschool-veyon-proxy
No interface defined

You could check the settings with the list parameter:

root@mejneschool2:~# univention-app configure ucsschool-veyon-proxy --list
veyon/WebAPI/ConnectionLimit: 5000 (Maximum number of connections for the veyon WebAPI)
veyon/WebAPI/ConnectionIdleTimeout: 60 (Sets timeout for idling connections, in seconds. Reducing this value can help to avoid unnecessary VNC connections between the proxy and the Windows clients.)
veyon/Core/ComputerStatePollingInterval: 10000 (Polling interval for state changes in milliseconds)
veyon/Master/ComputerMonitoringUpdateInterval: 10000 (Update interval for the created thumbnail in milliseconds.)
veyon/Master/ComputerMonitoringImageQuality: 4 (Sets the image quality value 0 (highest) to 4 (lowest).)

The way via Univention-Config-Registry Variable

Set the UCR Variable to the value you need

It is possible to carry out the desired values by adjusting and setting UCR.

Here is the help output of the command:

root@mejneschool2:~# ucr --help

univention-config-registry: base configuration for UCS
copyright (c) 2001-2024 Univention GmbH, Germany

Syntax:
  univention-config-registry [options] <action> [options] [parameters]

Options:

  -h | --help | -?:  
    print this usage message and exit program

  --version | -v:
    print version information and exit program

  --shell (valid actions: dump, search):
    convert key/value pair into shell compatible format, e.g.
    `version/version: 1.0` => `version_version="1.0"`

  --keys-only (valid actions: dump, search):
    print only the keys

Actions:
  set [--force|--schedule|--ldap-policy] [--ignore-check] <key>=<value> [... <key>=<value>]:
    set one or more keys to specified values; if a key is non-existent
    in the configuration registry it will be created
    --ignore-check: ignore check if given value is compatible with type of the key

  get <key>:
    retrieve the value of the specified key from the configuration
    database

  unset [--force|--schedule|--ldap-policy] <key> [... <key>]:
    remove one or more keys (and its associated values) from
    configuration database

  dump:
    display all key/value pairs which are stored in the
    configuration database

search [--key|--value|--all] [--category <category>] [--brief|-verbose] \
          [--non-empty] [... <regex>]:
    displays all key/value pairs and their descriptions that match at
    least one of the given regular expressions
    --key: only search the keys (default)
    --value: only search the values
    --all: search keys, values and descriptions
    --category: limit search to variables of <category>
    --brief: don't print descriptions (default controlled via ucr/output/brief)
    --verbose: also print category for each variable
    --non-empty: only search in non-empty variables
    no <regex> given: display all variables

  info <key> [... <key>]:
    display verbose information for the specified variable(s)

  shell [key]:
    convert key/value pair into shell compatible format, e.g.
    `version/version: 1.0` => `version_version="1.0"`
    (deprecated: use --shell dump instead)

  commit [file1 ...]:
    rebuild configuration file from univention template; if
    no file is specified ALL configuration files are rebuilt

  filter [file]:
    evaluate a template file, expects Python inline code in UTF-8 or US-ASCII

Description:
  univention-config-registry is a tool to handle the basic configuration for
  Univention Corporate Server (UCS)

As an example, we now set the following value:

root@mejneschool2:~# ucr set veyon/Core/ComputerStatePollingInterval=1000
Setting veyon/Core/ComputerStatePollingInterval

Check the settings with the list parameter:

root@mejneschool2:~# univention-app configure ucsschool-veyon-proxy --list
veyon/WebAPI/ConnectionLimit: 5000 (Maximum number of connections for the veyon WebAPI)
veyon/WebAPI/ConnectionIdleTimeout: 60 (Sets timeout for idling connections, in seconds. Reducing this value can help to avoid unnecessary VNC connections between the proxy and the Windows clients.)
veyon/Core/ComputerStatePollingInterval: 1000 (Polling interval for state changes in milliseconds)
veyon/Master/ComputerMonitoringUpdateInterval: 10000 (Update interval for the created thumbnail in milliseconds.)
veyon/Master/ComputerMonitoringImageQuality: 4 (Sets the image quality value 0 (highest) to 4 (lowest).)

or

root@mejneschool2:~# ucr set veyon/WebAPI/ConnectionLimit=2500
Setting veyon/WebAPI/ConnectionLimit

Check again the settings with the list parameter:

root@mejneschool2:~# univention-app configure ucsschool-veyon-proxy --list
veyon/WebAPI/ConnectionLimit: 2500 (Maximum number of connections for the veyon WebAPI)
veyon/WebAPI/ConnectionIdleTimeout: 60 (Sets timeout for idling connections, in seconds. Reducing this value can help to avoid unnecessary VNC connections between the proxy and the Windows clients.)
veyon/Core/ComputerStatePollingInterval: 1000 (Polling interval for state changes in milliseconds)
veyon/Master/ComputerMonitoringUpdateInterval: 10000 (Update interval for the created thumbnail in milliseconds.)
veyon/Master/ComputerMonitoringImageQuality: 4 (Sets the image quality value 0 (highest) to 4 (lowest).)

If you decide in favour of the UCR variant, I would recommend restarting the service for Veyon once so that the set values can be adopted and used in a new session.

root@mejneschool2:~# univention-app restart ucsschool-veyon-proxy
Restarting docker-app-ucsschool-veyon-proxy (via systemctl): docker-app-ucsschool-veyon-proxy.service.
root@mejneschool2:~# univention-app status ucsschool-veyon-proxy
â—Ź docker-app-ucsschool-veyon-proxy.service - LSB: Start the Container for ucsschool-veyon-proxy
   Loaded: loaded (/etc/init.d/docker-app-ucsschool-veyon-proxy; generated)
   Active: active (exited) since Fri 2024-10-04 13:19:33 CEST; 28s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 11621 ExecStart=/etc/init.d/docker-app-ucsschool-veyon-proxy start (code=exited, status=0/SUCCESS)

Okt 04 13:19:28 mejneschool2 systemd[1]: Starting LSB: Start the Container for ucsschool-veyon-proxy...
Okt 04 13:19:33 mejneschool2 docker-app-ucsschool-veyon-proxy[11621]: Starting ucsschool-veyon-proxy Container 9ca2b90ee4278cda9508a4a154293caf601ffc85477743fec2ca4c2c72c73a12 ....
Okt 04 13:19:33 mejneschool2 systemd[1]: Started LSB: Start the Container for ucsschool-veyon-proxy.

See also:

1 Like
Mastodon