TSE server setup
Host system setup
install debian stable on the server that hosts the TSE USB sticks
create tse user
centos7 requires cgroupsv1, (if you use centos10, this might no longer be required...):
/etc/default/grub:
GRUB_CMDLINE_LINUX_DEFAULT="quiet systemd.unified_cgroup_hierarchy=false"
as root:
apt install incus
incus admin init --preseed <<- EOF
config: {}
networks:
- config:
ipv4.address: auto
ipv6.address: auto
description: ""
name: incusbr0
type: ""
project: default
storage_pools:
- config: {}
description: ""
name: default
driver: dir
profiles:
- config: {}
description: ""
devices:
eth0:
name: eth0
network: incusbr0
type: nic
root:
path: /
pool: default
type: disk
name: default
projects: []
cluster: null
EOF
Container setup
perform once for each USB stick
as user:
incus launch images:centos/10-Stream tse1
incus network set incusbr0 ipv4.address 10.0.0.1/24
download tse webservice RPM file
Find path of first TSE in /dev/serial/by-path/
incus config device add tse1 ttyACM0 unix-char mode=0666 path=/dev/ttyACM0 source=/dev/serial/by-path/pci-0000:00:1d.0-usb-0:1.2:1.0
incus config device override tse1 eth0 ipv4.address=10.0.0.101
incus config device add tse1 dieboldjson proxy listen=tcp:0.0.0.0:10001 connect=tcp:127.0.0.1:10001
incus file push dn-tse-webservice-1.19.2-9.x86_64.rpm tse1/tmp/tse-webservice.rpm
incus exec tse1 rpm -i /tmp/tse-webservice.rpm
incus config set tse1 boot.autostart true
Connecting to container:
incus shell tse1
In container tse1: create /etc/systemd/system/dntse.service
[Unit]
Description=Diebold Nixdorf TSE Websocket
After=network.target
[Service]
ExecStart=/opt/dn/tse/_run.sh
[Install]
WantedBy=multi-user.target
incus exec systemctl enable --now dntse.service
incus exec systemctl start dntse.service
visit http://IP:10001/ for web interface