Skip to main content

TSE server setup

Host system setup

install debian stable on the server that hosts the TSE USB sticks

create tse user

centos7 requires cgroupsv1:

/etc/default/grub:

GRUB_CMDLINE_LINUX_DEFAULT="quiet systemd.unified_cgroup_hierarchy=false"

as root:

apt install snapd
snap install core
snap install lxd --channel 5.0/stable
snap set lxd lvm.external=true
/snap/bin/lxd init --preseed <<- EOF
config: {}
networks:
- config:
ipv4.address: auto
ipv6.address: auto
description: ""
name: lxdbr0
type: ""
project: default
storage_pools:
- config: {}
description: ""
name: default
driver: dir
profiles:
- config: {}
description: ""
devices:
eth0:
name: eth0
network: lxdbr0
type: nic
root:
path: /
pool: default
type: disk
name: default
projects: []
cluster: null
EOF
gpasswd -a tse lxd

Container setup

perform once for each USB stick

as user:

lxc launch images:centos/7 tse1

download tse webservice RPM file

Find path of first TSE in /dev/serial/by-path/

lxc 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
lxc config device add tse1 dieboldjson proxy listen=tcp:0.0.0.0:10001 connect=tcp:127.0.0.1:10001
lxc file push dn-tse-webservice-1.19.2-9.x86_64.rpm tse1/tmp/tse-webservice.rpm
lxc exec tse1 yum install /tmp/tse-webservice.rpm
lxc config set tse1 boot.autostart true

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
lxc exec systemctl enable --now dntse.service

visit http://IP:10001/ for web interface