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.
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
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
| Plan | Monthly | Yearly per month | Servers | Sites | Team members |
|---|---|---|---|---|---|
| Starter | 49 USD | 24 USD | 3 | 15 | 1 |
| Team | 199 USD | 99 USD | 15 | 100 | 10 |
| Agency | 499 USD | 249 USD | 60 | unlimited within servers | 30 |
| Enterprise | 1 499 USD | 749 USD | 250 | unlimited within servers | unlimited |
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.
$ git push origin main
✓ build release 20261019-142210
✓ health check 200
✓ switch current 0.4 s
$