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
Step 1 — Install Termux
Download and install Termux from F-Droid. Open it and install Node.js:
pkg update && pkg upgrade -y pkg install nodejs curl unzip -y
Verify Node.js is installed:
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:
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:
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
ubuntuplayCLI command
Step 3 — Run Setup
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:
School name and country
Hub URL — enter
https://ubuntuplay.fly.devConnection token — a one-time code from your hub administrator. Get this from your organisation portal or the hub admin.
Data sharing consent — agree to send anonymised learning data to the hub
Step 4 — Start a Session
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:
Go to Android Settings → Hotspot & Tethering → Enable WiFi Hotspot
Students connect to the hotspot (named something like
AndroidAPor your phone name)Students open any browser and go to the IP address shown on your screen, e.g.
http://192.168.43.1:3000/play
Available Commands
| Command | What it does |
|---|---|
ubuntuplay setup | First-time setup wizard — connect to hub |
ubuntuplay start | Start the classroom server |
ubuntuplay stop | Stop the server |
ubuntuplay status | Check if server is running |
ubuntuplay sync | Manually sync data to hub |
ubuntuplay update | Update to latest version |
ubuntuplay logs | Start 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 →.