The bottom of your error states `Placeholder value is found. Please specify valid configuration for State Store database`. This means that the state configuration (which you can find in the cd_deployer_conf.xml contains some placeholder value (${...}) instead of an actual value. This is the state store configuration block : <State> <Storage Adapter="${dbadapter}" driver="${dbdriver}"> <Property Name="host" Value="${dbhost}"/> <Property Name="port" Value="${dbport}"/> <Property Name="database" Value="${dbname}"/> <Property Name="user" Value="${dbuser}"/> <Property Name="password" Value="${dbpassword}"/> <Property Name="validationQuery" Value="${dbvalidationquery}"/> </Storage> </State> You could either make sure that either you replace these placeholder values with actual values, or that you set an environment value for each of these. If you want to know the values to use (it should be possible to reuse the same DB as your regular Broker DB), you should check the examples (that are commented out in the same xml file) provided for oracle or sql server. Edit : - After some further testing, it turns out the problem is due to one of the configuration values (in this case the password) having a $ character. The reason for this is that the propertyvalues can be filled in using environment values, via the construct `Value="${environment-variable-name}"`. In the microservice code, there seems to be a check that fires an error if a $ character is found in the property value. Usually, this would mean the environment variable could not be resolved- in that case it makes sense to throw an error, but this also triggers the same error when a value actually contains a $ character. Edit 2 - Some more information regarding the construct `${contentqueuename-ContentQueue}` This allows you to fill in a property value using an environment variable. the value after the - (in the example "ContentQueue") would be a fallback value in case the environment variable does not exist.