LibrePortal
Sponsor
Install

The LibrePortal phone app

Your LibrePortal on an Android phone, with your server's alerts as notifications. Install it, connect it to your server, and turn alerts on in a few minutes. A Preview.

On this page
  1. Install it
  2. Connect it to your server
  3. Your dashboards
  4. The name of your server
  5. Connect by IP address
  6. If Authelia protects your LibrePortal
  7. Get alerts as notifications
  8. Good to know

The newer LibrePortal app, one app for computers and phones, has its own section: see The LibrePortal app. This page covers the Android phone app.

The LibrePortal app is your LibrePortal on your Android phone: your dashboards in one place, the whole WebUI for admins, and something a browser tab can't do. When your server has something to tell you (a failed backup, an update waiting, a service down), it arrives as a normal notification, and tapping it opens the page it's about.

It's a Preview (version 0.x). It's free, open source (AGPL-3.0) and uses no Google services. What it connects to and keeps is on Phone apps and privacy.

Install it#

  1. On your phone, open libreportal.org/download and tap LibrePortal under Phone apps.
  2. Android asks you to allow installs from your browser, the first time. Allow it, then open the file.
  3. Later versions are found by the app itself (Setup, then Check). It checks each download and only installs one signed by the same key.

Connect it to your server#

  1. The quickest way is Connect the app from your server: scan its QR code and you are done (see Connect the app). Or open the app and enter your LibrePortal's address: https://lp.example.org, or on your own network http://192.168.1.10:1111 (your server's address and WebUI port). You can also Scan the QR code from a computer, or Paste.
  2. A plain http:// address shows a warning and an I understand switch. It's fine at home or over your VPN; elsewhere others on the network could see what you do.
  3. Sign in as you normally would. The app keeps you signed in, even after Android closes it, until your server ends the session (signed out, taken over from another device, or idle too long). The app never sees your password.
  4. Add more servers any time: press back on the first page, or long-press the app icon for Servers.

Certificates

The app trusts properly valid certificates: the usual authorities, and any authority you installed on your phone yourself. If your server uses a Local Names certificate, install its certificate authority on your phone (Android settings, Security, Install a certificate) and the app trusts it too. It never clicks through a certificate warning on its own.

Your dashboards#

After you sign in, the app opens on one screen:

  • Admins see an Admin card at the top. It opens the whole LibrePortal WebUI in the app, exactly as before.
  • Under it are the dashboards you may open (Family, and so on). Each is a card with its icon and name. Tap one to open it inside the app.
  • Someone who only has a sign-in (a family member with no WebUI account) sees the same screen without the Admin card: just their dashboards. Give them your WebUI address (for example https://lp.example.org); it sends them to Authelia to sign in, and the app does the rest.

Pull down to refresh the list. With nothing to show yet, the app says so.

The name of your server#

The name in the top bar is your server's Display name, such as "Digital Angels". Set it in Admin → General; it can have spaces and capital letters, and the same name appears in dashboards, alerts and emails. The Server ID below it is the plain lowercase name LibrePortal uses inside itself (for backups and local names); you rarely need to change it. With no display name, the Server ID is shown. A saved server picks up a new name the next time its home screen refreshes. If you gave a server a name of your own on this phone, that one stays.

Who sees which dashboard is up to whoever runs your LibrePortal. Each dashboard has its own Who can open this setting (see Access). With per-person access on, you see the dashboards that name you, a group you are in, or everyone; with it off, everyone who is signed in sees the dashboards made for people (Everyone at home or public), and the ones set up for running the server stay with the admins. A dashboard you may not open is never listed.

Needs a recent LibrePortal

The list comes from your server, so it needs the LibrePortal release after 0.10.9. On an older LibrePortal the app shows just the Admin card, as it always opened, with a note that dashboards aren't listed yet.

Connect by IP address#

Your WebUI's direct address, https://192.168.1.10:1111, uses a certificate your server made for itself, so no authority vouches for it. The app doesn't just refuse it: it shows the certificate's SHA-256 fingerprint and asks. If it matches the fingerprint on your server, tap Trust this server. On the server it is under Admin, System, Admin page certificate, with a Copy button. (On an older LibrePortal, openssl x509 -noout -fingerprint -sha256 -in <your LibrePortal folder>/certs/webui.crt prints it.)

The app then trusts exactly that one certificate, for that one address and nothing else; other sites still need valid certificates. If the server ever shows a different certificate, the app stops, signs you out of that server on the phone and shows the old and new fingerprints in red. Trust the new one only if you know why it changed (for example you renewed it), and then sign in again. A plain http:// address keeps its own warning.

If Authelia protects your LibrePortal#

If your LibrePortal sits behind Authelia, the app shows Authelia's sign-in page first, then the WebUI's own Sign in with Authelia works as in a browser; all of it stays inside the app. The app remembers the sign-in page's address for that server, and its own calls (such as alerts) carry the same session, so the gate lets them through. If the gate asks again (its session ended), open the server in the app and sign in; alerts reconnect on their own.

Get alerts as notifications#

Alerts travel through ntfy, a small free app, using the open UnifiedPush standard. You do this once per phone:

  1. In the LibrePortal app, open Setup and alerts.
  2. Notifications: tap Allow.
  3. ntfy: tap Get ntfy (it opens F-Droid), install it, and open it once.
  4. Come back to Setup. Under Alerts, your server shows Alerts are on after you've signed in to it once.

Which alerts you get follows Admin, Notifications, in the "ntfy" column: if a row sends to ntfy, it also reaches your phone. Owners, and people who can see the Admin system page, get them. Your server only sends to its own ntfy, or the ntfy server set in Notifications; if your ntfy app uses another server, set the app's default server to the address Setup shows (Copy ntfy address).

Needs a recent LibrePortal

Alerts need a LibrePortal version that has the phone-alerts feature (0.10.9 and later). On an older server the app still works as a full-screen WebUI; Setup shows "The server didn't accept this phone" for alerts.

Good to know#

  • Files and camera: upload buttons open Android's file picker. Camera and microphone are only asked for when a page needs them.
  • Downloads go to your Downloads folder.
  • Links to other apps or websites open in your browser; your LibrePortal's own pages stay in the app.
  • Pull down at the top of a page to refresh.
  • To stop alerts: Setup, switch off Alerts from my servers.

Next steps