# SrvYard Docs > Documentation for SrvYard, a platform that connects your servers, deploys your sites and keeps them running. ## Getting started - [What SrvYard is and how it works](https://docs.srvyard.com/getting-started/what-is-srvyard): SrvYard connects to your Ubuntu servers over SSH and lets you create sites, deploy code, manage databases, certificates, backups and teams from one dashboard, without writing the shell scripts yourself. - [Deploy your first site in ten minutes](https://docs.srvyard.com/getting-started/deploy-your-first-site): From a ready server to a Laravel site answering on its own address: create the site, deploy it, read the log and check it is live. The shortest path through SrvYard. - [Create your account, verify your e-mail and set up two-factor](https://docs.srvyard.com/getting-started/create-your-account): Register with a social account or an email address, confirm your address, create your first organisation, and protect the account with two-factor authentication and a passkey. - [What SrvYard supports and what it does not](https://docs.srvyard.com/getting-started/what-srvyard-supports): The site types, PHP and Node.js versions, databases, services, cloud providers, operating systems and plan features SrvYard supports, and a plain list of what it does not do. - [A tour of the dashboard, sidebar and command search](https://docs.srvyard.com/getting-started/tour-of-the-dashboard): Learn where everything lives: the sidebar groups, the top bar, the notification bell, the command palette, the user menu and the dashboards you can rearrange to suit your team. - ["Organisations, servers and sites: how they fit together"](https://docs.srvyard.com/getting-started/organizations-and-servers-explained): The mental model behind SrvYard: an organisation holds people, billing and connections; servers are machines; sites live on exactly one server. Learn what belongs where and who sees what. - ["Before you go live: a launch checklist"](https://docs.srvyard.com/getting-started/launch-checklist): Work through HTTPS, backups, alerts, access and a rollback plan before real visitors arrive, with the exact screens in SrvYard to check each item. - ["Get help: docs search, the chat widget and support tickets"](https://docs.srvyard.com/getting-started/get-help): Find an answer in the docs in seconds, ask the support chat when you cannot, and open a ticket with attachments when you need a person to look at your problem. ## Servers - [Connect an existing server](https://docs.srvyard.com/servers/connect-an-existing-server): Register a machine you already rent (any provider that gives you root and SSH), authorise SrvYard's key with one command and let SrvYard install the stack for you. - [Provision a server at a cloud provider](https://docs.srvyard.com/servers/provision-with-a-cloud-provider): Let SrvYard create the machine for you at DigitalOcean, Hetzner, Akamai (Linode), Vultr, AWS or Proxmox, then install and secure the stack, all from one form. - [Add a server provider and its API token](https://docs.srvyard.com/servers/add-a-server-provider): Connect your DigitalOcean, Hetzner, Akamai (Linode), Vultr, AWS or Proxmox account so SrvYard can create servers there, and learn how to reconnect it when a token expires. - [Read the server overview](https://docs.srvyard.com/servers/server-overview): Find your way around a server's page: status badge, Actions menu, tabs, shortcut cards, usage, activity, deploy key, settings, identity and team access. - [Manage services and restarts](https://docs.srvyard.com/servers/services-and-restarts): See what software runs on a server, restart, reload, stop or start it, change whether it starts at boot, edit its configuration, read its logs and install or uninstall services. - [Add SSH keys to a server and to your account](https://docs.srvyard.com/servers/ssh-keys): Save a public key once, authorise it on the servers that need it, choose the login user, rename or remove it again, and have organisation keys added to every new server. - [Open and close ports with the firewall](https://docs.srvyard.com/servers/firewall-rules): Allow or deny traffic to a port, limit it to trusted addresses, import rules you added by hand and understand why SrvYard will never let you lock yourself out over SSH. - [Scheduled commands on a server](https://docs.srvyard.com/servers/scheduler-and-cron): Run a command every minute, hour, night or on a custom cron schedule, choose the user it runs as, read its output, pause it, and get told when a run is missed. - [Keep long-running processes alive with daemons](https://docs.srvyard.com/servers/daemons): Run queue workers and other long-running commands under Supervisor so they start with the server, restart when they crash and can be started, stopped, restarted and read from the dashboard. - [Install system packages and apply updates](https://docs.srvyard.com/servers/packages-and-updates): See how many operating system updates are waiting, apply them and install extra packages with a recipe, and give Composer and npm the credentials they need for private packages. - [Customise Nginx with templates](https://docs.srvyard.com/servers/nginx-templates): Write your own Nginx server block once, check it with nginx -t, and pick it for new sites on that server, for long uploads, extra headers or special routing. - [Rename, resize, delete or forget a server](https://docs.srvyard.com/servers/server-settings-and-deletion): Rename a server, change its address, generate credentials, allow private-network access, and choose between archiving, transferring and deleting it, with or without destroying the machine at the provider. ## Sites - [Create a site on your server](https://docs.srvyard.com/sites/create-a-site): Pick a site type, a server and a domain, connect a repository and press Create site. SrvYard builds the Linux user, PHP-FPM pool and Nginx configuration for you. - [Connect a repository and pick a branch](https://docs.srvyard.com/sites/connect-a-repository): Point a site at a GitHub, GitLab or Bitbucket repository, or at any Git URL, choose the branch that gets deployed and know what changes on the next deployment. - [Add a domain, a free subdomain and DNS records](https://docs.srvyard.com/sites/domains-and-dns): Make a site answer on more than one hostname, choose how www behaves, create the DNS records that point the names at your server and fix a domain that stays on DNS pending. - [Edit environment variables](https://docs.srvyard.com/sites/environment-variables): Edit a site's .env file in SrvYard, with masked values, a row editor and a text editor, and choose whether to rebuild the config cache, restart queue workers or deploy straight after saving. - [Run queue workers and the Laravel scheduler](https://docs.srvyard.com/sites/queue-workers-and-scheduler): Add a Supervisor-managed queue worker with the options you need, switch on the Laravel scheduler with one click, and keep both running across deployments. - [Run background processes for a site](https://docs.srvyard.com/sites/processes-and-daemons): Keep any long-running command alive with Supervisor: add a custom process, set its working directory and copies, start, stop and restart it, and read its log when it misbehaves. - [Add redirects and password protection](https://docs.srvyard.com/sites/redirects-and-basic-auth): Send old URLs to new ones with Nginx redirect rules, import them from a CSV file, and put a username and password in front of a whole site or one path with HTTP Basic authentication. - [Read site logs and run commands](https://docs.srvyard.com/sites/logs-and-commands): Read the Nginx, Laravel and PHP logs of a site from the dashboard, then run a one-off command such as artisan or composer as the site user, with a history and a safety prompt for risky commands. - [Use the Laravel panel for the scheduler, queues, Octane and maintenance mode](https://docs.srvyard.com/sites/laravel-panel): Switch on the scheduler, Horizon, Octane, Reverb and Inertia SSR from the site overview, and put a Laravel site into maintenance mode with an optional bypass secret. - [Adopt a site that is already on your server](https://docs.srvyard.com/sites/adopt-an-existing-site): Scan a server you already run, register its sites in SrvYard without moving or restarting anything, then take things over one at a time. A restore point and a roll back are kept. - [Delete, rename or move a site](https://docs.srvyard.com/sites/delete-or-move-a-site): Rename a site's label, delete a site and everything SrvYard created for it, and move a site to another server by building it there and switching DNS, with no downtime if you do it in the right order. ## Deployments - [Write and test a deploy script](https://docs.srvyard.com/deployments/deploy-script): The deploy script is the list of commands that runs on every deployment. Learn where it lives, what it can use, how a failure is reported and how to change it safely. - [Deploy automatically on every push](https://docs.srvyard.com/deployments/push-to-deploy): Turn on push to deploy so a push to your branch starts a deployment by itself. See how the webhook is registered and verified, what is ignored, how queued deployments behave and what to do when pushes do nothing. - [Deploy without downtime and roll back to an earlier release](https://docs.srvyard.com/deployments/zero-downtime-and-rollbacks): Understand how a zero-downtime site builds each version in its own folder and switches over in one step, how many releases stay on the server, and how to go back to one in seconds when a deployment goes wrong. - [Read a deployment log and find the failing step](https://docs.srvyard.com/deployments/read-a-deployment-log): Open a failed deployment, read its two log panels from the bottom up, use the AI explanation as a hint, and recognise the usual failures: Composer, migrations, Git access, out of memory and failed health checks. - [Set up health checks, release retention and deployment alerts](https://docs.srvyard.com/deployments/hooks-and-health-checks): Check that the site answers after every deployment, choose how many releases stay on the server, share folders between releases and get told by email, Slack, Discord, Telegram or a webhook when a deployment fails. - [Build front-end assets with Vite, npm, pnpm, Yarn or Bun](https://docs.srvyard.com/deployments/build-assets): Choose the package manager and build command, see what the generated deploy script runs, store a token for a private registry and fix common build failures such as a missing Node or an out-of-memory kill. - [Deploy from GitHub Actions and other CI](https://docs.srvyard.com/deployments/deploy-from-ci): Start a deployment from a pipeline with the secret deploy hook address or with the API, wait for the result, read the exit status in CI and keep the credentials out of your repository. - [Deploy now, redeploy and switch branches](https://docs.srvyard.com/deployments/quick-deploy): Start a deployment by hand, repeat one after a fix, cancel or unstick one, and change which branch a site deploys. Also what SrvYard cannot do: deploy an arbitrary older commit. ## Databases - [Create a database and a user](https://docs.srvyard.com/databases/create-a-database): Create a MySQL, MariaDB or PostgreSQL database on your server, give it a login with the right permissions, and keep the generated password safe. - [Connect a site to its database](https://docs.srvyard.com/databases/connect-from-your-app): Let SrvYard write the database settings into your site's .env when you create it, or add them by hand later, and check that the connection works. - [Remote access, phpMyAdmin and SSH tunnels](https://docs.srvyard.com/databases/remote-access-and-tools): Reach a database from your own computer through a safe SSH tunnel, install phpMyAdmin behind a password, and know when (and how) to let another server connect. - [Import and export a database](https://docs.srvyard.com/databases/import-and-export): Get a copy of a database out of SrvYard as a compressed SQL file, load a dump into a database, and restore a backup into a new database to try it safely. - [Redis, Memcached and cache services](https://docs.srvyard.com/databases/redis-and-cache): Install Redis or Memcached on a server, protect Redis with a password, point Laravel at it and manage the service: restart, logs, configuration and removal. - [Meilisearch and other search services](https://docs.srvyard.com/databases/search-engines): Run Meilisearch on its own server or beside your app, understand how its master key and network binding work, and connect Laravel Scout to it. ## SSL - [Get a free Let's Encrypt certificate](https://docs.srvyard.com/ssl/lets-encrypt-certificate): Issue a free HTTPS certificate for a site with HTTP or DNS validation, understand how renewal works, force HTTPS and fix a certificate that failed. - [Force HTTPS and HSTS](https://docs.srvyard.com/ssl/force-https-and-hsts): Redirect every visitor from HTTP to HTTPS, understand the Strict-Transport-Security header SrvYard adds, test the result and switch it off safely if something breaks. - [Wildcard certificates with DNS validation](https://docs.srvyard.com/ssl/wildcard-and-dns-validation): Connect Cloudflare once, then issue one Let's Encrypt certificate that covers every subdomain of your domain, or a certificate for a site that is not online yet. - [Install a custom certificate](https://docs.srvyard.com/ssl/custom-certificate): Install a certificate you bought or received from your own authority, create a signing request so the private key never leaves SrvYard, and know how to renew it by hand. - [How renewals work and what to do when one fails](https://docs.srvyard.com/ssl/renewals): When SrvYard renews a certificate, when it emails you, how failed requests are retried, and the exact steps to take when a renewal does not go through. ## Runtimes - [Choose and switch PHP versions](https://docs.srvyard.com/runtimes/php-versions): Install several PHP versions side by side on one server, choose the default for the command line and for new sites, and move a site to another version safely. - [PHP extensions and php.ini settings](https://docs.srvyard.com/runtimes/php-extensions-and-ini): Switch PHP extensions on and off per version, raise upload and execution limits for every version at once, tune OPcache for production and edit php.ini safely. - [Node.js versions and package managers](https://docs.srvyard.com/runtimes/node-and-package-managers): Install and switch Node.js on a server, give a site its own Node.js version, enable pnpm and Yarn through Corepack, add Bun, and choose the package manager your deploy script uses. - [Composer and global tools](https://docs.srvyard.com/runtimes/composer-and-global-tools): Where Composer comes from, how to give a server or a single site access to private Composer and npm registries, and how global tools such as Laravel Installer end up on the PATH. ## Backups - [Add an S3-compatible storage provider](https://docs.srvyard.com/backups/add-storage-provider): Connect a bucket at Amazon S3, Backblaze B2, Cloudflare R2, Hetzner, DigitalOcean or any S3-compatible service so that SrvYard can store your database and file backups there. - [Schedule database backups](https://docs.srvyard.com/backups/schedule-backups): Create a backup configuration that dumps your databases on a schedule, compresses them and uploads them to your own bucket, then pause it, run it by hand or change it later. - [Back up site files](https://docs.srvyard.com/backups/file-backups): Copy a site's uploads, shared storage or whole home folder to your own bucket on a schedule, leave out what you can rebuild, and encrypt the archives with a passphrase. - [Restore a database or files](https://docs.srvyard.com/backups/restore-a-backup): Bring a database or a site's files back from a backup, over the original or into a safe new place, and know what SrvYard checks, overwrites and leaves alone. - [Provider snapshots](https://docs.srvyard.com/backups/snapshots): Take full-server images at your cloud provider by hand or on a schedule, understand what they cost and capture, and start a new server from one when you need to go back. - [Retention, failure alerts and testing a restore](https://docs.srvyard.com/backups/retention-and-notifications): Decide how many backups to keep and for how long, make sure the right people hear when one fails, and prove that your backups restore before you need them. ## Monitoring - [Read your server's metrics and charts](https://docs.srvyard.com/monitoring/server-metrics): See CPU, memory, disk, load and network for a server, switch the chart range, tell fresh data from stale data and know when a number needs action. - [Get told when a scheduled task stops running](https://docs.srvyard.com/monitoring/uptime-and-heartbeats): Create heartbeat URLs that your cron jobs ping when they finish, choose how long to wait, and see which heartbeats are healthy, waiting or missed. - [See how a site is doing with Observe](https://docs.srvyard.com/monitoring/site-observability): Use the site's Observe tab to check heartbeats, the post-deployment health check, the logs and the last 14 days of activity in one place. - [Send requests, jobs and exceptions to TraceBeat or Nightwatch](https://docs.srvyard.com/monitoring/apm-and-errors): Connect a Laravel site to TraceBeat or Nightwatch so you can see slow requests, failing jobs and exceptions, with SrvYard setting up the agent and the .env for you. - [Send alerts to Slack, Discord, Telegram or email](https://docs.srvyard.com/monitoring/notification-channels): Add organisation channels that receive deployments, certificates, backups and monitor alerts, filter them by event, severity and scope, test them, and set what members get by default. - [Get alerted when CPU, memory or disk run hot](https://docs.srvyard.com/monitoring/alert-rules): Create server monitors with a threshold and a duration, choose who is told, and silence a monitor, a server or your own notifications when you need quiet. - [Find out what happened with the activity log](https://docs.srvyard.com/monitoring/activity-log): Read the 14-day activity feed of a server or site, filter it by type, use the notification centre for what reached you, and know where sign-in history and the audit record fit in. ## Teams & billing - [Invite team members and manage who has access](https://docs.srvyard.com/teams-billing/invite-members): Invite people by email with a role and optional teams, follow an invitation until it is accepted, and change a member's role, ban them or remove them. - [Choose and create roles for your team](https://docs.srvyard.com/teams-billing/roles-and-permissions): Understand the five built-in roles, what each can and cannot do, and create or clone a custom role with exactly the permissions a job needs. - [Limit members to certain servers and sites with teams](https://docs.srvyard.com/teams-billing/server-and-site-access): Create teams, add members, share servers or single sites with a team, and understand exactly which servers and sites each member can see. - [Create, rename and switch organizations](https://docs.srvyard.com/teams-billing/switch-and-manage-organizations): Add a new organization, switch between your organizations, change the name and the handle that appears in every address, and set the rules that apply to the whole organization. - [Compare plans and know your limits](https://docs.srvyard.com/teams-billing/plans-and-limits): See what Hobby, Pro and Business include, what each limit counts, what happens when you reach one, and where to check how close you are. - [Change your plan, update payment details and find invoices](https://docs.srvyard.com/teams-billing/change-your-plan): Upgrade or downgrade, switch between monthly and yearly billing, update the card Stripe holds, read the billing history and understand why a downgrade can be refused. - [Read the usage page](https://docs.srvyard.com/teams-billing/usage): See what your organisation uses against its plan, how many deployments ran and failed each day, where backup space goes, and export the figures as a CSV file. - [Cancel a subscription, export your configuration and delete an organisation](https://docs.srvyard.com/teams-billing/cancel-and-delete): Stop paying without losing what you have paid for, keep a copy of your configuration before you leave, and remove an organisation for good once its servers are gone. ## Integrations - [Connect GitHub so SrvYard can deploy your repositories](https://docs.srvyard.com/integrations/github): Connect a GitHub account with one click or an access token, know exactly which permissions SrvYard needs, see how sites use the connection, and fix a connection that GitHub no longer accepts. - [Connect GitLab, self-hosted GitLab and Bitbucket](https://docs.srvyard.com/integrations/gitlab-and-bitbucket): Connect a GitLab or Bitbucket account with a token or app password, point SrvYard at a self-hosted GitLab, and use any other Git server through Custom Git. - [Send notifications to Slack and Discord](https://docs.srvyard.com/integrations/slack-and-discord): Create a webhook in Slack or Discord, add it to SrvYard as a channel, test it, choose which events and severities it receives, and give a single site its own channel. - [Send events to your own systems with outgoing webhooks](https://docs.srvyard.com/integrations/webhooks): Add a webhook that receives signed JSON for the events you choose, verify each delivery, read the delivery history, redeliver or rotate the secret, and understand retries and automatic switch-off. - [Connect Cloudflare for DNS validation](https://docs.srvyard.com/integrations/dns-providers): Connect a Cloudflare account with a limited API token so SrvYard can prove you own a domain, issue wildcard certificates and renew them without you touching DNS. - [Migrate from Laravel Forge, Ploi or VitoDeploy](https://docs.srvyard.com/integrations/import-from-forge): Pre-fill SrvYard from another panel with a read-only API token, review what will be created, then scan and adopt the real server. Nothing is changed in the old panel or on any server. ## API - [Create an API token and pick scopes](https://docs.srvyard.com/api/create-an-api-token): Make a personal API token for CI or your own scripts, choose exactly what it may do, copy it once, test it with curl and revoke it when you no longer need it. - [API conventions for authentication, pages, errors and rate limits](https://docs.srvyard.com/api/api-conventions): How every SrvYard API call behaves: the bearer token, JSON envelopes, pages and filters, async work you poll, problem+json errors, idempotency keys and the rate limit. - [List servers and sites and trigger actions through the API](https://docs.srvyard.com/api/servers-and-sites-endpoints): Your first real API calls: list servers and sites, read one, create a site, queue a deployment, follow its log and roll back, with the scope each call needs. - [Receive event webhooks and verify their signatures](https://docs.srvyard.com/api/webhooks-and-events): Add a webhook to get signed JSON for deployments, certificates, backups and more, check the signature in PHP, Node.js or openssl, read the delivery history and redeliver. ## Troubleshooting - [Fix a server that will not connect](https://docs.srvyard.com/troubleshooting/server-will-not-connect): Work out why SrvYard shows a server as Disconnected or cannot finish installing it: the reason SrvYard recorded, the checklist, the commands to run in your provider's console and how to check again. - [Find out why a deployment failed and fix it](https://docs.srvyard.com/troubleshooting/deployment-failed): Open the failed deployment, read the first error in its output, use the Why it failed explanation, match the message to the usual causes and redeploy or roll back safely. - [Fix a 502 Bad Gateway on your site](https://docs.srvyard.com/troubleshooting/502-bad-gateway): Work out why Nginx cannot reach your application: check the services, match the PHP version, read the Nginx error log and restart the right process, with the usual causes after a deployment. - [Find out why a certificate failed and issue it again](https://docs.srvyard.com/troubleshooting/certificate-failed): Read the failure on the SSL tab, check DNS, port 80, rate limits and DNS validation in that order, then request the certificate again and make sure the site is not stuck redirecting to a missing certificate. - [Fix the wrong site, an empty page or a placeholder after a DNS change](https://docs.srvyard.com/troubleshooting/site-shows-wrong-content): Find out why a domain shows another site, a blank connection error or the "site created" placeholder after you changed DNS, and check each link in the chain: DNS, the server, the domain on the site, and the deployment. - [Fix queued jobs that are not being processed](https://docs.srvyard.com/troubleshooting/queue-not-processing): Check that a queue worker exists and is running, restart it after a deployment, match its connection and queue names to your application, and tell stuck jobs from jobs that fail. - [Fix a full disk, low memory or a slow server](https://docs.srvyard.com/troubleshooting/disk-full-or-slow-server): Read the Monitoring page to tell a full disk from a memory or CPU problem, find what uses the space, free it safely, reduce kept releases, and set monitors so the next warning comes by email. ## Security - [Turn on two-factor authentication and manage your sessions](https://docs.srvyard.com/security/two-factor-and-sessions): Protect your account with an authenticator app, passkeys and recovery codes, sign out devices you do not recognise, read the sign-in history, and require two-factor for a whole organisation. - [Keep API tokens safe and review the sign-in log](https://docs.srvyard.com/security/api-token-hygiene): Give each token one job, a short life and the fewest scopes, check Last used regularly, revoke what you do not need, rotate on a schedule, and read the sign-in log and the activity feed for anything unexpected. - [Harden your servers with the firewall, SSH keys and updates](https://docs.srvyard.com/security/server-hardening): What SrvYard already locks down on every server it provisions, and the checks that remain yours: keep ports closed, remove unused SSH keys, apply updates and reboots, protect databases and watch for change. - [What SrvYard stores about you and how secrets are protected](https://docs.srvyard.com/security/what-srvyard-stores): Which credentials SrvYard keeps, which of them are encrypted, which are only hashed, what is shown once and never again, how logs are scrubbed and how to remove your data. - [Give people the least access they need and audit what they do](https://docs.srvyard.com/security/permissions-and-audit): Choose the right built-in role or build a custom one, limit members to teams, review who can do what each quarter and use the activity feed and the API log to see who changed something.