Docs
search Esc
v10.48.0 AI Integration

Quick Start

Get an AI-powered classroom running UbuntuPlay in under 15 minutes on an Android phone. Access thousands of learning games via the Marketplace and run them entirely offline with the Gogo AI Tutor.

What You Need

  • Android phone (Android 7+, 2GB+ free storage) — this becomes the classroom server
  • Termux installed from F-Droid (not Google Play)
  • A connection token from your hub administrator
  • Internet connection for the initial install only
warning
Use F-Droid, not Google PlayThe Termux version on Google Play is outdated and unsupported. Download from f-droid.org instead.

Step 1 — Install Termux

Download and install Termux from F-Droid. Open it and install Node.js:

BASH
pkg update && pkg upgrade -y
pkg install nodejs curl unzip -y

Verify Node.js is installed:

BASH
node --version
# Should show v18 or higher

Step 2 — Install UbuntuPlay

Choose your install method. The server is a Node.js app that runs on Android via Termux. The APK provides a native Android app experience.

Option A: One-Line Installer (Server)

Run the installer — this downloads the classroom server and sets up the ubuntuplay command:

BASH
curl -fsSL https://ubuntuplay.fly.dev/install.sh | bash

Option B: Android APK (Native App)

Download the Android APK directly and install it on your device:

BASH
curl -fsSL https://ubuntuplay.fly.dev/install.sh | bash -s -- --apk

Or download the APK manually from the Downloads page and transfer it to your Android device. Once installed, the app keeps itself current — it checks the hub for new releases and offers a one-tap Update Now.

The installer will:

  • Download the UbuntuPlay server (~2 MB) or Android APK
  • Install Node.js dependencies (server mode)
  • Create the ubuntuplay CLI command

Step 3 — Run Setup

BASH
ubuntuplay setup

This starts the server and tells you to open:

http://localhost:3000/setup

Open that URL in any browser on the same phone. The setup wizard asks for:

  1. School name and country

  2. Hub URL — enter https://ubuntuplay.fly.dev

  3. Connection token — a one-time code from your hub administrator. Get this from your organisation portal or the hub admin.

  4. Data sharing consent — agree to send anonymised learning data to the hub

lightbulb
Getting a connection tokenIf you manage the hub: go to Hub Admin → Schools → New School → Generate Token. If you belong to an organisation: ask your organisation administrator for a token from the Org Portal → My Schools → Add School.

Step 4 — Start a Session

BASH
ubuntuplay start

UbuntuPlay starts on port 3000 and shows the IP address students should connect to. Enable the phone's WiFi hotspot so students can join:

  1. Go to Android Settings → Hotspot & Tethering → Enable WiFi Hotspot

  2. Students connect to the hotspot (named something like AndroidAP or your phone name)

  3. Students open any browser and go to the IP address shown on your screen, e.g. http://192.168.43.1:3000/play

No app neededStudents use any browser — Chrome, Firefox, built-in browser. No download or account required.

Available Commands

CommandWhat it does
ubuntuplay setupFirst-time setup wizard — connect to hub
ubuntuplay startStart the classroom server
ubuntuplay stopStop the server
ubuntuplay statusCheck if server is running
ubuntuplay syncManually sync data to hub
ubuntuplay updateUpdate to latest version
ubuntuplay logsStart with live log output

Teacher Dashboard

While the server is running, open this on the teacher's phone:

http://localhost:3000/teacher

See live student connections, scores, and session stats.

Headmaster LMS

The same server also hosts the school-management dashboard at http://localhost:3000/lms — learner enrollment, QR/NFC attendance check-in, printable student ID cards, announcements, terms, and whole-school reports. See Headmaster LMS →.