Install on Raspberry Pi
A Raspberry Pi makes a perfect little home for InstantIoT Server — it sips power, stays quiet, and runs your IoT setup around the clock. The installer is an arm64 .deb with the server and its own Java runtime bundled in, set up as a background service that starts on every boot.
What you’ll need
- A Raspberry Pi 4 or 5 running Raspberry Pi OS 64-bit (Bookworm or newer)
- A network connection — Wi-Fi or Ethernet
- A way to type commands (a terminal on the Pi, or SSH from your computer)
Older 32-bit boards (Pi 3, Pi Zero) aren’t supported. Not sure? Run
uname -m— if it saysaarch64, you’re good.
Running 24/7? Booting from an SSD over USB lasts far longer than an SD card under constant database writes.
The easy way: one line
Paste this into your Pi’s terminal — it detects the architecture, installs, and starts the server on its own:
curl -fsSL https://raw.githubusercontent.com/jeanloickdt/instantiot-server/main/install.sh | sh
That’s the whole thing. Skip to First login once it finishes.
Like to read a script first? Download it with
curl -fsSL https://raw.githubusercontent.com/jeanloickdt/instantiot-server/main/install.sh -o install.sh, read it withless install.sh, then runsh install.sh.
Prefer to do it step by step?
1. Download
Get the arm64 .deb from the Downloads page.
[image] Downloads page with the Raspberry Pi / ARM64 section highlighted
2. Install
sudo dpkg -i instantiot-server_arm64.deb
It creates a system user instantiot, installs the server under /opt/instantiot-server/, registers the service, and starts it. Check it’s running:
systemctl status instantiot-server
[image] Terminal showing systemctl status — active (running)
3. First launch
The server is already running. The installer prints its address in your terminal — copy it and open it in any browser on your network. From the Pi itself, http://localhost:8080 works too.
[image] Browser opening on the admin login screen
4. First login
Sign in at the admin login screen with:
- Username:
admin - Password:
admin
You’ll set a real password straight away — the default only gets you to the password-change screen. Pick a strong one and you’re at your dashboard.
[image] Admin login screen
Locked out later? On the Pi, run
sudo touch /var/lib/instantiot/.instantiot/reset-adminand restart withsudo systemctl restart instantiot-server. The password goes back toadmin.
5. Connect from the app
Open the InstantIoT app on your phone, on the same Wi-Fi.
Your Pi should appear automatically in the app’s server list — tap it and sign in. If it doesn’t show up, add it by hand: the Pi’s IP (shown on the admin panel’s Overview tab), port 8080, and your new password.
And there you go — your Pi humming away, your phone running the dashboard. 🎉
[image] App connection sheet with server details filled in
Good to know
- Your data lives in
/var/lib/instantiot/.instantiot/— database, backups, config. - Check the logs anytime with
journalctl -u instantiot-server -f. - Phone won’t connect? If your firewall (
ufw) is on, allow the two ports:sudo ufw allow 8080sudo ufw allow 9001
Need more — stopping the service, disabling autostart, port conflicts, running from source? It’s all in Server reference.
Next
→ Admin Panel — tour of the admin panel. → Apps / Server Mode — connect from your phone. → Library / Manage Connections — connect your ESP32 from a sketch.
InstantIoT Server is free and open source under AGPLv3 — see the code.