Connect an existing server
A Custom VPS is any Ubuntu machine that SrvYard did not create for you: a droplet you started months ago, a box at a provider SrvYard has no integration with, or a server in your own rack. You tell SrvYard where it is, run one command on it as root, and SrvYard installs Nginx, PHP and the other software for the type of server you chose.
This article follows the whole path, from the Create a new server form to a server in the Ready state. If you would rather have SrvYard start the machine for you at a cloud provider, read Provision a server at a cloud provider instead.
Before you begin
- A fresh Ubuntu machine. SrvYard installs 24.04 LTS or 26.04 LTS. The form lists the same requirement: a fresh install with nothing else running on it, at least 1 CPU, 1 GB of memory and 10 GB of disk. Provisioning an existing, busy server can overwrite its configuration, so use a clean machine whenever you can.
- Root access over SSH. You need to be able to log in as
rootonce, for example through your provider's web console, to authorise SrvYard's key. After provisioning SrvYard stops usingrootand works as its own management user (srvyard). - A reachable address. The machine's public IP address, and the port its SSH daemon listens on (22 unless you changed it). SrvYard connects from the internet, so the provider's firewall must let that port through. Private and reserved addresses such as
192.168.0.10are refused. - Room in your plan. The Hobby plan includes 1 server, Pro includes 10 and Business has no limit. Archived servers do not count. When you are at the limit the form shows Your plan's server limit is reached and the button stays disabled.
- The right to create servers. Members whose role cannot create servers do not see Add server.
1. Describe the machine
Open Servers in the sidebar and press Add server. The page is called Create a new server and serves both cloud and custom machines.
- Name. Up to 60 characters: letters, numbers, spaces, dots, dashes and underscores. SrvYard suggests a random name; press Generate new name for another one. The name is also used to build the server's hostname, so pick something you will recognise.
- Provider. Choose Custom VPS. The list also shows any cloud providers you have connected and an Add provider entry (see Add a server provider and its API token).
- IP address. The public address of the machine, for example
198.51.100.99. - SSH port. Where the machine's SSH daemon listens. It starts at
22.
Two checkmarks under the fields repeat the requirements: a fresh Ubuntu install, root SSH reachable on that port, and the minimum size.
Servers behind a NAT
If the machine sits behind a router that forwards a public port to it, for example public port 2222 to the machine's own port 22, switch on This server is behind a NAT.
- This server is behind a NAT. Turn it on when a router forwards a public port to the SSH port above.
- NAT SSH port. The public port on the router. SrvYard connects to this one, while SSH port stays the port sshd listens on inside the machine. SrvYard also keeps the machine's own SSH port open in its firewall.
An address and connection port can be registered only once. If another server in SrvYard already uses the same IP address and port, the form says A server with this address and port is already registered.
2. Choose the server type
The type decides which software SrvYard installs. It cannot be changed later, so choose the one that matches the job.
- The type cards. Pick one:
| Type | What is installed |
|---|---|
| App server | Nginx, PHP, Supervisor and, if you ask for them, a database, Redis and Memcached. The usual choice for one machine that runs everything. |
| Web server | Nginx, PHP and Supervisor. |
| Load balancer | Nginx only. |
| Database server | MySQL, MariaDB or PostgreSQL (you choose which). |
| Cache server | Redis and Memcached. |
| Worker server | PHP and Supervisor, for queue workers and scheduled jobs. It is not meant to answer web requests. |
| Meilisearch server | Meilisearch. |
- Advanced settings. A one-line summary of what the optional choices are set to. Press Edit to change them (next section).
- Continue. Saves the server and takes you to the next step. Nothing is installed yet.
3. Review the advanced settings (optional)
The dialog only shows what makes sense for the type you picked.
- PHP version. The default for new sites and for the command line on this server. For app, web and worker servers.
- Also install. Extra PHP versions to install next to the default. You can add up to five extra versions.
- Database type. Choose MySQL, MariaDB or PostgreSQL, then a version and, optionally, a database name that is created when the server is ready. A database server must have an engine; an app server can have one. Leave it on None to add a database later.
- Timezone. The server's clock. It starts at
UTC.
Below those, an app server also offers Redis and Memcached switches. Add my organization SSH keys copies every organisation key flagged "add to new servers" onto the machine (see Add SSH keys to a server and to your account), and Tags attaches labels you can filter the server list by. Press Update to keep your choices.
4. Authorise SrvYard on the machine
After Continue you land on the new server's page with the status Awaiting access and the Connect your server card.
- The command. Log in to the machine as
root(your provider's console works) and paste it. It creates/root/.sshif needed, appends SrvYard's public key toauthorized_keysand sets safe permissions. Prefer to do it by hand? Press Prefer to add the key by hand? to reveal the public key itself. - The connection check. SrvYard tries to log in every few seconds and reports what it finds. Press Check now to try immediately. It ends in one of four states:
- It cannot reach the address: the machine is off, the port is blocked or the address is wrong.
- The machine answers but does not accept the key yet: the command has not run, or ran with an error.
- The host key has changed since SrvYard first saw the machine.
- SrvYard can log in as root. You can start provisioning.
- Start provisioning. The button reads Start provisioning once the check passes. Before that it reads Start provisioning anyway, which is allowed but will fail if SrvYard really cannot log in.
The key is specific to this server. Nothing else in your organisation can use it, and you can see which keys a server accepts later on its SSH keys tab.
5. Watch the installation
When provisioning starts the status changes to Installing and the card turns into Provisioning.
- The progress bar and step. The current step and percentage: checking the operating system, creating the management user, securing SSH, installing updates and base packages, Nginx, PHP and Composer, Supervisor, then any database or cache you asked for.
- The live output. The same text the machine prints. Follow keeps the view at the bottom, Copy and Download save it.
Along the way SrvYard creates its own srvyard user, switches SSH to key-only logins for it, turns on the ufw firewall with SSH, HTTP (80) and HTTPS (443) open and everything else closed, and enables weekly unattended security updates. The page refreshes every few seconds, so you can leave and come back. A typical installation takes several minutes; slow mirrors or a small machine make it longer.
When it ends the status is Ready. The server page then shows its resources, metrics and a Git access key (a deploy key the server uses to pull private repositories), and the server can take sites: continue with Create a site on your server.
Provisioning a machine that already hosts something can overwrite its configuration: Nginx, PHP, the firewall and SSH settings are all replaced. Back up first, or use a clean machine.
6. If the server disconnects later
A server that SrvYard can no longer log in to becomes Disconnected. The page then shows the last error and a checklist.
- Connection problem. The error from the last attempt, for example a timeout.
- The commands. Authorise SrvYard's key again puts the key back in
authorized_keys; Repair the permissions fixes the ownership and modes of the.sshfolder. Run them through your provider's console. - Check connection. Tries again. If it works the server returns to Ready.
The checklist above the commands covers the usual causes: the machine is switched off or was resized, its IP address changed, the key was removed, the SSH firewall rule or the provider's firewall blocks the port, or the .ssh permissions are too loose.
Troubleshooting
- Private and reserved addresses are not allowed. SrvYard connects from the internet, so
10.x,192.168.xand similar addresses are refused. Use the machine's public address, or set up a NAT forward and enable This server is behind a NAT. - The check says the machine does not accept the key. The command did not run as
root, ran in pieces or hit an error. Run it again in one piece. Some providers rewrite/root/.ssh/authorized_keyson boot; check that the key is still there. - The check says the address cannot be reached. Confirm the machine is on, that the provider's firewall or security group allows the SSH port and that no tool throttles connections from SrvYard.
- The check reports that the host key changed. The machine was reinstalled or replaced. If you expected that, open the Actions menu at the top right of the server page, choose Reset trusted host key (it appears when the last error mentions the host key) and then Check connection.
- Installation failed. The page shows the error and a checklist. Open the log, fix the cause (not a fresh Ubuntu 24.04 or 26.04, not enough disk or memory,
curlmissing, SSH blocked) and press Retry provisioning; steps that already finished are skipped. - Create fails with "Your plan allows 1 servers and all of them are in use". Archive or delete a server you no longer need, or upgrade your plan.
- The server is stuck on "Awaiting access". Provisioning only starts when you press the button. Press Start provisioning on the Connect your server card.
Related
- Provision a server at a cloud provider: let SrvYard create the machine for you.
- Read the server overview: what the server page tells you once it is Ready.
- Add SSH keys to a server and to your account: give your own computer access.
- Create a site on your server: the next step once the server is Ready.