Why a self-hosted deployment platform exists
Most teams should not self-host their deployment tool. It is one more thing to operate. But for the teams who must - because of regulation, network architecture, or hard-won security policy - the conversation is not 'should we?'. It is 'how do we do this without burning a quarter on the rollout?'.
Jaws Deploy Stack exists for exactly that team. It is the same product as Jaws Deploy Cloud, packaged to run on your hardware. The product model, the UI, the agent protocol, the REST API - all identical. The difference is hosting.
Who actually needs this
Being honest about fit is more useful than being optimistic. The teams that buy Stack tend to share three or four properties.
The shape of a self-hosted buyer
What the self-hosted deployment looks like
Stack is delivered as a set of containers and binaries you install on your own infrastructure. The control plane runs on whatever VM or Kubernetes setup your team standardizes on. Agents are exactly the same as on Cloud - they call outbound to the control plane, which now happens to be one of your servers instead of ours.
What 'install Stack' actually means
- Control-plane host - one VM or a small cluster, depending on team size. The control plane handles the API, UI, scheduling, and persistence.
- Database - your existing MySQL or PostgreSQL instance. We don't ship a database; we connect to yours.
- Object storage (optional) - for package feeds and large artifacts. S3-compatible, Azure Blob, or local disk if you must.
- Identity - OIDC connector to your existing IdP. We do not store passwords; we lean on your auth.
- Agents - installed on each deployment target, exactly like Cloud.
What you take on by self-hosting
It is fair to be direct about the operational cost. We are not going to tell you it is free.
// Your team owns
Operating the control plane
Patching the host, monitoring uptime, sizing the database, rotating certificates, scaling for parallel deploys. None of this is exotic - it's the same stuff you do for any internal service.
// We own
The product itself
Bug fixes, new features, security patches, the agent protocol, the migration scripts between versions. Stack ships with the same release cadence as Cloud.
Security posture, in concrete terms
The security conversation tends to be the most important one in a self-hosted procurement. Here is what we put on the table without prompting.
Things we make easy to verify or audit
- No outbound calls from the control plane. Stack does not phone home. Telemetry is opt-in and clearly named.
- OIDC-first auth - we do not store credentials; we delegate to your existing IdP and respect its session management.
- Encrypted at rest - secrets in the database use envelope encryption with a key you control.
- Encrypted in transit - mutual TLS between control plane and agents, configurable certificate authorities.
- Audit log - every state-changing action writes to a structured audit table you can ship to your SIEM.
- Air-gap support - including package feeds, agent installation, and platform updates via downloadable bundles.
How OIDC integration looks in a Stack config
Stack does not invent a user database. It uses yours. Most teams plug it into Okta, Entra ID, Keycloak, or an internal IdP in an afternoon.
# stack.config.toml
[auth.oidc]
issuer = "https://idp.internal.acme.example/realms/eng"
client_id = "jawsdeploy-stack"
client_secret = "${OIDC_CLIENT_SECRET}"
scopes = ["openid", "profile", "email", "groups"]
[auth.oidc.role_mapping]
"group:platform-admin" = "Admin"
"group:platform-team" = "WorkspaceAdmin"
"group:engineering" = "Deployer"
"group:everyone" = "Viewer"
What to do next
For most teams, the path is: try Cloud first, validate the workflow with a non-production project, then talk to us about Stack pricing and a pilot. Stack pricing is custom to the deployment footprint - we don't run a self-service signup for the self-hosted product because the conversation is always longer than that.
The Cloud trial costs nothing. The Stack conversation usually starts with a thirty-minute call to understand what you are protecting and why. We won't try to talk you out of self-hosting - we will try to talk you into doing it for the right reasons.