Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Install and configure a server

This is the shortest supported setup for a remote team.

Before you start

You need:

  • An Ubuntu 26.04 or newer x86-64 server with sudo access.
  • A domain such as builds.example.com pointing to the server.
  • Inbound ports 80 and 443 open. Keep port 7770 private.

See Server overview for sizing guidance.

1. Install Vsync

Download the current server .deb from the Vsync downloads page, then run this from its directory:

sudo apt install ./vsync-server_*-1_amd64.deb

The package installs the server, a systemd service, /etc/vsync/server.toml, and a locked-down vsync user. Data lives in /var/lib/vsync.

2. Start the server

The default configuration listens on 127.0.0.1:7770 and is suitable for Caddy. Review /etc/vsync/server.toml using the configuration reference, then run:

sudo systemctl enable --now vsync-server
curl http://127.0.0.1:7770/healthz

The health check must print ok. After a configuration change, run:

sudo systemctl restart vsync-server

3. Add HTTPS

Install Caddy:

sudo apt install caddy

Replace builds.example.com in /etc/caddy/Caddyfile:

builds.example.com {
    reverse_proxy 127.0.0.1:7770
    request_body {
        max_size 256MB
    }
}

Reload Caddy and test the public address:

sudo systemctl reload caddy
curl https://builds.example.com/healthz

The response must be ok without a certificate warning. See HTTPS and networking if it is not.

4. Create the first administrator

Create your account on the server; --admin assigns the server-wide admin role:

sudo -u vsync vsync-server user add ali --admin

The command prints a one-use invite path. Add it to your server address, open the resulting URL, and choose a password. Then sign in at https://builds.example.com/admin.

Use Users to invite each teammate, then the Access page to assign what they need - a fresh server already lets any signed-in account browse, fetch, report on, and commit builds, but pinning, stream and game management, and the admin surfaces need explicit roles. The server can send invitations through an optional SMTP relay; see Server configuration. People use accounts and passwords; raw tokens are for CI. See Users and authentication.

5. Publish the first build

Install the desktop app on your computer and follow the desktop quick start. If the server is empty:

  1. Choose Create game.
  2. Open Streams and choose New stream.
  3. Open Commit and publish a build into that stream.

Your teammates can now sign in and fetch it.

Experimental Windows server

The Windows x86-64 server is for evaluation only and does not install a Windows Service. Extract the server zip, create a writable data directory and server.toml, then run it behind an HTTPS reverse proxy:

vsync-server.exe --config C:\Vsync\server.toml serve