If you are running a kiosk or single user machine, then you can use the localhost and ::kiosk service ports. The localhost service port is used to query the software on the machine and is accessible directly from the browser. Further, you will not have to expose your applications over a public IP address for users who are accessing your machines remotely. In this blog, we will show how to create a basic kiosk server using Ubuntu 18.04 LTS, NGINX web server, Let’s Encrypt SSL certificate authority and PostgreSQL database. Kiosk servers help users access specific features of an organization’s website or software application through secure means such as URLs that only they can access. A typical example of a kiosk is when customers at an airport need to make payments using their airline miles before they can check in for their next travel destination.
Autolaunch a kiosk app on Chrome devices
In order to get started with a kiosk app, you will first need to create an instance of the kiosk server. To do this, we recommend that you install and configure NGINX web server with Let’s Encrypt SSL certificate authority. Once your instance is up and running, you can then use Chrome Webstore to autolaunch an app on your kiosks.
Let a kiosk app control the Chrome version
Let’s start by creating a simple kiosk app using the Node.js framework. Inside of your kiosk app, you need to create a function that can be called when the kiosk is started and stop the function when it is closed. The following code will do this: let Kiosk = { start() { }, stop() { } } function startKiosk() { Kiosk.start(); } function stopKiosk() { Kiosk.stop(); }
Step 1: Set the OS version in the kiosk app’s manifest file
To set the OS version in the kiosk app’s manifest file, you can follow these steps:
- Open the manifest file for your kiosk app. This file is typically named “manifest.json” and is located in the root directory of your app.
- Add a new key-value pair to the file, where the key is “minimum_chrome_version” and the value is the minimum version of the Chrome OS that your app requires. For example:
"minimum_chrome_version": "92.0.4515.107"
3. To ensure that the modifications take effect, save the manifest file and reload your kiosk app.
Setting the minimum Chrome OS version in your app’s manifest file ensures that your app is only compatible with operating system versions that you have tested and verified. This can aid in the prevention of compatibility issues and the overall stability of your kiosk app.
Step 2: Let the kiosk app control the Chrome version
on the kiosk Chrome kiosks can be controlled by app extensions. To install an extension to control the Chrome version on your kiosk, you will need to create a new app using the Google Developer Console. From this console, you can also create an SSL certificate for your kiosk. You will also need to configure NGINX web server as a reverse proxy in order to allow users access to the application from their browser without exposing the application over a public IP address. Once configured, you have a secure channel through which users are able to access your application. We hope that this guide helps you with setting up and configuring your own kiosk server!
Step 3 : Verify policies are applied
After installing NGINX, you will need to start the server using the following command :
sudo systemctl start nginx.service
You should see an output similar to the following:
Starting NGINX
[ OK ] Starting nginx.service…
…and you should be able to go to http://localhost/ and see a page that says NGINX is running!
If you want to check your NGINX logs, run the following command:
sudo journalctl -u nginx.service
If you want to enable SSL for your kiosk server, use these commands: sudo ln -s /etc/letsencrypt/live/hostname.com/etc/letsencrypt-auto.conf /etc/nginx/sites-available/, then restart nginx with this command: sudo systemctl restart nginx.service If you want to proceed with creating a kiosk user, please visit our website http://www.cannonballtech.com
Common scenarios
The general configuration is the same for all kiosk servers:
Kiosk servers are typically used in one of two scenarios:
-For point of sale (POS) machines that need to be accessed remotely by authorized users while they are physically present at a specific location. For example, an airport kiosk where travelers can pay their airline fees using their airline miles before they check in for their next travel destination.
-For single online or offline application access via network-connected kiosks and single user machines that are available over the internet. For example, when organizations decide to provide single user access to their applications on a secure web page only accessible to authorized users and/or remote locations such as branches of a large organization.
Conclusion
The localhost 1000 kiosk service is a way to launch Chrome apps in kiosks. It’s a simple, one-step process that can be done through an action on your app’s manifest file.