App Configurations

The app is configurable via environment variables that are sent through the setup API call post body. For example, if you want to configure the app port, the API call would look like this:

curl -fs -d '{ "license_key": "XXXX-XXXX-XXXX-XXXX" }' https://ktf83pe7y6.execute-api.us-east-1.amazonaws.com/beta/taas-distribution/setup-aio | bash

Configuration List

Required

  • license_key - this is how you authenticate as a user of the app

Optional

Config
Default
Detail

version

"latest"

Version of app being used, refer to release notes

market_access_version

"latest"

Version of the market-access image responsible for sending and receiving info from the exchanges; no release notes yet, more info on this later but most of the time shouldn't need to change this

app_port

"80"

If you want to have the app listen to a different port

platform

"linux/amd64"

Can be "linux/amd64" or "linux/arm64" set to match architecture of host.

domain_name

""

Required for SSL: used to generate certificate Always used for CSRF and CORS allowlist

is_ssl_enabled

"true"

If "true", it will setup an nginx reverse proxy that will automatically create an auto-renewing SSL certificate with let's encrypt. Requires connection to the public internet and the provided domain_name to be created and pointing to the host. Will always redirect to the secure port 443. Requires port 80 and 443 to be open to the public internet. If "false", it will use a non_secure nginx reverse proxy and only listen to app_port.

admin_email

Recommended to set this if is_ssl_enabled is "true". This is the admin email for let's encrypt, where you will be sent updates on your certificate creation.

sign_up_enabled

"false"

Enables sign ups on login page, you want to disable this if the app is open to the public. Enabled is "true" (not case-sensitive), disabled is any other value

use_managed_aws_db

"false"

Set to true if you want to use a managed AWS database (RDS) instead of the default postgres container. Recommended postgres version currently is 14.

db_host

"db"

Points to the local db container, set this value if you want to use an external db server (needs to be postgres)

db_password

""

Set if you have a non AWS db that uses basic password auth.

db_secret_arn

""

There is currently only support for AWS secret manager secrets for external DB credentials, this is the secret ARN used

aws_region

""

Used for integration with AWS, currently only necessary for the call to get the DB secret from AWS secret manager

use_default_aws_logging

"false"

Set to "true" if you want to send logs to AWS Cloudwatch with docker aws log driver Log groups with correct naming will be necessary or the docker services will not come up more on that below

metrics_enabled

"false"

Set to "true" if you want to use AWS metrics and have the app send basic metrics on resource utilization and execution latency. cw_user_access_key_id and cw_user_access_key_secret parameters required.

cw_user_access_key_id

""

Only relevant if metrics_enabled is "true". AWS user access key with Cloudwatch metric write permissions.

cw_user_access_key_secret

""

Only relevant if metrics_enabled is "true". AWS user access secret with Cloudwatch metric write permissions.

redis_url

"redis"

Points to the local redis container, set this value if you want to use an external redis server

is_testnet

"false"

set to "true" if you want to connect to testnet/demo-trading/sandbox for all exchanges

client_order_id_prefix

"TL"

Prefix pre-pended to client order IDs of placements going out to exchanges.

telegram_token

null

Token given by Telegram's @BotFather bot creation mechanism. Note that it's only necessary to name your bot and obtain a token; no other interaction with @BotFather is necessary.

clean_start

"false"

set to "true" to directly cancel all open orders for all accounts on server start up.

AWS Logging

If AWS logging is enabled, log groups with exact naming must be created in the same region as the app instance.

Below is the list of log groups needed.

TaasWeb
TaasPrices
TaasOrdersBinance
TaasOrdersBybit
TaasOrdersOKX
TaasOrdersCoinbase
TaasOrdersDeribit
TaasSmartOrderRouter
TaasRePricer

Was this helpful?