Need Completed in 1 hour - Ubuntu Kiosk Creation with Atera Integration
Budget: $30 – $250 USD
Project Title
**Automated Ubuntu Kiosk Image with Atera Agent and Chromium URL Launcher**
---
## Project Overview
We need a fully automated and scalable solution to create a bootable Ubuntu image that:
* Automatically logs in as a restricted user
* Auto-registers to Atera under a specific customer ID
* Fetches a dynamic URL from Atera custom fields
* Appends the device’s serial number as a terminal ID
* Launches Chromium in full-screen kiosk mode
* Falls back to a default URL if the custom field isn't available yet
* Applies Purely IT branding to the boot splash
* Requires zero-touch on future deployments
This image will be replicated to hundreds or thousands of machines, so it must be clean, repeatable, and resilient.
---
## Required Tasks
### 1. Base OS Setup
* Use Ubuntu Desktop 22.04 LTS or newer
* Install and configure:
* `lightdm` (as the display manager)
* `chromium-browser`
* `curl`, `jq`, `dmidecode`, `plymouth`, `plymouth-themes`
* Remove unnecessary GUI bloat
### 2. User Setup
* Create user `kioskuser`
* No password prompt
* Add to `sudo` group
* Configure LightDM for automatic login as `kioskuser`
* Disable screen locking, sleep, and screen saver for `kioskuser`
### 3. Atera Agent Installation and Customization
* Auto-install Atera agent at boot:
* Use installer URL with predefined customer ID
* Set the device hostname and Atera agent name to the system's serial number
* Ensure the device appears in the Atera portal under the correct customer
### 4. Boot Branding
* Create a custom Plymouth splash theme with:
* Black background
* Blue text: "This is a monitored PC by Purely IT LLC for RadSoftware."
* Company logo from: [https://purely.it/wp-content/uploads/2020/10/PurelyITLogo-e1603408518199.png](https://purely.it/wp-content/uploads/2020/10/PurelyITLogo-e1603408518199.png)
* Set this theme as the default
* Update initramfs to apply the splash
### 5. Chromium Kiosk Launcher
* Create a script to read the kiosk URL from a file and launch Chromium with these flags:
```
--kiosk --no-first-run --disable-session-crashed-bubble --disable-infobars --disable-translate --start-fullscreen
```
* Run Chromium as `kioskuser` in full screen on login
### 6. Atera URL Fetch Script
* Write a root-owned script that:
* Uses the system's serial number to find the Atera agent via API
* Pulls the custom field `KioskURL`
* Appends `?terminalId=<serial>` to the field’s value
* Writes the final URL to `/etc/kiosk-url.txt`
* Falls back to `https://purely.it/new-device/` if the field is missing
* Logs to `/var/log/kiosk-url-refresh.log`
* Run this script via a systemd service at boot
* Ensure the script does not block or hang the system if the Atera API is slow
### 7. Autostart Chromium for Kioskuser
* Create a systemd user service or autostart `.desktop` file for `kioskuser` that runs the Chromium launch script
* Ensure it starts after login and uses the URL in `/etc/kiosk-url.txt`
### 8. Final Image Preparation
* Prepare a bootable image of the configured system
* Either:
* Export a `.iso` or `.img` for USB flashing
* Or provide instructions to replicate the system using `dd` or another method
---
## Credentials and Constants
You will be provided:
* Atera API Key
* Customer ID: 17
* Atera Custom Field Name: `KioskURL`
---
## Deliverables
* Working Ubuntu script bundle:
* Atera agent installer and setup
* Chromium kiosk launcher
* URL fetcher and services
* Boot branding configuration
* A bootable Ubuntu image that can be flashed to USB
* Documentation:
* How to test on a new system
* How to replicate or update
* How to troubleshoot agent or URL fetch issues
**Automated Ubuntu Kiosk Image with Atera Agent and Chromium URL Launcher**
---
## Project Overview
We need a fully automated and scalable solution to create a bootable Ubuntu image that:
* Automatically logs in as a restricted user
* Auto-registers to Atera under a specific customer ID
* Fetches a dynamic URL from Atera custom fields
* Appends the device’s serial number as a terminal ID
* Launches Chromium in full-screen kiosk mode
* Falls back to a default URL if the custom field isn't available yet
* Applies Purely IT branding to the boot splash
* Requires zero-touch on future deployments
This image will be replicated to hundreds or thousands of machines, so it must be clean, repeatable, and resilient.
---
## Required Tasks
### 1. Base OS Setup
* Use Ubuntu Desktop 22.04 LTS or newer
* Install and configure:
* `lightdm` (as the display manager)
* `chromium-browser`
* `curl`, `jq`, `dmidecode`, `plymouth`, `plymouth-themes`
* Remove unnecessary GUI bloat
### 2. User Setup
* Create user `kioskuser`
* No password prompt
* Add to `sudo` group
* Configure LightDM for automatic login as `kioskuser`
* Disable screen locking, sleep, and screen saver for `kioskuser`
### 3. Atera Agent Installation and Customization
* Auto-install Atera agent at boot:
* Use installer URL with predefined customer ID
* Set the device hostname and Atera agent name to the system's serial number
* Ensure the device appears in the Atera portal under the correct customer
### 4. Boot Branding
* Create a custom Plymouth splash theme with:
* Black background
* Blue text: "This is a monitored PC by Purely IT LLC for RadSoftware."
* Company logo from: [https://purely.it/wp-content/uploads/2020/10/PurelyITLogo-e1603408518199.png](https://purely.it/wp-content/uploads/2020/10/PurelyITLogo-e1603408518199.png)
* Set this theme as the default
* Update initramfs to apply the splash
### 5. Chromium Kiosk Launcher
* Create a script to read the kiosk URL from a file and launch Chromium with these flags:
```
--kiosk --no-first-run --disable-session-crashed-bubble --disable-infobars --disable-translate --start-fullscreen
```
* Run Chromium as `kioskuser` in full screen on login
### 6. Atera URL Fetch Script
* Write a root-owned script that:
* Uses the system's serial number to find the Atera agent via API
* Pulls the custom field `KioskURL`
* Appends `?terminalId=<serial>` to the field’s value
* Writes the final URL to `/etc/kiosk-url.txt`
* Falls back to `https://purely.it/new-device/` if the field is missing
* Logs to `/var/log/kiosk-url-refresh.log`
* Run this script via a systemd service at boot
* Ensure the script does not block or hang the system if the Atera API is slow
### 7. Autostart Chromium for Kioskuser
* Create a systemd user service or autostart `.desktop` file for `kioskuser` that runs the Chromium launch script
* Ensure it starts after login and uses the URL in `/etc/kiosk-url.txt`
### 8. Final Image Preparation
* Prepare a bootable image of the configured system
* Either:
* Export a `.iso` or `.img` for USB flashing
* Or provide instructions to replicate the system using `dd` or another method
---
## Credentials and Constants
You will be provided:
* Atera API Key
* Customer ID: 17
* Atera Custom Field Name: `KioskURL`
---
## Deliverables
* Working Ubuntu script bundle:
* Atera agent installer and setup
* Chromium kiosk launcher
* URL fetcher and services
* Boot branding configuration
* A bootable Ubuntu image that can be flashed to USB
* Documentation:
* How to test on a new system
* How to replicate or update
* How to troubleshoot agent or URL fetch issues