PanelHost guide
Everything you can do with PanelHost, step by step: from turning the server on to publishing your site on your own domain.
- Before you start
- Set up and start the server
- Create a site
- Upload and edit files
- Databases and phpMyAdmin
- WordPress
- Node.js and Python apps
- Publish on the internet
- Manage from your computer
- Backups
- Traffic and limits
- Add-ons: Apache, OpenLiteSpeed and mail
- Always online
- Common problems
Before you start
- Android 8 or later on a 64-bit (arm64) device. No root needed.
- About 400 MB free: the app ships the "engine" (nginx, PHP, MariaDB…) and sets it up the first time.
- When you open it, it asks to show notifications: the server runs in the background and needs a persistent notification.
- It also asks for access to all files: your sites live in the
homefolder of the phone storage, so you can see them over USB or with any file manager.
Set up and start the server
- Open PanelHost and tap Set up engine. It is done once and takes a few seconds.
- Turn on the server switch on the home screen. You will see "Server running" and the services starting.
- Services shows every part (nginx, PHP, MariaDB…) with its status and memory use.
The server puts your sites first: when it starts, it launches the web servers, apps and tunnel first, and then the database and everything else.
Create a site
- Go to Sites and tap New site.
- Type a name (for example
my-site) and pick the port. Sites start at8180; Android reserves 80 and 443. - Choose the web server: nginx (recommended), Apache or OpenLiteSpeed, or a Node.js or Python app.
- Turn on PHP if your site uses it, or tick WordPress to have it installed for you.
Each site opens at http://phone-IP:port from any device on your Wi-Fi. The IP is shown on the home screen.
Upload and edit files
- File manager: on each site page you can create, edit, rename, upload and delete files, and extract ZIP files.
- SFTP: turn on SFTP access for the site and connect with FileZilla or WinSCP to port
2223with the user and password shown on the site page. - Over USB: plug the phone into your computer and copy files into
home/site-name.
If you put pages such as 404.html or 500.html in an errores/ folder, PanelHost uses them as your site's error pages.
Databases and phpMyAdmin
- In Databases create a MariaDB database (MySQL compatible). PanelHost generates the user and password.
- Your programs connect to
localhost, port3307. - Turn on phpMyAdmin to manage it from the browser (port
8101). From a database page you go straight in, without typing the password.
WordPress
- When creating a site, tick WordPress: PanelHost downloads the latest release, creates the database and leaves the installer ready.
- Open dashboard takes you into WordPress without typing the password.
- wp-admin only from the local network: if the site is public, the admin area is blocked from outside your Wi-Fi.
- The page cache (on nginx) serves anonymous visits without running PHP, like LiteSpeed Cache: the site gets much faster.
Node.js and Python apps
- Pick Node.js or Python as the site server and type the start command (for example
npm startorpython app.py). - Your app must listen on the port it receives in the
PORTvariable. - Install dependencies runs
npm installorpip install -r requirements.txt. - Deploy from git: set your repository URL and branch; Deploy now pulls the changes and restarts the app.
- If the app crashes, PanelHost starts it again. Its log is on the site page.
Publish on the internet
Temporary link
On the site page turn on Temporary public link: you get a https://….trycloudflare.com address to show your site to anyone. It changes every time it opens, so use it for testing.
Your own domain
- In the Cloudflare dashboard (Zero Trust › Networks › Tunnels) create a tunnel and copy its token.
- In PanelHost open Tunnel and paste the token (or the install command Cloudflare shows).
- In the Cloudflare tunnel add a Public hostname for each site: your domain pointing to
http://localhost:port.
PanelHost detects which domain each site has and shows it on the site page as "Own domain". One tunnel serves all your domains in the same account.
Manage from your computer
- On the home screen turn on Web admin.
- On the computer open
http://phone-IP:8100. - Tap Scan QR code on the phone and point it at the code on screen, or sign in with the password the app shows.
The web panel does the same as the app: sites, files, databases, backups, traffic, logs… The connection is not encrypted: use it only on your local network.
Backups
- Each backup keeps the site files, its database and its settings.
- They are incremental: the first one is full and the next ones only keep what changed.
- Turn on the daily backup (at 3:30) and choose where to keep them: on the phone, on the SD card or both.
- Restore brings the site back to that moment; what was there is set aside first, just in case.
Traffic and limits
- Traffic shows what each site sends and receives, with a 30-day chart.
- Speed limit: shares at most the Mbit/s you choose among all sites, so the server does not eat your connection.
- Monthly transfer limit per site: when it reaches the GB you set, that site stops answering the internet until the 1st; it keeps working on your local network.
Add-ons: Apache, OpenLiteSpeed and mail
To keep the app smaller, Apache, OpenLiteSpeed and the mail server are not included: you install them separately, only if you use them.
- Download the add-on file on the phone:
- Apache 2.4.69 (1.4 MB)
- OpenLiteSpeed 1.8.4 (17 MB)
- Mail (Stalwart + Roundcube) (57 MB)
- Move it to the
PanelHost/complementosfolder of the phone storage (with a file manager or over USB). - In Services › Add-ons tap Install. PanelHost checks that the file is the original one.
PanelHost can run its own mail server with mailboxes for your domains and webmail (Roundcube, port 8102). PHP's mail() and WordPress send through it. To receive mail from the internet it uses Cloudflare Email Routing with a Worker that delivers it to the phone.
Always online
- Turn on Start when the phone boots so the server starts by itself after a restart.
- Remove the battery restriction for PanelHost (Settings › Battery). On Xiaomi also turn on Autostart (MIUI).
- If Android closes the app, PanelHost opens again by itself within seconds.
Common problems
- It does not open from another device: both must be on the same Wi-Fi. Check the IP on the home screen and that the server is running.
- "Error establishing a database connection" right after starting: wait a few seconds; MariaDB starts after the sites.
- A service shows as Stopped: check the Log; it explains what failed.
- The temporary link stopped working: it changes, that is normal; copy it again from the site page.