SrvYard
Sign in Start free
features / sites

One site per application, with its own domains, environment file and PHP version.

Choose a type, a server and a domain. SrvYard creates the site folder and the Nginx configuration (and, with website isolation, a Linux user and PHP-FPM pool of its own), and starts the first deployment when you connected a repository. Laravel, Symfony, Statamic, WordPress, plain PHP, Next.js, Nuxt.js and static sites are covered; anything else is yours to wire up.

what creating a site sets up on the server
user          srvyard, or its own with website isolation
directory     /home/srvyard/<domain>
php-fpm       the server's pool for that PHP version, or its own pool with isolation
nginx         a server block per domain
placeholder   served until the first deploy
database      optional, created with the site
certificate   requested by itself on a free srvy.sh name

01Site types

New site
TypeWhat it is
Laravel, Symfony, Statamic PHP frameworks that serve /public. Composer install is added to the deploy script, the environment file is shared between releases, and the Laravel type gets a panel with the scheduler, Horizon, Octane, Reverb and Inertia SSR.
WordPress Downloaded and installed for you, with its own database. No repository needed.
phpMyAdmin A site type for the databases of a server: pinned release 5.2.3, MySQL or MariaDB only, HTTP Basic authentication in front by default.
PHP Any PHP application served through PHP-FPM.
Next.js, Nuxt.js Nginx as a proxy to your Node application, or the static build. They always deploy with zero downtime and can pin their own Node.js major.
Static HTML HTML, CSS and JavaScript served straight by Nginx.
Other You choose PHP or static files and the web directory, and write the deploy script. This is not a managed path for Python, Ruby, Go, Java or .NET: the language, its process and the Nginx wiring are your own work.

02Creating one

about ten minutes with a repository
  1. Server

    A server that is Ready and runs Nginx. Database and cache servers do not. The PHP versions and database engines the form offers come from this server.

  2. Code

    No repository, a Git provider connection (GitHub, GitLab or Bitbucket) with owner, repository and branch pickers, or a custom Git URL: public over HTTPS, or SSH with a deploy key SrvYard creates. A site made without a repository cannot get one later.

  3. Domain

    A free srvy.sh name, or your own, with the www behaviour and wildcards. A database can be created and written into the environment file in the same step.

  4. Advanced

    Root directory and web directory, PHP version, website isolation, package manager and build command, zero-downtime on or off, and credentials for private Composer and npm registries.

  5. Create

    Watch it install. With a repository the first deployment starts by itself. If installation fails, Retry installation skips the steps that finished.

The new Laravel site form: server, source control choice, a free srvy.sh subdomain that is available, Nginx template and Composer options
fig 1The form for a Laravel site. The free subdomain is checked while you type, and the server decides which PHP versions and database engines are offered.

Four choices are final: the type, the root directory, website isolation and zero-downtime releases. Decide them on the form. Isolation gives the site its own Linux user and PHP-FPM pool, so one site cannot read another’s files; without it every site on the server runs as the same user.

Create a site on your server, in the docs

03Domains and DNS

the Domains tab
Domains tab of a site: two domains with their www behaviour and DNS status, and the DNS records to create
fig 2The domains of a site with their DNS state, and the exact records to create. Points here means the name resolves to this server.
  • A site answers on every domain you list, up to 25. One is primary: it decides the certificate and the www behaviour.
  • www can be left alone, redirected to the bare name, or the other way round. A wildcard answers on every subdomain, and needs a wildcard certificate.
  • A domain is served as soon as Nginx accepts the change. DNS is yours: create an A record at your DNS host. SrvYard shows Points here or DNS pending with what it found, and re-checks pending names every five minutes for the first day.
  • Behind a CDN proxy the name resolves to the proxy, so it shows DNS pending although the site works.
  • After adding a name, reissue the certificate so it covers it.

Domains and DNS records, in the docs · Free subdomains · SSL

04The environment file

the Environment tab

SrvYard keeps an encrypted copy of the site’s .env and writes it to the server as the site user with mode 0600. The file lives once at the site root (/home/srvyard/<domain>/.env on a site created today) and is linked into every release, so every release sees the same one.

  • A Normal editor with masked values and a Developer editor for the whole file.
  • On save you choose what follows: run php artisan config:cache, restart queue workers, or save and deploy. A deployment already running does not see a change made while it runs.
  • Only owners, admins and roles with the environment permission can read or write it. Everyone else sees a Restricted notice.
  • Reload from server pulls the file back if someone changed it over SSH.

Edit environment variables, in the docs

Environment tab of a site: variable rows with masked values and the save options beside them
fig 3Values are masked until you reveal them. The panel on the right says what is on the server and when it was last saved.

05What else a site has

one tab each
TabWhat it does
Deployments Release folders, rollback, push to deploy, the deploy hook, a health check. Deployments.
Logs and Commands Read the Nginx, Laravel and PHP logs. Run a one-off command such as artisan or composer as the site user, with a history and a prompt before risky commands.
Processes Queue workers and any other long-running command, kept alive by Supervisor. Scheduler and daemons.
Network HTTP Basic authentication for the whole site or one path, and 301 or 302 redirect rules, including a CSV import. These do not apply to a site whose Nginx text you replaced completely.
Settings Repository and branch, root and web directory, PHP version (switching creates a new pool and removes the old), Nginx configuration, notifications, and deleting the site.
Observe Heartbeats, the post-deployment health check, logs and 14 days of activity of the site in one place.
Backups File backups of the site’s own folders. Backups.

06Sites that already exist

adopt, move, delete

Adopt what is already there

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 each step can be rolled back. On an adopted server the firewall is observe-only. See migrate and adopt an existing site.

Move or remove one

There is no one-click move to another server. You build the site on the new server, check it, and then switch DNS; switch off queue workers and the scheduler on the old one. Deleting a site removes its files, Nginx configuration, certificates, processes and scheduled jobs, and releases a free subdomain. It does not drop databases, delete backups already taken or touch DNS records at your own provider.

07Plans and limits

from the plan catalogue

Sites per organisation: Hobby 3, Pro unlimited, Business unlimited. When you reach the limit the form says Site limit reached and Create site stays disabled. Every site type is on every plan.

Compare plans · Create a site, in the docs

Not covered

  • Python, Ruby, Go, Java and .NET as site types.
  • Docker, Docker Compose and Kubernetes.
  • Adding a repository to a site created without one.
  • Changing a site’s type, isolation or zero-downtime choice after creation.

08Site questions

answers from the docs
Which site types can I create?

Laravel, Symfony, Statamic, WordPress, phpMyAdmin, PHP, Next.js, Nuxt.js, static HTML and Other. Python, Ruby, Go, Java and .NET are not site types: the Other type lets you write your own deploy script, but the language and its process are your own work. See What SrvYard supports.

Can I add a repository to a site I created without one?

No. The form warns that a site created without a repository cannot get one later. Create a new site with the repository and move the domain across. See Create a site on your server.

What cannot be changed after a site is created?

The site type, the root directory, website isolation and zero-downtime releases. The repository and branch, web directory, PHP version, domains and environment can all be changed later. See Create a site on your server.

Can one site answer on several domains?

Yes, up to 25. One is primary and decides the certificate and the www behaviour; the others are aliases. DNS stays with you: create an A record for each name, and SrvYard shows Points here or DNS pending. See Add a domain, a free subdomain and DNS records.

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, and switch off queue workers and the scheduler on the old server. See Delete, rename or move a site.

What does deleting a site remove?

Its files, Nginx configuration, certificates, processes and scheduled jobs, and it releases a free subdomain. It does not drop databases, delete backups already taken or change DNS records at your own provider. See Delete, rename or move a site.

Create a site and read the first deploy log.

Free: 1 server, 3 sites, 100 deploys a month. Read the docs first if you prefer.