Linux · headless / server
Install the backend on a box with no desktop — a home server, a NAS, a Raspberry Pi — and reach the writing UI from any browser on your network. A tarball plus a one-command systemd installer.
On ARM64 (e.g. a Raspberry Pi), use the arm64 server build.
The server binds to your whole network (0.0.0.0) so other machines can reach it, and it has no login. Anyone who can reach the box can open your projects.
Only run it this way on a private network you trust, for a single trusted user. Don’t expose the port to the public internet.
/opt/local-writing-app, sets up a systemd service that starts on boot, and runs it as your user (not root):tar -xzf local-writing-app-linux-x64-server.tar.gz cd local-writing-app-linux-x64-server sudo ./install-server.sh
On ARM64 (e.g. a Raspberry Pi), replace x64 with arm64 in both commands.
When it finishes, it prints the LAN address to open, e.g. http://192.168.1.20:8787. For a different port, run the installer as LWA_PORT=9000 sudo -E ./install-server.sh.
One command pulls the latest release for your channel (stable or nightly), keeps your current port and service user, and restarts:
sudo /opt/local-writing-app/update-server.sh
It follows the update channel set in the app and skips the download if you’re already current (--force reinstalls anyway).
systemctl status local-writing-app # is it running? journalctl -u local-writing-app -f # follow the logs sudo systemctl disable --now local-writing-app # stop & uninstall service
AI provider keys normally go in the system keychain. A headless box usually has none, so there they're saved in the app's config.yaml instead; the Settings dialog says which.
Use the Linux desktop build → — a single AppImage, no service, no root.