Connect the desktop app
Point the official desktop app at your self-hosted server.
By default the desktop app connects to Proliferate Cloud. Your users run the same official signed app and point it at your server with a one-line config file. Self-hosted Proliferate is desktop-only in v1: there is no self-hosted web app, so connecting the desktop app is how everyone gets in.
Connect with the config file
The desktop app reads ~/.proliferate/config.json exactly once, at startup.
Setting apiBaseUrl there is the supported way to connect to a self-hosted
server today.
Install the official desktop app
Download and install the desktop app from Proliferate as usual. You never build or distribute a custom binary; self-hosted deployments run the same signed builds as Proliferate Cloud.
Write the config file
Create ~/.proliferate/config.json in the user's home directory:
apiBaseUrl is your server's public URL: https:// plus the SITE_ADDRESS
you configured on the server (the same value the server derives for its own
API_BASE_URL).
Restart the app
The file is read once at startup, so quit and reopen the app to apply the
change. The app connects to one server at a time; to switch back to
Proliferate Cloud, remove the apiBaseUrl line and restart again.
Sign in
On launch the app asks your server which sign-in methods it offers (it calls
GET /auth/desktop/methods) and shows the matching sign-in screen. Sign in
with the method your server is configured for, described below.
Screenshot: Desktop sign-in screen, email and password form against a self-hosted server
The desktop sign-in screen after apiBaseUrl is set, showing the email/password form served when GitHub OAuth is not configured.
Which sign-in screen users see
The desktop app adapts to your server's configuration automatically:
- Email and password (the default). When GitHub OAuth is not configured
on the server, the desktop shows an email and password form. The first
account is the one you created when you claimed the server at
https://<site>/setup; every other user is invited by an admin and creates their account in a browser through the invite link (the server's/registerpage; registering requires the invitation token from that link). See Email & password. - GitHub sign-in (optional). Set
GITHUB_OAUTH_CLIENT_IDandGITHUB_OAUTH_CLIENT_SECRETon the server, with the OAuth callback URLhttps://<site>/auth/desktop/github/callback, and the desktop offers GitHub sign-in. See GitHub sign-in.
Config file reference
| Key | Type | Effect |
|---|---|---|
apiBaseUrl | string | Points the app at your server instead of Proliferate Cloud. |
telemetryDisabled | boolean | true turns off desktop telemetry for this install. See Telemetry & privacy. |
Both keys live in the same file:
Changes take effect on the next app start.
Fleet provisioning
For MDM or fleet setups, push the same ~/.proliferate/config.json to every
machine with your device management tool. Because the app reads the file at
startup, installs provisioned this way connect to your server on first launch
with no user action.
Planned: in-product connect. A "connect to self-hosted server" entry on
the sign-in screen, a switch-server option in settings, and a shareable
proliferate://connect deep link (with a confirmation of exactly which
server you are trusting) are planned. Until they ship, the config file above
is the supported flow.
Staying up to date
Desktop updates follow the version your server advertises. The app checks
GET /desktop/updater/latest.json on your server, which redirects to the
official signed update manifest for the version your server release pins.
When you update the server, every connected desktop app picks up the matching
version; you never manage desktop rollouts separately. See
Updates & versioning.