Configuration
You can configure CKBox On-Premises using environment variables. Below you will find available environment variables with descriptions.
The license_key variable is used to verify that you own the rights to run CKBox On-Premises. To get your the license_key please contact us. If you leave this option empty or provide an invalid key, CKBox On-Premises will not launch.
The environments_management_secret_key variable should be a hard to guess string, preferably generated by an external password generator. It will be used to access the Cloud Services Management Panel.
To configure the MySQL database you should first set the database_driver variable to mysql.
Then, you can provide:
database_hostanddatabase_portto configure the database address.database_useranddatabase_passwordto configure the database user.database_databaseto set the database that should be used by CKBox On-Premises.
If your database connection should be encrypted, use the database_ssl_ca, database_ssl_key and database_ssl_cert configurations.
To configure the Postgres database instead of MySQL, you should first set the database_driver variable to postgres.
Then, you can provide:
database_hostanddatabase_portto configure the database address.database_useranddatabase_passwordto configure the database user.database_databaseanddatabase_schemato point which schema should be used by the On-Premises server.
If your database connection should be encrypted, use the database_ssl_ca, database_ssl_key and database_ssl_cert configurations.
Besides the SQL database, you need to configure the Redis database using:
redis_hostandredis_portto configure the database address.redis_passwordandredis_userto configure the database credentials. Both configuration options are optional.
You can also provide redis_db if you don’t want to use the default database number, which is set to 1.
If you have a problem with connecting to IPv6, try setting redis_ip_family to 6.
If your database connection should be encrypted, use the redis_tls_ca, redis_tls_key, and redis_tls_cert configurations, or set redis_tls_enable to true if you don’t use a custom certificate.
To set up a connection with a Redis Cluster, nodes need to be provided as the REDIS_CLUSTER_NODES variable.
REDIS_CLUSTER_NODES - required (for Redis Cluster connection)
REDIS_IP_FAMILY - optional (required only when using an IPv6 domain in `REDIS_CLUSTER_NODES`)
The REDIS_CLUSTER_NODES variable needs to contain a list of nodes in the dedicated format, which consists of:
"IP:PORT:[optional PASSWORD],IP:PORT:[optional PASSWORD]"
To understand the connection string format, check the examples below:
# IPv6
REDIS_CLUSTER_NODES: "[0:0:0:0:0:0:0:1]:7000,[0:0:0:0:0:0:0:1]:7001,[0:0:0:0:0:0:0:1]:7002"
# IPv6 with a password
REDIS_CLUSTER_NODES: "[0:0:0:0:0:0:0:1]:7000:password1,[0:0:0:0:0:0:0:1]:7001:password2,[0:0:0:0:0:0:0:1]:7002:password3"
# Domain name
REDIS_CLUSTER_NODES: "example.redis.server.com:7000,example.redis.server.com:7001,example.redis.server.com:7002"
# Domain name with IPv6 support
REDIS_IP_FAMILY: 6
REDIS_CLUSTER_NODES: "example.ipv6.redis.server.com:7000,example.ipv6.redis.server.com:7001,example.ipv6.redis.server.com:7002"
# Domain name with a password
REDIS_CLUSTER_NODES: "example.redis.server.com:7000:password1,example.redis.server.com:7001:password2,example.redis.server.com:7002:password3"
To configure S3 as your files storage you should first set the storage_driver variable to s3.
Then, you can provide:
storage_access_key_idandstorage_secret_access_keyto authorize the service.storage_bucketto set the bucket where the files should be stored.
If you use an S3 compatible server, like MinIO, you can set the address with storage_endpoint variable.
To configure Azure Blob Storage as your files storage you should first set the storage_driver variable to azure.
Then, you can provide:
storage_account_nameandstorage_account_keyauthorize to the service.storage_containerto set the container where the files should be stored.
To configure the filesystem as your files storage you should first set the storage_driver variable to filesystem.
Then you can provide the path to the directory where the files should be stored using the storage_location variable.
To configure MySQL or Postgres as your files storage, you should set the storage_driver variable to sql. When using SQL as a storage driver, the application will use the configuration provided in the database_* variables.