Android Installation
Install RTW in Termux on an Android phone or tablet.
Status: available from source. Tested end to end on a Redmi Pad 2 Pro (Android 16): the one-command GitHub install, serving every section (including the 8.4 GB Arabic Wikipedia), copying content from a Mac over USB, other devices opening the library — both on the same Wi-Fi and over the tablet’s own hotspot — and downloading knowledge packs directly on the tablet with rtw fetch. Please report what works on your device.
RTW runs inside Termux, a terminal app for Android. There is no root, no custom firmware and no separate RTW app.
Requirements
- A 64-bit ARM device (
arm64-v8a) - Termux. The F-Droid / GitHub build supports Android 7 and newer. The Google Play build we tested requires Android 12L or newer.
- Free storage for content
- About 4 GB of RAM or more is comfortable
Install from GitHub (no computer)
Open Termux and run:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/eslam-mahmoud/reinvent-the-wheel/main/bootstrap.sh)"
The installer:
- Asks for storage access — tap Allow. Content lives in the shared
RTWfolder (/sdcard/RTW). - Installs
nginx,kiwix-tools,python,gitand a few utilities withpkg. - Clones the project into
~/rtw. - Downloads the map viewer assets and writes configuration.
- Asks you to choose an admin password.
Then:
rtw start
Install from a Mac over USB
Useful when the device has no internet. With USB debugging enabled and the device connected, on the Mac:
./rtw push
Then in Termux:
termux-setup-storage
bash ~/storage/shared/RTW/_setup/server/install-termux.sh
rtw start
Keep it running
- Battery: Android Settings → Apps → Termux → Battery → No restrictions. Otherwise Android may stop the server in the background.
rtw starttakes a Termux wakelock.- Start on boot requires the separate Termux:Boot add-on, installed from the same source as Termux. The installer already places its boot script.
Share it
Turn on the Android hotspot and give people the address rtw start prints. See Sharing over Local Wi-Fi.
Known limitations
- Ports below 1024 aren’t available without root, so the library uses port
8080(and8443for HTTPS). - External USB storage is not supported yet — see External USB Storage.