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

Server configuration

The Linux package reads /etc/vsync/server.toml. Unknown settings are rejected, so a typo stops the service instead of being ignored.

SettingEffective defaultPurpose
root/var/lib/vsyncServer data directory.
addr127.0.0.1:7770Plain-HTTP listen address behind the HTTPS proxy.
public_urlunsetCanonical HTTPS origin used in emailed invite links. Required with email.
min_free_gb10Refuse uploads below this much free disk; 0 disables the guard.
webhookunsetIncoming webhook for build announcements.
crash_reportstrueSend server crash reports to DevHippo.
sentry_dsnDevHippo endpointSend crash reports to your own Sentry-compatible endpoint.
email.fromunsetSender mailbox for invite email.
email.smtp_hostunsetSMTP relay hostname.
email.smtp_port587 or 465Relay port, based on the selected TLS mode.
email.smtp_tlsstarttlsstarttls or implicit TLS. Unencrypted SMTP is not supported.
email.smtp_usernameunsetSMTP relay username. Omit both credential settings when the relay authenticates by source IP.
email.smtp_password_envunsetName of the environment variable holding the SMTP password.
email.smtp_poolfalseKeep the SMTP connection open between sends instead of reconnecting per message.
gc.enabledtrueSweep at startup and daily.
gc.keep_history14Keep this many newest builds per stream and platform.
gc.keep_days7Keep builds younger than this many days.

GC settings belong under a [gc] table:

root = "/var/lib/vsync"
addr = "127.0.0.1:7770"
min_free_gb = 10

[gc]
enabled = true
keep_history = 14
keep_days = 7

Set crash_reports = false to disable server crash reports. This does not affect clients.

Invite email

Vsync can send account and password-reset invitations through any SMTP relay. For example, Resend uses this configuration after its sending domain has been verified:

public_url = "https://builds.example.com"

[email]
from = "Vsync <invites@example.com>"
smtp_host = "smtp.resend.com"
smtp_port = 587
smtp_tls = "starttls"
smtp_username = "resend"
smtp_password_env = "VSYNC_SMTP_PASSWORD"

Some relays authenticate the server by its source IP instead of a password - Google Workspace's smtp-relay.gmail.com with a registered IP, or an internal smarthost. For those, omit smtp_username and smtp_password_env; the connection still requires TLS.

Otherwise, place the password in the root-readable environment file installed by the Linux package:

sudo sh -c 'printf "%s\n" "VSYNC_SMTP_PASSWORD=replace-with-the-relay-key" > /etc/vsync/server.env'
sudo chmod 600 /etc/vsync/server.env
sudo systemctl restart vsync-server

Use a transactional email relay rather than sending directly from the Vsync host. Configure SPF and DKIM with that provider, and leave link and open tracking disabled for invitation messages. If delivery is not configured or a send fails, the admin page still shows the one-use link for manual delivery.

Matching command-line options override the file. Use --config <path> or VSYNC_SERVER_CONFIG=<path> to select another file. Restart the service after editing it:

sudo systemctl restart vsync-server
sudo systemctl status vsync-server