Hand-built servers and other panels: connect, scan, adopt.
If an Ubuntu machine runs Nginx and PHP-FPM, SrvYard can scan it, register its sites where they are and take things over one at a time. No API is involved, so this works for a server set up by hand, by a script, or by a panel SrvYard has no importer for. Where a panel replaces the stock stack, adoption is partial, and the report says so per site.
# no API, no token from another panel
needs a connected server, status Ready
scan read-only, you choose what it reads
reads nginx -T, php-fpm pools, supervisor, cron,
certbot, databases (metadata), ufw, app folders
never reads private keys, db passwords, password hashes
adopt in place, restore point, roll back
01Which machines this suits
| Machine | What to expect |
|---|---|
| Hand-built Ubuntu with Nginx, PHP-FPM, Supervisor, cron | The best case. The scan reads the stock paths, the report lists each site with a confidence, and adoption registers it in place. Flat folders and the releases, current and shared pattern of Forge, Ploi, Vito, Envoyer, Capistrano and Deployer are recognised. |
| Forge, Ploi, VitoDeploy | Same, plus an import of what the panel knows. See Forge, Ploi, VitoDeploy. |
| RunCloud, SpinupWP | No import. See RunCloud and SpinupWP. |
| ServerPilot, GridPane, Cloudways | The scan recognises them from their marks and the detach guide covers them. Adoption in place is only partly supported; moving the sites to a fresh server is the safer route. |
| cPanel, Plesk, OpenLiteSpeed, aaPanel, Coolify, CapRover | The scan notices the panel and names it, and that is all: these replace the web stack or run containers, and SrvYard supports neither Docker nor those stacks. Move the sites by hand to a fresh server. |
| Docker, Kubernetes, Python, Ruby, Go, Java, .NET apps | Not supported as managed site types. A site of type Other with your own deploy script is possible but unmanaged. |
02Connect, scan, adopt
in this orderConnect the server
Add server, Custom VPS, authorise the key as root, Start provisioning. See bring your own server.
Scan
Import / migrate, Scan a server, choose what it may read. Usually under a minute.
Read the report
Sites, workers, scheduled jobs, databases, certificates, warnings, and the panel it found, if any.
Adopt
Tick the sites, confirm user, folder, domains and deploy method, review the exact plan, type the server name.
Deploy once, then take over
Deploy from SrvYard, check domains and certificates, and take over the vhost when you are ready.
03What the scan reads
read-only, and you choose
Server facts, users and SSH access, web server and PHP configuration, processes and services, background workers and scheduled jobs, databases (metadata only), TLS certificates (metadata only), the firewall, application folders and Git remotes. Each consent opens the exact commands that will run on your machine.
Private keys, database passwords and password hashes are never read. Environment file key names reads variable names only. Environment file values is off by default, stored encrypted apart from the report and deleted after seven days. Run php artisan --version runs your application’s code once per Laravel site and is also off by default.
The report is kept for 30 days and can be downloaded as redacted JSON. A scan writes nothing, touches no service and installs no package.
04Adopting a scanned site
in place, reversibleRestore point
Before anything is registered, SrvYard stores a tarball of the Nginx, PHP-FPM, Supervisor, cron and certbot renewal settings, with a manifest and a restore script. The originals are only read.
Register in place
Sites, domains, processes, cron lines, databases, certificates and firewall rules are recorded in SrvYard and flagged adopted. Nothing is moved, rewritten or restarted. Processes and cron lines are external: you can see them, start, stop, restart and read logs, but SrvYard does not rewrite them.
Verify
SrvYard records how each site answers before, and checks again afterwards that every site answers the same and the configuration is unchanged.
Take over, one thing at a time
The Nginx file stays the old one until you press Take over the vhost, with a diff and an automatic restore if a domain stops answering. Deploys from SrvYard start from a suggested script that keeps migrations and the build step commented out until you review it.
Undo
Roll back removes what the adoption registered and, if a vhost was taken over, puts the captured files back first. Deleting an adopted site only forgets it.
05Limits
so you can rule it out early- No move engine: SrvYard does not copy files or databases between servers for you. Adoption keeps the sites where they are.
- Pool, folder layout conversion and certificate re-issue are not part of adoption. Capabilities that need them show as unavailable, with the reason, on the adopted site.
- Ubuntu 24.04 and 26.04 only for new servers.
An adopted site’s environment file stays on the server and its contents are not read or stored unless you allowed the environment values consent.
The full article: Adopt a site that is already on your server.
06Questions
answers from the docsDoes the scan change my server?
No. It is read-only: nothing is installed or changed, and you choose what it may read. Private keys, database passwords and password hashes are never read. See Adopt a site that is already on your server.
Can I undo an adoption?
Yes. Adoption starts with a restore point of the web server, PHP-FPM, Supervisor, cron and certbot settings, and Roll back removes what was registered and restores captured files if a vhost was taken over.
Scan one server. Change nothing until you say so.
Free: 1 server, 3 sites, 100 deploys a month. Read the docs first if you prefer.