Deploy Node.js applications over SSH.
npx @catapultjs/deploy initDeploy directly over SSH — no agents, no server-side dependencies, just a remote shell.
Composable task pipeline. Insert, remove or replace any step with a single function call.
Drop-in recipes for AdonisJS, PM2 and rsync. Import once, tasks are registered automatically.
On failure after publish, the previous release is restored automatically.
Deploy to staging and production in the same run. Target a single host with --host.
Define custom tasks, hooks and recipes. Full async support with getContext().
npx @catapultjs/deploy initimport { defineConfig } from '@catapultjs/deploy'
await defineConfig({
keepReleases: 5,
hosts: [{
name: 'production',
ssh: 'deploy@example.com',
deployPath: '/home/deploy/myapp',
branch: 'main',
}],
})npx cata deploy