Overview
What self-hosting Proliferate means, and whether you should.
Proliferate is open source and fully self-hostable. Self-hosting means running the server — the API, database, and web app — yourself. Your team signs in at its public URL, and the desktop app connects to the same URL when they need local repositories.
Most teams should use the hosted service. Self-host when you have a reason: compliance, data locality, or a network boundary you cannot cross.
Choose your path#
Deploying on a cloud provider? Use the
AWS launch stack (one command
with launch-stack.sh), or bring
Docker to any server (one command with
install.sh).
The pieces#
A self-hosted deployment is one server, reachable at one public URL, with an optional desktop app and optional add-ons.
The base install gives you email-and-password sign-in, one shared organization, invitations, and workspaces that run on each user's machine. Nothing on first run depends on an add-on. GitHub and Google sign-in are optional layers on top.
Not in self-hosting yet#
- Scheduled background jobs. The stack ships no worker tier.
- Full provider sign-in on the web app (GitHub, Google, OIDC, SAML) is still being finished; the authentication pages say what each provider supports today.
proliferate://connectdeep links, and switching servers without signing out. Desktops connect from the sign-in screen or a one-line config file.- Cloud sandboxes.
How updates work#
Updating is one command on the server (./update.sh): pull the new image,
run migrations, restart. The server reports its versions at GET /meta, and
your users' desktop apps follow the version the server pins, so updating the
server updates the whole fleet. See
Updates & versioning.
Telemetry#
Self-hosted servers run with PROLIFERATE_TELEMETRY_MODE=self_managed:
anonymous, first-party telemetry only, with no third-party vendors. Set
PROLIFERATE_ANONYMOUS_TELEMETRY_DISABLED=1 for zero telemetry. See
Telemetry & privacy.