SrvYard
Sign in Start free
migrate / other-servers

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.

Scan and adopt
# 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

MachineWhat 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 order
  1. Connect the server

    Add server, Custom VPS, authorise the key as root, Start provisioning. See bring your own server.

  2. Scan

    Import / migrate, Scan a server, choose what it may read. Usually under a minute.

  3. Read the report

    Sites, workers, scheduled jobs, databases, certificates, warnings, and the panel it found, if any.

  4. Adopt

    Tick the sites, confirm user, folder, domains and deploy method, review the exact plan, type the server name.

  5. Deploy once, then take over

    Deploy from SrvYard, check domains and certificates, and take over the vhost when you are ready.

The Import and migrate page with two ways in: import from another panel, and scan a server you already run
fig 1Import / migrate: the scan card is the way in for any server.

03What the scan reads

read-only, and you choose
The list of things a scan may read with checkboxes, ending with the sensitive choices for environment file values and artisan --version
fig 1Every category can be switched off. The two sensitive ones are off by default.

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, reversible
  1. Restore 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.

  2. 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.

  3. Verify

    SrvYard records how each site answers before, and checks again afterwards that every site answers the same and the configuration is unchanged.

  4. 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.

  5. 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 docs
Does 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.