Installing Sandstorm on Ubuntu 20.04 – Quick, No‑Fuss Guide
When you finally decide your home server needs an all‑in‑one web app platform, Sandstorm is the answer that won’t turn into a maintenance nightmare. Below is how to get it running on Ubuntu 20.04 in under ten minutes—no extra Docker tricks or obscure repos.
Why install Sandstorm locally?
I once had a friend who tried to host his personal wiki on a hobbyist NAS, hit a dead end with Nginx config, and ended up pulling the whole thing apart after a bad firmware update. Sandstorm sits in one binary, pulls the app bundles it needs, and handles user isolation automatically—so you don’t have to juggle Apache, PHP, or Node for each little project.
1. Update your system
sudo apt update && sudo apt upgrade -y
Skipping this step means the installer will pull older dependencies that might conflict with newer ones; it’s a quick sanity check.
2. Install prerequisites
Sandstorm needs a minimal set of packages: wget, gnupg, and a few libs for its runtime.
sudo apt install -y wget gnupg ca-certificates libnss3
libnss3 is the only one that trips people up; if you miss it, Sandstorm will silently refuse to start.
3. Add the Sandstorm signing key
This guarantees the binary you download hasn’t been tampered with.
wget -qO- https://sandstorm.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/sandstorm.gpg
I’ve seen folks skip this and later get a cryptic “hash mismatch” error during boot—don’t let that happen.
4. Add the Sandstorm repository
echo "deb [signed-by=/usr/share/keyrings/sandstorm.gpg] https://sandstorm.io/apt stable main" | sudo tee /etc/apt/sources.list.d/sandstorm.list
The signed‑by flag is crucial; it tells APT exactly which key to trust for this source.
5. Install Sandstorm
sudo apt update && sudo apt install -y sandstorm
During the install you’ll see a short welcome message and the server will automatically start as a systemd service. If you’re on a fresh machine, there’s no need to configure anything else.
6. Access your new server
Open a browser and go to http://localhost:8080. The first time you hit it, Sandstorm walks you through creating an admin account and choosing whether to expose the service over HTTPS (you’ll want that if anyone will use it from outside your LAN).
Tip: If you’re running this on a headless server, SSH into it and run
sudo systemctl status sandstorm
to see if it’s healthy.
7. Install apps from the catalog
Once logged in, click “Add app” and pick from the curated list: Nextcloud, Jitsi, Todoist clone, etc. Sandstorm pulls each bundle automatically—no more manual git clone or pip install.
Common hiccups
- “Permission denied while writing to /usr/bin/sandstorm” – make sure you’re running sudo apt install as root; the package script writes a wrapper in /usr/bin.
- “Sandboxed app failed to launch” – some older apps haven’t been updated for Ubuntu 20.04’s glibc. Skip those or look for forks that target newer libraries.
That’s it. You now have a self‑contained web‑app platform on your Ubuntu 20.04 box, ready to host everything from personal notes to small team tools—no extra configuration required.