The shop PC
The shop has one PC. It runs the database, the system and the web screens, and its browser is the till. Nothing needs the internet after the install except pulling an update and copying a backup off the premises. After a power cut the till is back as soon as the PC is.
What the PC needs
- A 64-bit PC with 8 GB of memory and an SSD. Ubuntu LTS with Docker Engine is the simplest; Windows works with Docker Desktop.
- A UPS for the PC and the router. Power is the failure that loses the most.
- A USB drive, or a folder that is not on the PC's own disk, for the backup copy.
- A receipt printer on an 80 mm roll, and a barcode scanner if the shop wants one. Both are ordinary USB devices.
- Wi-Fi in the shop if phones and tablets are to open the screens.
The install
Affram Technologies does the install with the shop, in an afternoon. What happens, so the owner knows what is on the machine:
The system's folder
A folder, C:\otcms on Windows or ~/otcms on Linux, holds the configuration and the data. Its .env file carries the database password, the shop's name, the owner's login and which version of the system runs.
The containers
Three services run under Docker: the database (PostgreSQL), the system itself, and the web server that serves the screens. They restart with the PC.
docker compose up -d
docker compose logs -f otcms-api # until "Bootstrapped facility"
First sign-in
On the PC, http://localhost opens the sign-in screen; the owner signs in with the login from .env. From a phone on the shop's Wi-Fi, the PC's address replaces localhost.
The register and the demo
The FDA register loads itself on the first start. A demo shop can be seeded for training and removed before the shop goes live.
Checking it is well
Three commands, from the system's folder:
curl -s http://localhost/actuator/health # {"status":"UP"}
curl -sI http://localhost/ | head -1 # 200, the web shell
docker compose ps # three containers, api healthy
If the till will not open, the order to check is: the PC is on, Docker is running, the three containers are up. Then the browser.
What stays with Affram
The system's images are built and scanned in our pipeline and published to a registry the PC reads from with a token that can only read. The version the shop runs is pinned by digest in .env, so an update is a deliberate act, never a surprise. See Backups and updates.