Deployment.sh

Software deployment automation features for servers you own

Deployment covers the whole path from an empty server to a monitored production app. Every feature below is part of every plan and works the same way for PHP, Node.js, Python, Ruby, Go, Java, .NET, static sites and Docker. Plans differ only in capacity, team size and retention.

Close-up inside a server rack: a patch cable plugged into a switch port next to a row of small green link lights, out-of-focus cabinet behind

Why teams replace deploy scripts with a platform

A hand-written deploy script works until the second server, the second stack or the second developer. Then the questions start: which release is live, who changed the env file, why did the worker keep running old code, where is last night's backup. Software deployment automation answers those questions with one consistent model, so a release on a Go service looks exactly like a release on a Laravel app.

Server provisioning and hardening

Connect any Ubuntu or Debian server over SSH or create one in your cloud account by API token. Provisioning prepares it for production in a single pass and keeps it patched afterwards.

  • Firewall with SSH, HTTP and HTTPS open, every other port closed by default
  • SSH hardening with key-only logins and a dedicated Deployment key per server
  • Unattended security updates and configurable swap
  • nginx or Caddy as the web server, chosen per server
  • Runtimes per site: PHP 8.x, Node.js LTS, Python 3.x, Ruby, Go, Java 21, .NET 8 and the Docker engine
  • Details for each server type on vps management and cloud server management
Two developers in a small agency office reviewing a deploy log on a laptop, one pointing at the screen with a pen

Git connection and push to deploy

Sites are connected to a repository on GitHub, GitLab, Bitbucket or any git URL over SSH. Each environment follows its own branch, and a push to that branch triggers a deploy through a signed webhook.

  • Branch per environment, for example main to production and develop to staging
  • Stack auto-detection from composer.json, package.json, pyproject.toml, Gemfile, go.mod, pom.xml, csproj files and Dockerfiles
  • Deploy from the panel, the API, the CLI or a CI job
  • More on the workflow in deploy from git and continuous deployment software

Build, release and rollback

Every site has an editable deploy script that runs in a fresh release folder. Shared paths such as storage, uploads and env files are linked in, the build runs, a health check confirms the new release answers, and only then the current symlink switches over.

  • Atomic release folders with a symlink switch, so there is no half-deployed state
  • Health check on a URL or a command before the switch
  • Keep the last N releases on disk, five by default
  • One-click rollback to any kept release
  • Deploy history with the commit, author, duration and full log
  • Background on zero downtime deployment

Databases and caches

Install and manage database engines on the same server or on a dedicated database server, with users and grants handled from the panel.

  • MySQL, MariaDB and PostgreSQL with databases, users and per-database grants
  • Redis for cache, sessions and queues
  • Remote access rules limited to the IP addresses you allow

Domains, SSL and redirects

Attach domains and aliases to a site and HTTPS is configured for you.

  • Let's Encrypt certificates issued at no extra cost and renewed automatically
  • Wildcard certificates through DNS API validation
  • Redirects between domains and from www to the bare domain or the other way round

Environment variables and secrets

Variables are stored encrypted per environment. Before a deploy that changes them, the panel shows a diff of added, removed and changed keys with values masked, so a missing database password never reaches production silently.

Workers, daemons and cron

Long-running processes are defined once and managed by supervisor or systemd on your server.

  • Queue workers for Laravel Horizon, Celery, Sidekiq, BullMQ or any command
  • Automatic worker restart after every successful deploy
  • Cron jobs with a schedule, the user they run as and the output of recent runs

Logs, monitoring and alerts

You see what your servers and apps are doing without opening a terminal.

  • Deploy logs, application logs and nginx access and error logs streamed in the panel
  • Metrics for CPU, RAM, disk and load per server
  • HTTP uptime checks on your domains, from every 5 minutes on Starter to every 30 seconds on Enterprise
  • Alerts by email, Slack, Discord or an outgoing webhook

Backups to your own storage

Database dumps and file archives run on a schedule and go straight to an S3-compatible bucket you own, never to ours. Retention rules prune old copies, and a restore is one click from the panel.

Teams, roles and audit log

Organizations hold servers and sites, and people get exactly the access they need. Read how access is controlled on the server security platform page.

  • Roles owner, admin, developer and viewer, with access per server
  • Audit log of deploys, env changes, logins and permission changes on Team, Agency and Enterprise
  • SSO with SAML on Enterprise

API, webhooks and CLI

Everything in the panel is available programmatically through the deployment api with scoped tokens, outgoing webhooks for deploy events, and a CLI for your terminal and CI jobs.

One automation model for every stack

Laravel, Symfony and WordPress, Express, NestJS and Next.js, Django, FastAPI and Flask, Rails, Go binaries, Spring Boot jars, ASP.NET Core, static site generators and Docker Compose projects all use the same release folders, health checks, rollback, workers and logs.

Which plan fits your automation needs

PlanMonthlyYearly per monthServersSitesTeam members
Starter49 USD24 USD3151
Team199 USD99 USD1510010
Agency499 USD249 USD60unlimited within servers30
Enterprise1 499 USD749 USD250unlimited within serversunlimited

Full comparison, retention and billing details on PaaS pricing.

Are all features included in every plan?

Provisioning, push to deploy, zero-downtime releases, rollback, SSL, workers, cron, logs, monitoring and backups are in every plan. Roles and audit log start on Team, priority email support on Agency, SSO and an SLA on Enterprise.

Can I keep my existing deploy script?

Yes. Paste it into the site's deploy script and Deployment runs it inside the release workflow, so you keep your commands and gain rollback and health checks.

Can I try Deployment before I pay?

Yes, with a free one-time demo on the home page that analyses a public repository and shows the start of its deploy plan. Plans start at 49 USD a month, or 24 USD a month billed yearly.

Automate your next deploy

Connect a server and let your next git push go through health checks and an atomic switch.

Not ready for a server yet? Try the demo on a public repository.