Repository navigation
Self Hosting
Run your own Whittle server to use it from any browser on several computers, or to share it with family, a team or a classroom. Each person gets their own design library with full version history.
whittle-server is one small program with no dependencies. All modelling runs in the browser, so the server needs very little: a Raspberry Pi 4, a 1-CPU LXC container or a small VM with 512 MB of RAM is plenty.
Just want to use Whittle on your own computer? You don't need a server. Install the desktop app.
On the machine or inside the container, as root or a user with sudo:
curl -fsSL https://raw.githubusercontent.com/anand34577/whittle/main/install.sh | sh -s -- --serverThen open http://<server-address>:8080/ and create the first account. The first account becomes the administrator.
That's it. The installer:
- downloads the right build for your processor (x86_64 or arm64/aarch64) and checks its checksum,
- creates a
whittlesystem user, - installs the program to
/opt/whittle, keeps data in/var/lib/whittle, and writes settings to/etc/whittle/whittle.env, - starts it as a systemd service (Debian, Ubuntu, Fedora…) or an OpenRC service (Alpine), so it runs at boot.
Works on any distribution: the builds are static, so even Alpine and old releases are fine. Needs curl and tar.
Prefer Docker? See Docker.
ARCH=$(uname -m) # x86_64 or aarch64
VERSION=0.2.0 # see https://github.com/anand34577/whittle/releases
curl -LO https://github.com/anand34577/whittle/releases/download/v$VERSION/whittle-server-$VERSION-linux-$ARCH.tar.gz
tar xzf whittle-server-$VERSION-linux-$ARCH.tar.gz
cd whittle-server-$VERSION-linux-$ARCH
sudo ./deploy/install.sh- Choose how people sign in. By default it's username and password, and only an administrator can add people. Options: let anyone sign up, use single sign-on, or turn sign-in off for a trusted home network. See Configuration and Single Sign-On.
- Add HTTPS if it's reachable from outside your home or office: HTTPS and Reverse Proxy.
- Add people: Users and Administration.
- Set up backups: Backups and Upgrades.
| systemd | OpenRC (Alpine) | |
|---|---|---|
| Status | systemctl status whittle |
rc-service whittle status |
| Logs | journalctl -u whittle -f |
tail -f /var/log/whittle.log |
| Restart after changing settings | sudo systemctl restart whittle |
sudo rc-service whittle restart |
| Edit settings | sudo nano /etc/whittle/whittle.env |
same |
Check it's alive: curl http://localhost:8080/api/health
- Create an unprivileged container from a Debian 12, Ubuntu 24.04 or Alpine template. 1 CPU, 512 MB RAM and 4 GB of disk is plenty for a small team (designs are usually well under 1 MB each).
- Start it, open its console, and install
curlif the template lacks it:apt update && apt install -y curl(Alpine:apk add curl). - Run the one-line server install above.
- Open
http://<container-ip>:8080/.
Notes:
- The service starts without systemd's sandboxing options so it works in unprivileged containers. If your container has nesting enabled, or you run on a VM, you can uncomment the
Protect*lines in/etc/systemd/system/whittle.servicefor extra isolation, thensystemctl daemon-reload && systemctl restart whittle. - Proxmox backups of the container include
/var/lib/whittle, which holds everything (with PostgreSQL, back up the database too). - Both x86_64 and ARM64 hosts (for example Proxmox on a Raspberry Pi or Ampere server) are supported.
- Sign-in your way: local accounts, single sign-on (OIDC), both, or none.
- A design library per person, with thumbnails and search.
- Version history: every save is kept (the newest 50 per design by default). Restoring adds a new version, so nothing is lost.
- Safe saving: if a design was saved from another tab or computer meanwhile, you're asked before anything is overwritten.
- SQLite by default (nothing to set up) or PostgreSQL.
- Admin tools in the app and on the command line.
- Secure by default: Argon2id passwords, HttpOnly SameSite cookies (Secure behind HTTPS), lockout after repeated failed sign-ins, CSRF protection, a strict Content-Security-Policy, and isolated per-user storage.
The server is built for Linux. On Windows or macOS, run it with Docker (Docker Desktop), or build it from source: it compiles and runs there too.
Download · Source code · Report a problem · Whittle is open source under the MPL-2.0 license.
Install
Use
- Getting Started
- The Interface
- Sketching
- 3D Features
- Parts and Templates
- Parameters and Formulas
- Timeline and Selection
- Measure, View, Appearance
- Files, Import, Export
- Version History
- Errors and Warnings
- Keyboard Shortcuts
Self-host
- Self-Hosting
- Docker
- Configuration
- Single Sign-On
- HTTPS and Reverse Proxy
- Users and Administration
- Backups and Upgrades
Help