What people ask before they connect a server.
Answers come from the documentation, which is the source of truth. If yours is not here, search the docs, write to us, or ask the chat at the bottom of the page.
01Getting started
8 questionsDoes SrvYard host my sites?
No. Your sites run on your own servers, in your own provider account. SrvYard is the tool that logs in over SSH and does the work you would otherwise do by hand, such as installing software, writing Nginx files and running deployments. See What SrvYard is and how it works.
What kinds of sites can I run?
SrvYard is built for PHP and Laravel applications, and it also hosts WordPress, Next.js, Nuxt and static sites. The create-site form changes a few fields for each type. See Create a site on your server for the full walk-through.
Do I need a domain to try it?
No. A new site can start on a free srvy.sh address, which is pointed at your server for you, so you need no domain or DNS records to see your first deployment. Add your own domain later from the site's Domains tab. See Deploy your first site in ten minutes.
Will SrvYard change a server that already has sites on it?
It can. Provisioning installs and configures software and may overwrite what is there, so use a fresh machine where you can. For a busy server, use the Import / migrate page, which scans without changing anything. See Adopt a site that is already on your server.
What is the difference between an organisation, a server and a site?
An organisation holds your people, billing and connections. Servers are the machines it runs, and each site lives on exactly one server. Roles and plan limits follow that tree. See Organisations, servers and sites: how they fit together.
What happens to my sites if I stop using SrvYard?
They keep running. Remove the servers from SrvYard and the machines, sites and databases stay exactly as they are, because they never ran inside SrvYard. Cancelling a subscription does not touch your servers either. See Cancel a subscription, export your configuration and delete an organisation.
What should I check before real visitors arrive?
HTTPS, a database backup you have actually restored, alerts that reach you, a firewall that is not wide open and a rollback plan. The checklist points to the exact screen for each item. See Before you go live: a launch checklist.
How do I get help when something breaks?
Use the docs search, then the support chat, then a ticket with attachments if you need a person. Describe what you expected, what happened and any error text, and never paste secrets. See Get help: docs search, the chat widget and support tickets.
02Servers
8 questionsHow does SrvYard log in to my server?
Over SSH, with a key it generated for the purpose. You run one command as root once to authorise that key, and afterwards SrvYard works as its own management user, srvyard, rather than root. See Connect an existing server.
Which cloud providers can SrvYard create servers at?
DigitalOcean, Hetzner Cloud, Akamai (Linode), Vultr, Amazon EC2 and Lightsail, and Proxmox VE 8.1 or newer. You connect an account with an API token or access key under Settings > Server providers. See Add a server provider and its API token.
How many servers does my plan allow?
Hobby includes 1 server, Pro 10 and Business has no limit. Archived servers do not count, so archiving one frees a place. When you reach the limit the form says Your plan's server limit is reached. See Compare plans and know your limits.
My server shows Disconnected. Are my sites down?
Almost certainly not. SrvYard only manages the server; it does not serve your sites, so they keep running. Anything that needs SSH, such as deploying, waits until the connection returns. Work through Fix a server that will not connect.
Can I lock myself out with a firewall rule?
Not through SrvYard. It keeps SSH open however you edit the rules, rebuilds the whole ruleset in one go and restores the previous firewall if the new one fails. A firewall at your provider is separate, and a port must be open in both. See Open and close ports with the firewall.
Does SrvYard apply operating system updates for me?
A provisioned server starts with automatic security updates switched on. SrvYard also shows how many updates are waiting and lets you apply them with a recipe, but it has no button that runs apt upgrade. See Install system packages and apply updates.
If I delete a server in SrvYard, is the machine deleted too?
For a cloud server you choose. Switch Preserve on to remove it from SrvYard and keep the machine, or leave it off to destroy the machine at the provider as well. Archiving never touches the machine. See Rename, resize, delete or forget a server.
Which timezone do scheduled commands use?
The server's timezone, shown in the page description, not yours. Change it in the server's Settings card if you want local times. Cron also has a minimal environment, so use full paths in your commands. See Scheduled commands on a server.
03Sites
8 questionsCan I add a repository to a site later?
Not if the site was created without one. The create form warns that this cannot be changed afterwards, so decide before you press Create site. The workaround is a new site with a repository and a domain move. See Create a site on your server.
Do I have to set up DNS for a site?
For your own domain, yes. SrvYard writes the name into Nginx, but you create the DNS record at your registrar or DNS host; the Domains tab shows Points here once it resolves. A site can have up to 25 domains. See Add a domain, a free subdomain and DNS records.
Who can see and edit a site's .env file?
Owners and admins, or a custom role with the environment permission. Everyone else sees a Restricted notice. SrvYard keeps an encrypted copy and writes it to the server for you. See Edit environment variables.
I saved an environment variable, but the app still uses the old value. Why?
The configuration is probably cached, or a queue worker is running with the old environment. Save again with Run php artisan config:cache and Restart queue workers ticked. See Edit environment variables.
How do I keep a queue worker and the scheduler running?
Add the worker on the site's Processes tab, where Supervisor keeps it alive, and switch the scheduler on from the Laravel card. Deploy the site once first, and set QUEUE_CONNECTION to something other than sync. See Run queue workers and the Laravel scheduler.
Can I move a site to another server?
There is no one-click move. You build the site on the new server, check it, then switch DNS, which avoids downtime if you follow the order in the article. Remember to switch off queue workers and the scheduler on the old one. See Delete, rename or move a site.
What does deleting a site remove?
Its files, Nginx configuration and the other things SrvYard created for it. Its databases are not removed; delete them from the server's Databases tab if you want them gone. Take a backup first. See Delete, rename or move a site.
Can I manage a site that was not created in SrvYard?
Yes. A read-only scan finds the sites on a connected server and registers them where they are, without moving or restarting anything. You then take over one capability at a time, and every step can be rolled back. See Adopt a site that is already on your server.
04Deployments
8 questionsWhat does a deploy script do, and how long may it run?
It holds the commands run on every deployment, such as installing dependencies, building assets and migrating. SrvYard writes a sensible one for your site type and you can edit it. A script that runs longer than 780 seconds is stopped. See Write and test a deploy script.
Can I deploy automatically when I push?
Yes, with push to deploy, for repositories on a connected GitHub, GitLab or Bitbucket account. SrvYard registers a signed webhook for you. A Custom Git URL has no connection to create one, so use the deploy hook instead. See Deploy automatically on every push.
Can I deploy a specific older commit?
No. SrvYard always deploys the latest commit of the site's branch, and there is no commit field. To get another version live, roll back on a zero-downtime site or change the branch. The article lists the options. See Deploy now, redeploy and switch branches.
What is a zero-downtime site, and can I change it later?
Each deployment builds in a fresh folder and the site switches to it in one atomic step, so visitors never see a half-built version. It is chosen when the site is created and cannot be changed afterwards. See Deploy without downtime and roll back to an earlier release.
Does a rollback undo database changes?
No. A rollback only points the site at an earlier release. Migrations that already ran stay, and a cache or queue payload from the newer code can still cause trouble, so check those too. A rollback needs a zero-downtime site. See Deploy without downtime and roll back to an earlier release.
If a deployment fails, does my site go down?
Not if it fails before the switch. On a zero-downtime site the previous release keeps serving and the half-built one is removed. A failed health check is different: the new release is already live, so fix it or roll back. See Read a deployment log and find the failing step.
How do I deploy from GitHub Actions or another CI system?
Request the secret deploy hook address with curl, or use the API with a token that has the sites:manage-deploys scope if you want to wait for the result. Do not combine either with push to deploy unless you want two deployments. See Deploy from GitHub Actions and other CI.
Why were my front-end assets not built?
Usually Node or the chosen package manager is not installed on the server, or the repository has no matching lock file, because the install step is the strict kind (npm ci). Set it up on the Runtimes tab. See Build front-end assets with Vite, npm, pnpm, Yarn or Bun.
05Databases
7 questionsWhich database engines does SrvYard support?
MySQL, MariaDB and PostgreSQL. A server runs MySQL or MariaDB, not both, but PostgreSQL can run beside either. Install an engine from the Services tab if the Databases tab says none is installed. See Create a database and a user.
Can I see a database password again?
Yes, if SrvYard created the user: use Reveal password on the Users tab. If the user was imported, SrvYard has no copy, so reset the password instead and update your .env. See Create a database and a user.
How do I connect my site to its database?
Switch on Connect to database when you create a PHP site and SrvYard writes the settings into the .env, or edit them yourself later. On the same server use 127.0.0.1 as the host. See Connect a site to its database.
How can I reach a database from my own computer?
Use an SSH tunnel, which needs only your own SSH key on the server, and point your database client at the local end. Do not open port 3306 or 5432 to the whole internet. See Remote access, phpMyAdmin and SSH tunnels.
How do I import or export a database?
There is no import or export button. Export by running a backup and downloading the SQL file; the download link is valid for five minutes. Import a dump through an SSH tunnel or over SSH. See Import and export a database.
Should I use Redis or Memcached?
When in doubt, Redis. It can serve cache, sessions and queues in Laravel and can persist data. Memcached is a simpler cache that loses everything on restart. Check the Services tab first, as Redis may already be installed. See Redis, Memcached and cache services.
Does SrvYard install Elasticsearch or Typesense?
No. Meilisearch is the only search engine it installs and manages. Others can be installed by hand over SSH, but SrvYard will not manage them. See Meilisearch and other search services.
06SSL
7 questionsAre certificates free, and do they renew by themselves?
Yes. SrvYard gets Let's Encrypt certificates for you. They last 90 days and SrvYard renews them before they expire, emailing owners and admins if a renewal does not go through. See Get a free Let's Encrypt certificate and How renewals work.
Why did my certificate request fail?
Nearly always outside SrvYard: the domain's A record does not point at the server yet, port 80 is closed or redirected, or Let's Encrypt has asked you to wait. SrvYard checks the DNS records first and names the culprit. See Find out why a certificate failed.
Can I get a wildcard certificate?
Yes, with DNS validation. SrvYard adds a temporary TXT record in Cloudflare, so the domain's DNS must be hosted there. HTTP validation cannot issue wildcards. See Wildcard certificates with DNS validation and Connect Cloudflare.
Does a custom certificate renew automatically?
No. SrvYard cannot ask your authority for a new one, so you replace it by hand before it expires. The key must be in PEM format without a passphrase. See Install a custom certificate.
What does Force HTTPS do, and why do I get too many redirects?
It redirects every HTTP request to HTTPS and adds an HSTS header. Too many redirects usually mean a proxy such as Cloudflare in Flexible mode talks to the server over HTTP. Make it connect over HTTPS. See Force HTTPS and HSTS.
I added a domain to a site that already has a certificate. Is it covered?
Not yet. The new name is not on the existing certificate, so request a certificate again with the new name ticked. Until you do, visitors to that name see a certificate warning. See Get a free Let's Encrypt certificate.
Does the free srvy.sh address get a certificate automatically?
Yes. SrvYard waits, for up to about ten minutes, until the name resolves to your server and then requests the certificate itself. You only need the article for your own domains, wildcards, or when that automatic request failed. See Get a free Let's Encrypt certificate.
07Runtimes
7 questionsCan one server run several PHP versions?
Yes. Each version gets its own PHP-FPM service, and every site chooses its own, so an old application can stay on 8.3 while a new one uses 8.4. You install versions from the Runtimes tab. See Choose and switch PHP versions.
Why does php -v show a different version from my site?
The command line uses the CLI default, and each site uses its own PHP-FPM version. That is normal. Ask for a specific version with a command such as php8.3 -v. See Choose and switch PHP versions.
How do I install a PHP extension?
Switch it on for the right PHP version on the Runtimes tab. If the error persists, the site is probably on another version than the one you changed, so check the version's Sites column. See PHP extensions and php.ini settings.
Why do large uploads still fail after I raised the limit?
Something else in the chain is smaller: the application's own limit, or client_max_body_size in the site's Nginx file, which allows 64 MB by default. PHP's upload and post limits must also be large enough. See PHP extensions and php.ini settings.
Can a site use its own Node.js version?
Yes. You can pin a version per site, and a pinned site ignores the server-wide change. pnpm and Yarn are enabled through Corepack with one button, and Bun is installed from the same Node.js card. See Node.js versions and package managers.
How do I install private Composer or npm packages?
Add the credential on the server's Packages tab, or on the site, for the same Linux user the site runs as. The host must match exactly, and a site credential beats a server one. See Composer and global tools.
My code changes do not show up after switching OPcache for production. Why?
That is what the setting does: PHP stops checking files for changes. Reload PHP-FPM from the version's menu, or let your deploy script do it. See PHP extensions and php.ini settings.
08Backups
7 questionsWhere are my backups stored?
In a bucket you own, at an S3-compatible service such as Amazon S3, Backblaze B2, Cloudflare R2, Hetzner or DigitalOcean. SrvYard never keeps them on the server they came from. You connect the bucket once for the organisation. See Add an S3-compatible storage provider.
Which plans include backups?
Pro and Business. Hobby does not include database backups, file backups or snapshots. Snapshots you already have stay listed, but you cannot take new ones. See Compare plans and know your limits.
What do database backups cover, and when do they run?
MySQL, MariaDB and PostgreSQL databases you choose. The dump is compressed on the server and uploaded to your bucket on a schedule that uses the server's timezone, not yours. See Schedule database backups.
Can I back up uploaded files too?
Yes. A file backup copies folders such as storage/app or a WordPress uploads folder, and you can leave out what you can rebuild. You can encrypt the archives with a passphrase of at least 12 characters. See Back up site files.
What is the safest way to restore?
Restore into a new database or directory first, and look before you overwrite anything. Restoring over live data asks you to type the database name, so take a fresh backup of what is there first. See Restore a database or files.
What is the difference between a backup and a snapshot?
A backup saves your data to your bucket. A snapshot is a full-server image taken and billed by your cloud provider, useful before a risky change. A server added as a custom VPS cannot be snapshotted. See Provider snapshots.
How long are backups kept, and will I know if one fails?
You choose with Keep the last and an age limit, and older archives are deleted. Owners and admins always get a failure email, and you can add other addresses. Test a restore now and then. See Retention, failure alerts and testing a restore.
09Monitoring
8 questionsHow does SrvYard measure my server?
Once a minute it connects over SSH, reads the figures from the operating system and disconnects again. You install no agent. The results appear as tiles and charts on the server's Monitoring tab. See Read your server's metrics and charts.
What does the Stale badge mean?
The newest reading is more than three minutes old, usually because SrvYard cannot reach the server. Stale numbers describe the past, so fix the connection first. Gaps in a chart never change the state of a monitor. See Read your server's metrics and charts.
Does SrvYard check from outside that my site is up?
No. It does not poll your public site on a timer. Instead, heartbeats tell you when a scheduled task stops, and a health check runs after every deployment. See Get told when a scheduled task stops running and See how a site is doing with Observe.
What is a heartbeat?
A URL that your cron job or script requests when it finishes. If a ping does not arrive within the frequency plus your wait, the heartbeat is missed and owners and admins are notified. It catches silent failures such as a scheduler that never started. See Get told when a scheduled task stops running.
How do I get an alert when CPU or disk runs hot?
Create a server monitor with a threshold and a duration, such as 90 per cent for five minutes, and choose who is told. It needs a plan with server monitoring, and a server can have at most 20 monitors. See Get alerted when CPU, memory or disk run hot.
Can alerts go to Slack, Discord or Telegram?
Yes. Add a notification channel for Slack, Discord, Telegram or email, then filter it by event, severity and scope. An organisation can have 20 channels. See Send alerts to Slack, Discord, Telegram or email.
How long is the activity log kept?
The activity feed keeps the last 14 days and cannot be switched off. If you need a longer record, copy what you need or fetch it through the API on a schedule. See Find out what happened with the activity log.
Can I see slow requests and exceptions?
Yes, by connecting a Laravel site to TraceBeat or Nightwatch. SrvYard writes the settings into the .env and runs the agent, but you add the laravel/nightwatch package to your own code. See Send requests, jobs and exceptions to TraceBeat or Nightwatch.
10Teams & billing
8 questionsWhat do the Hobby, Pro and Business plans include?
Hobby is free: 1 organisation, 1 server, 3 sites, 3 members and 100 deployments a month. Pro allows 3 organisations, 10 servers and 10 members, and adds the API, webhooks, backups and monitoring. Business has unlimited servers and adds teams and AI explanations. See Compare plans and know your limits.
Who can see the Billing page?
Only the owner, who holds the billing:manage permission. Everyone else can use the Usage page, which shows the same meters against the plan. The plan belongs to the owner's account, so changing it affects every organisation they own. See Change your plan, update payment details and find invoices.
Why was my downgrade refused?
You use more servers, sites, members or organisations than the smaller plan allows. The message names each one and how many you use against the limit. Reduce those and try again. See Change your plan, update payment details and find invoices.
Which roles are there?
Five built-in roles: Owner, Admin, Manager, Developer and Viewer. They work on every plan. Creating custom roles needs a plan with teams and roles, which Business includes. See Choose and create roles for your team.
Can I limit a member to certain servers and sites?
Yes, with teams on the Business plan. A role says what a member may do and a team says where. Share servers or single sites with a team, and its members see only those. See Limit members to certain servers and sites with teams.
Why can my colleague not accept the invitation?
The invitation belongs to the exact email address you typed, and the link expires after seven days. If they signed up with another address, revoke it and invite the right one. See Invite team members and manage who has access.
What happens when I cancel my subscription?
Cancelling takes effect at the end of the period you paid for, and the Cancels badge shows the date. It does not touch your servers. Deleting an organisation is separate and cannot be undone. See Cancel a subscription, export your configuration and delete an organisation.
Can I run several organisations?
Yes. You can own one on Hobby, three on Pro and ten on Business, and you can belong to more as a member. Servers and sites belong to one organisation each, so switch with the picker at the top of the sidebar. See Create, rename and switch organizations.
11Integrations
7 questionsWhich Git hosts can I deploy from?
GitHub, GitLab (including a self-hosted one) and Bitbucket, plus any other Git server through a Custom Git URL. Push to deploy needs one of the three connected hosts. See Connect GitHub and Connect GitLab, self-hosted GitLab and Bitbucket.
What permissions does the GitHub token need?
repo, admin:repo_hook and read:org. SrvYard checks the token with GitHub before saving it and tells you if one is missing. Without admin:repo_hook, push to deploy cannot register its webhook. See Connect GitHub so SrvYard can deploy your repositories.
How do I connect GitLab or Bitbucket?
GitLab uses a personal access token with the api and write_repository scopes. Bitbucket uses your username and an app password, not your email address or account password. See Connect GitLab, self-hosted GitLab and Bitbucket.
How do I get deployment alerts in Slack or Discord?
Create an incoming webhook in Slack or Discord, paste its address into SrvYard as a channel, press Test, then choose the events and severities it receives. A single site can also have its own channel. See Send notifications to Slack and Discord.
What are outgoing webhooks for?
They send signed JSON about deployments, certificates and more to your own software. They need the Pro or Business plan and a public https address, and an organisation can have 20. See Send events to your own systems with outgoing webhooks.
Does SrvYard create my DNS records?
No. Cloudflare is used only to prove you control a domain for certificate validation. You still create the A and CNAME records that point the domain at your server at your DNS host. See Connect Cloudflare for DNS validation.
Can I migrate from Ploi or VitoDeploy?
Yes. A read-only token lets SrvYard draft your servers, sites and settings, and you then connect the real server and adopt its sites. Nothing is changed in the old panel. See Migrate from Ploi or VitoDeploy.
12API
7 questionsWhich plans include the API?
Pro and Business. On Hobby every call is answered 403 with the code plan_required, and the Create token button is disabled. Your role also needs the tokens:manage permission, which every built-in role has. See Create an API token and pick scopes.
What can a token do?
Only what its scopes allow, and never more than its owner's role in that organisation. A token belongs to you and works in one organisation. Choose the smallest set of scopes the job needs. See Create an API token and pick scopes.
I lost my API token. Can I see it again?
No. It is shown once. Revoke it and create a new one. Scopes cannot be edited afterwards either, so a token that lacks a scope also needs replacing. See Create an API token and pick scopes.
What is the rate limit?
A token may make 60 requests a minute, and 10 a minute for the heavier operations. The limit is per token, so give each job its own. After a 429, wait for the time in the Retry-After header. See API conventions.
Why did my call return 202 and not the result?
Slow work such as a deployment is asynchronous. The 202 answer includes a status_url, which you poll until the work finishes. Always send Accept: application/json. See API conventions for authentication, pages, errors and rate limits.
How do I trigger a deployment from a script?
Call the deployment endpoint with a token that has sites:manage-deploys and sites:view, then poll the deployment and read its log. The article shows each request with curl. See List servers and sites and trigger actions through the API.
How do I verify a webhook signature?
Compute an HMAC-SHA256, in hex, of the timestamp, a dot and the raw request body, using your webhook's secret as the key. Compare it with every v1 value in the X-SrvYard-Signature header. See Receive event webhooks and verify their signatures.
13Security
7 questionsHow do I protect my account with two-factor authentication?
Turn it on in your account's Security page with any authenticator app, keep the recovery codes somewhere safe, and consider adding a passkey. Owners can require two-factor from every member of an organisation. See Turn on two-factor authentication and manage your sessions.
I lost my phone. Can I still sign in?
Yes, with a recovery code: choose the Recovery code option at the sign-in prompt, then set two-factor up again on the new phone. If you have lost the codes too, nobody in your organisation can switch it off; contact support. See Turn on two-factor authentication and manage your sessions.
What credentials does SrvYard store?
It keeps what it needs to work, such as SSH keys and provider tokens, encrypted with the application's key. Values it only has to check, like API tokens, are hashed, and some are shown once and never again. See What SrvYard stores about you and how secrets are protected.
Can SrvYard staff read my .env file?
The value is encrypted at rest, which protects a leaked database but not a compromised application server. Ask support about your organisation's requirements for administrative access. See What SrvYard stores about you and how secrets are protected.
How should I look after API tokens?
Give each token one job, a short life and the fewest scopes, check Last used regularly and rotate on a schedule. Revoke what you do not need. Tokens are personal and lose their powers if their owner is removed. See Keep API tokens safe and review the sign-in log.
What does SrvYard lock down on a new server?
A provisioned server starts with password logins off, a firewall that denies everything except SSH, HTTP and HTTPS, and automatic security updates. Keeping it that way is yours: every port, key and package you add changes the picture. See Harden your servers with the firewall, SSH keys and updates.
How do I give people the least access they need?
Start with the lowest role that works and add access on request. A role decides what a person may do and a team decides what they may see, and a member needs both. Review the list each quarter. See Give people the least access they need and audit what they do.
14Troubleshooting
7 questionsWhat should I do when a server shows Disconnected?
Read the reason SrvYard recorded, then work through the checklist on the server page, running the repair commands in your provider's console if needed. SrvYard rechecks about every five minutes and returns the server to Ready by itself. See Fix a server that will not connect.
A deployment failed. Where do I start?
Open the deployment and read the first error line in its output, not the last. The Why it failed card, where your plan includes it, gives a plain-language hint. Then match the message to the usual causes. See Find out why a deployment failed and fix it.
What does a 502 Bad Gateway mean?
Nginx is running but the program behind it, PHP-FPM or a Node.js process, did not answer. Check the services, that the site's PHP version exists, and the Nginx error log. It often follows a deployment or a PHP change. See Fix a 502 Bad Gateway on your site.
My certificate failed. What do I check first?
DNS, then port 80, then rate limits, then DNS validation, in that order. A failed request never replaces a working certificate, but a site set to Force HTTPS with none gives visitors an error. See Find out why a certificate failed and issue it again.
My domain shows the wrong site or a placeholder. Why?
Three different problems look alike: DNS still points at another machine, Nginx did not recognise the name, or the site was never deployed. The SrvYard placeholder means the request arrived but nothing was deployed. See Fix the wrong site, an empty page or a placeholder after a DNS change.
Why are my queued jobs not running?
The worker is missing or stopped, listens to a different connection or queue than your app uses, runs old code, or QUEUE_CONNECTION is sync. Check the worker on Processes, then restart it. See Fix queued jobs that are not being processed.
My server disk is full. What can I safely remove?
First find what uses it on the Monitoring tab and with du, then clear old logs and caches, and lower Deployments to keep so fewer releases stay. Take a backup before deleting anything you did not create. See Fix a full disk, low memory or a slow server.
Still unsure? Try it on one server.
Free: 1 server, 3 sites, 100 deploys a month. Read the docs first if you prefer.