Migrating from Octopus Deploy

YakDeploy imports an Octopus project's shape so you don't rebuild from scratch, and the pricing works differently — you're not metered per deployment target.

Why teams switch

  • No per-target licensing. Octopus charges by the number of deployment targets; YakDeploy's plans cap projects/targets/runners generously and never meter deployments. Deploy to 5 VMs or 50 — the bill doesn't move.
  • Self-host is free at full limits (the cloud is what's metered), so your prod SSH keys never have to live in someone else's cloud.
  • Built for agents. A first-class MCP surface — an AI agent can deploy, roll back, and diagnose failures. Octopus has no equivalent.

Concept mapping

Octopus YakDeploy
Space Account
Project Project
Environment Environment
Deployment target / Tentacle Target + Runner
Step / Action Step (recipe)
Release & Channel Release (with channel)
Lifecycle Environment rank + windows/freezes
Runbook Runbook
Variable (+ scopes) Variable (+ scopes)

Importing

Export your Octopus project as JSON (its REST API returns the project, deployment process, environments, and variables) and import it from Projects → Import Octopus (or POST /api/v1/projects/import/octopus / the import_octopus MCP tool). YakDeploy maps environments, variables (secret values are never carried — you re-enter them), and the recognizable step types to their nearest recipe. Steps with no equivalent become editable shell placeholders and are listed so you can port them deliberately — an honest partial import beats a false-complete one.

Reliability

The engine runs on Elixir/Oban: deployments are durable jobs (at-least-once, rescued if a node dies), logs stream over PubSub and replay by cursor, and per-environment serialization means two releases never interleave on the same hosts. For a small team the supported HA story is single-node plus restore-from-backup in minutes — see Runners and the self-host guide.