Linux headless install guide
This is the no-GUI build of the SyncTato server, for machines with no
graphical desktop — a home server or NAS box (x86_64). It runs as a
background systemd service instead of a tray app. Setting
up a Raspberry Pi instead? See the
64-bit or
32-bit Pi guide.
Requirements
- Linux with systemd, glibc 2.17+ (any modern distro — Debian, Ubuntu, Fedora, etc.)
- x86_64 CPU
Install
Extract the .tar.gz, open a terminal in that folder, and run:
./install.sh
This installs to ~/.local/bin and runs as a
systemd user service — no root needed.
It also enables lingering, so the service keeps running even when
you're logged out, which is what you want on a server. It prints your
pairing code at the end.
Pairing code
The headless server has no window, so pairing codes are read from the log. The install script prints the current one, and you can re-check it any time with:
journalctl --user -u synctato-server | grep -i 'pairing code'
Firewall
Allow inbound TCP on port 8443, or your phone won't find the server:
sudo ufw allow 8443/tcp # Debian/Ubuntu/Mint
sudo firewall-cmd --add-port=8443/tcp --permanent && sudo firewall-cmd --reload # Fedora/RHEL
Video/HEIC thumbnails
ffmpeg/ffprobe are bundled and installed alongside the server automatically — nothing extra to install.
Data location
The database and certificates live under ~/.local/share
(your XDG data dir). Your actual photos and videos go under whichever
media folder you choose in the app.
Uninstall
From the folder you extracted, run:
./uninstall.sh
Your photos and database are left in place.