YAML configuration reference

Every YAML parameter you can set on a TurboStack host, what it does and why it is useful, grouped by area.

A host's configuration is one YAML document. This reference lists every key you can set, what it changes on the server, and why you would use it.

The GUI and the Source (YAML) view describe the same configuration, so anything here can also be set through the forms where a field exists. Keys marked YAML only have no field in the GUI.

The sections

Section What it covers Keys
Applications The YAML keys you set per application (vhost) - domain, certificate, runtime, code deployment, proxying and per-application tuning. 43
Host services The YAML keys you set once per host - web server, databases, caching, queues, search, mail and database monitoring. 61
Users and access The YAML keys for system users, their applications, file transfer accounts, extra database users and SSH access. 14
Security The YAML keys for TurboShield and the firewall - protection level, bot lists, trusted clients, country rules and ports. 12

How a host configuration is structured

Host-level keys sit at the top. Below them, system_users lists the accounts, and each account has vhosts: its applications. A key belongs to exactly one of those three levels, which the Scope of every key tells you.

# Host level: services shared by every application on this server
webserver: nginx
mysql_version: "8.4"
redis_enabled: true

turboshield:
  enabled: true
  level: medium

firewall_whitelist:
  - 203.0.113.10        # office

# The accounts on this server
system_users:
  - username: prod

    # The applications owned by this account
    vhosts:
      - server_name: example.com www.example.com
        app_type: wordpress
        php_version: "8.4"
        cert_type: letsencrypt
        varnish_enabled: true

Keys you will not find here

Some variables appear in server output or in examples elsewhere but cannot be set by you:

  • Computed values. The platform derives them from what you did set. For example, the Node.js runtime is enabled by setting nodejs_version on an application, and there is no separate key to switch it on.

  • Platform-managed settings. The system type, monitoring level and backup schedule are set by Hosted Power for your server.