Services

Choose the web server, databases, caching and search engines that run on a host.

The host's Services tab is where you choose the server-level services: the web server, the databases, the caching layers, and the search engine. Enable a service and pick its version; the left-hand menu lists each service.

The Services tab showing the web server and database services
The Services tab showing the web server and database services

This tab covers:

  • Web server - Nginx or Apache
  • Databases - MySQL, PostgreSQL, MongoDB, and SQL Server
  • Caching and queues - Redis, Varnish, and RabbitMQ
  • Search - Elasticsearch and OpenSearch

Web server

Each host runs one web server, selected with webserver:

Value Description
nginx High-performance web server and reverse proxy. Recommended for most workloads.
apache2 Widely compatible; useful when an app needs .htaccess or Apache modules.

Databases

Enable and pick a version for each database you need:

Service Setting Notes
MySQL (Percona) mysql_version e.g. 8.0-8.4. Buffer pool auto-sized (mysql_innodb_size).
PostgreSQL postgresql_version e.g. 16-18. Shared buffers auto-sized (postgresql_shared_buffers).
MongoDB (Percona) enable + version e.g. 7.0-8.0.
Microsoft SQL Server enable + version When required.

You can administer MySQL through phpMyAdmin, and enable Advanced Database Monitoring (under the host's Advanced tab) for deep database monitoring - see Monitoring (concepts).

Client-only mode

MySQL and PostgreSQL each have a Client only toggle. Turn it on when the database does not run on this host but on another server. TurboStack then installs only the database client tools, and the server settings (bind address, buffer sizes, extensions, extra access) disappear from the form.

The Services tab with the MySQL panel in client-only mode: the Client only toggle switched on, the note that server-specific settings are hidden, and the MySQL Client Host Name and Client Host IP fields
The Services tab with the MySQL panel in client-only mode: the Client only toggle switched on, the note that server-specific settings are hidden, and the MySQL Client Host Name and Client Host IP fields

Two fields replace them:

Field What to enter
Client Host Name The host name of the server that runs the database (mysql_client_host_name / postgresql_client_host_name).
Client Host IP The address of that same server (mysql_client_host_ip / postgresql_client_host_ip).

This is the application-server half of a split setup: this host runs the web server and the application, and a separate host runs the database engine. It keeps database load off the application server, and lets several application servers share one database.

# Application server: no local database engine, connect to db1 instead
mysql_version: "8.4"
mysql_server: false            # what the "Client only" toggle sets for MySQL
mysql_client_host_name: db1.example.com
mysql_client_host_ip: 10.0.0.5

# PostgreSQL uses its own key for the same thing
# postgresql_client_only: true
# postgresql_client_host_name: db1.example.com
# postgresql_client_host_ip: 10.0.0.5

The database server itself is a second host configuration - see Application server plus a separate database server.

Microsoft SQL Server edition

When you enable Microsoft SQL Server you also pick an edition (mssql_edition): Developer, Enterprise, Express, Standard or Web. If you do not choose one, Express is installed. The editions differ in features, in the limits they impose, and in licensing, so check what your license allows before you pick one.

Caching and queues

Service Notes
Redis Enabled by default. Two instances by convention: port 6379 = cache (transient, safe to clear) and 6378 = persistent (durable sessions/critical state).
Varnish HTTP reverse-proxy cache, enabled per application (varnish_enabled); size auto-tuned. Advanced users can supply custom VCL (expert feature - easy to break).
RabbitMQ AMQP message broker for background/async job queues.

Enable Elasticsearch or OpenSearch and pick a version (Elasticsearch 8.x-9.x, OpenSearch 2.x-3.x). The JVM heap is auto-sized; plugins are configurable. OpenSearch supports nightly snapshots of your indices.

Both engines offer the same three extras once you pick a type and a version:

Setting Description
Install Kibana / Install OpenSearch Dashboards Installs the engine's web interface, so you can inspect indexes and run queries in a browser (elasticsearch_kibana, opensearch_dashboards). Off by default.
Plugins A multi-select of extra engine plugins, for example language-specific analysis for better search results (elasticsearch_plugins, opensearch_plugins).
Heap size The memory the engine may use. It is auto-scaled to the server by default; turn the toggle on to enter your own size and unit (elasticsearch_heap_size, opensearch_heap_size).
opensearch_version: "3.x"
opensearch_dashboards: true
opensearch_plugins: [analysis-icu]

Reaching the web interface

Once installed, the interface is served by the host's own web server on a fixed path:

Interface Address
Kibana (Elasticsearch) https://<host>/kibana
OpenSearch Dashboards https://<host>/dashboards

The web server asks for a user name and password before it lets you through, and it accepts the host's system user accounts - the same credentials you use for SSH. The interface itself is never exposed directly; the web server reaches it over localhost.