Skip to content
SocialMate
Knowledge base Self-hosting (server & VPS)

Install SocialMate without Docker (systemd)

Prefer not to run Docker? A one-line installer sets up Node, a dedicated user, and a hardened systemd service that starts on boot. Here's the whole flow.

2 min read Updated July 14, 2026

If you’d rather not use Docker, SocialMate ships a native installer that runs it as a normal Linux service under systemd. It sets up everything for you and the service starts automatically on every boot. Use a 64-bit Linux server (Ubuntu/Debian recommended). If you’re comfortable with Docker, the Docker guide is a little simpler — this is the alternative.

Step 1 — Run the installer

SSH into your server and run:

curl -fsSL https://raw.githubusercontent.com/micbwilliam/socialmate-releases/main/install.sh | sudo bash

This one command:

  • installs Node.js 22 (from NodeSource),
  • creates a locked-down socialmate system user,
  • unpacks the latest release to /opt/socialmate,
  • writes a secrets file at /etc/socialmate/socialmate.env (readable only by root) with a generated admin password and vault key,
  • installs the service, enables it to start on boot, and starts it.

Step 2 — Note your admin password

The installer prints your generated admin password once, at the very end — copy it. Missed it? Read it back (root only):

sudo grep ADMIN_PASSWORD /etc/socialmate/socialmate.env

Step 3 — Verify it’s running

systemctl status socialmate          # should say: active (running)
systemctl is-enabled socialmate      # should say: enabled
curl -fsS http://localhost:3456/health && echo OK

enabled means it will come back on its own after a reboot — you don’t have to do anything.

Step 4 — Log in

Open http://YOUR_SERVER_IP:3456/admin, sign in with the password from Step 2, and link your WhatsApp under Accounts → Add account (scan the QR from your phone). The console is identical to the Docker install and the desktop app.

Reading the logs

The service logs to the systemd journal — follow them live with:

journalctl -u socialmate -f

Updating

sudo socialmate-update

This downloads the latest release, verifies its checksum, swaps it in, and restarts the service. Your accounts, database, and license seat are untouched — they live in /var/lib/socialmate, separate from the program files.

Persist /var/lib/socialmate. That’s your data dir — DB, WhatsApp sessions, and the machine id your license is bound to. The installer puts it in the right place; just don’t delete it, or the server will drop to Free on the next start.

Next steps

Was this helpful?

Still stuck — open a ticket · Back to all articles

Free forever · no card Download free