Configuration
You can configure CKBox On-Premises using environment variables. Below you will find available environment variables with descriptions.
# Secret keys
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.
# SQL Database
# MySQL database
To configure the MySQL database you should first set the database_driver
variable to mysql
.
Then, you can provide:
database_host
anddatabase_port
to configure the database address.database_user
anddatabase_password
to configure the database user.database_database
to 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.
# Postgres database
To configure the Postgres database instead of MySQL, you should first set the database_driver
variable to postgres
.
Then, you can provide:
database_host
anddatabase_port
to configure the database address.database_user
anddatabase_password
to configure the database user.database_database
anddatabase_schema
to 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.
# Redis database
Besides the SQL database, you need to configure the Redis database using:
redis_host
andredis_port
to configure the database address.redis_password
andredis_user
to 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.
# Connecting to Redis Cluster
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"
# Storage
# S3 storage
To configure S3 as your files storage you should first set the storage_driver
variable to s3
.
Then, you can provide:
storage_access_key_id
andstorage_secret_access_key
to authorize the service.storage_bucket
to 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.
# Azure Blob Storage
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_name
andstorage_account_key
authorize to the service.storage_container
to set the container where the files should be stored.
# Filesystem
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.
# SQL storage
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.