[[configType]]
= config-type
:author: Artur Hefczyc <artur.hefczyc@tigase.net>
:version: v2.0, June 2017: Reformatted for Kernel/DSL

*Description:* This property sets the server type and determines what components are started up without needing to declare and configure all components. Possible values are listed below:

- `setup` - This setting will setup a basic server that is prepared for initial setup after unpacking. This is set by default, and starts up http component as well as basic server components. This should be changed after the server is configured.
- `default` - creates default configuration file. That is configuration which is most likely needed for a typical installation. Components included in configuration are: session manager, client-to-server connection manager and server-to-server connection manager.
- `session-manager` - creates configuration for instance with session manager and external component only. This is useful for distributed installation where you want to have session manager installed on separate machine and components managing network connections on different machines (one or more). Components included in configuration are: sm and ext2s.
- `connection-managers` - creates configuration for instance with components managing network connections. This is useful for distributed installation where you want to have session manager installed on separate machine and components managing network connections on different machines (one or more). Components included in configuration are: +c2s+, +s2s+, +ext2s+.
- `component` - generating a configuration with only one component - component managing external components connection, either XEP-0114 or XEP-0225. This is used to deploy a Tigase instance as external component connecting to the main server. You have to add more components handled by this instance, usually these are MUC, PubSub or any other custom components. You have to refer to description for xref:compName[--comp-name] and xref:compClass[--comp-class] properties to learn how to add components to the Tigase instance. You also have to configure the external component connection, domain name, password, port, etc... Please look for a description for xref:external[--external] and xref:bindExtHostnames[--bind-ext-hostnames] properties.
- ` ` - If none is setup, the server will be unable to run as no key is set for `null`.

*Default value:* `'config-type' = 'setup'`

*Possible values:* `setup`|`default`|`connection-managers`|`session-manager`|`connection-managers`|`component`

*Available since:* 2.0.0
