Skip to content

Service Types#

The below lists all service types that can be defined via lagoon.type within a docker-compose.yml file.

Warning

Once a lagoon.type is defined and the environment is deployed, changing it to a different type is not supported and could result in a broken environment.

basic#

Basic container, good to use for most applications that don't have an existing template. No persistent storage. The port can be changed using a label. If an autogenerated route is not required (e.g. for an internal-facing service, set lagoon.autogeneratedroute: false in the docker-compose.yml)

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
TCP connection on 3000 3000 Yes No lagoon.service.port, lagoon.autogeneratedroute

basic-persistent#

Like basic. Will also generate persistent storage, defines mount location via lagoon.persistent.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
TCP connection on 3000 3000 Yes Yes lagoon.service.port, lagoon.autogeneratedroute, lagoon.persistent, lagoon.persistent.name, lagoon.persistent.size, lagoon.persistent.class

cli#

Use for any kind of CLI container (like PHP, Node.js, etc). Automatically gets the customer SSH private key that is mounted in /var/run/secrets/lagoon/sshkey/ssh-privatekey.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
- No No No -

cli-persistent#

Like cli, expects lagoon.persistent.name to be given the name of a service that has persistent storage, which will be mounted under defined lagoon.persistent label. Does NOT generate its own persistent storage, only used to mount another service's persistent storage.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
- No No Yes lagoon.persistent.name, lagoon.persistent

elasticsearch#

Elasticsearch container, will auto-generate persistent storage under /usr/share/elasticsearch/data.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
HTTP on localhost:9200/_cluster/health?local=true 9200 No Yes lagoon.persistent.size

kibana#

Kibana container.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
TCP connection on 5601 5601 Yes No -

logstash#

Logstash container.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
TCP connection on 9600 9600 No No -

mariadb#

A meta-service which will tell Lagoon to automatically decide between mariadb-single and mariadb-dbaas.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
- - - - -

mariadb-single#

MariaDB container. Creates cron job for backups running every 24h executing /lagoon/mysql-backup.sh 127.0.0.1.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
TCP connection on 3306 3306 No Yes lagoon.persistent.size

mariadb-dbaas#

Uses a shared MariaDB server via the DBaaS Operator.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
Not Needed 3306 No - -

mongo#

A meta-service which will tell Lagoon to automatically decide between mongo-single and mongo-dbaas.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
- - - - -

mongo-single#

MongoDB container, will generate persistent storage of min 1GB mounted at /data/db.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
TCP connection on 27017 27017 No Yes lagoon.persistent.size

mongo-dbaas#

Uses a shared MongoDB server via the DBaaS Operator.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
Not Needed 27017 No - -

nginx#

NGINX container. No persistent storage.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
localhost:50000/nginx_status 8080 Yes No lagoon.autogeneratedroute

nginx-php#

Like nginx, but additionally a php container.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
NGINX: localhost:50000/nginx_status, PHP: /usr/sbin/check_fcgi 8080 Yes No lagoon.autogeneratedroute

nginx-php-persistent#

Like nginx-php. Will generate persistent storage, defines mount location via lagoon.persistent.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
NGINX: localhost:50000/nginx_status, PHP: /usr/sbin/check_fcgi http on 8080 Yes Yes lagoon.autogeneratedroute, lagoon.persistent, lagoon.persistent.name, lagoon.persistent.size, lagoon.persistent.class

node#

Node.js container. No persistent storage.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
TCP connection on 3000 3000 Yes No lagoon.autogeneratedroute

node-persistent#

Like node. Will generate persistent storage, defines mount location via lagoon.persistent.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
TCP connection on 3000 3000 Yes Yes lagoon.autogeneratedroute, lagoon.persistent, lagoon.persistent.name, lagoon.persistent.size, lagoon.persistent.class

none#

Instructs Lagoon to completely ignore this service.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
- - - - -

opensearch#

OpenSearch container, will auto-generate persistent storage under /usr/share/opensearch/data.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
HTTP on localhost:9200/_cluster/health?local=true 9200 No Yes lagoon.persistent.size

postgres#

A meta-service which will tell Lagoon to automatically decide between postgres-single and postgres-dbaas.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
- - - - -

postgres-single#

Postgres container. Creates cron job for backups running every 24h executing /lagoon/postgres-backup.sh localhost.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
TCP connection on 5432 5432 No Yes lagoon.persistent.size

postgres-dbaas#

Uses a shared PostgreSQL server via the DBaaS Operator.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
Not Needed 5432 No - -

python#

Python container. No persistent storage.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
HTTP connection on 8800 8800 Yes No lagoon.autogeneratedroute

python-persistent#

Python container. With persistent storage.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
HTTP connection on 8800 8800 Yes Yes lagoon.autogeneratedroute

redis#

Redis container.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
TCP connection on 6379 6379 No No -

redis-persistent#

Redis container with auto-generated persistent storage mounted under /data.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
TCP connection on 6379 6379 No Yes lagoon.persistent.size

solr#

Solr container with auto-generated persistent storage mounted under /var/solr.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
TCP connection on 8983 8983 No Yes lagoon.persistent.size

varnish#

Varnish container.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
HTTP request localhost:8080/varnish_status 8080 Yes No lagoon.autogeneratedroute

varnish-persistent#

Varnish container with auto-generated persistent storage mounted under /var/cache/varnish.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
HTTP request localhost:8080/varnish_status 8080 Yes Yes lagoon.autogeneratedroute, lagoon.persistent.size

worker#

Use for any kind of worker container (like queue workers, etc.) where there is no exposed service port.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
- No No No -

worker-persistent#

Like worker, expects lagoon.persistent.name to be given the name of a service that has persistent storage, which will be mounted under defined lagoon.persistent label. Does NOT generate its own persistent storage, only used to mount another service's persistent storage.

Healthcheck Exposed Ports Auto Generated Routes Storage Additional customization parameter
- No No Yes lagoon.persistent.name, lagoon.persistent