docker-compose shell scripts: added CACHE=redis or CACHE=redis-cluster option. Default is redis, README.md updated
This commit is contained in:
		
							parent
							
								
									d7c750f64e
								
							
						
					
					
						commit
						7b88a437dc
					
				@ -1,5 +1,8 @@
 | 
			
		||||
TB_QUEUE_TYPE=kafka
 | 
			
		||||
 | 
			
		||||
# redis or redis-cluster
 | 
			
		||||
CACHE=redis
 | 
			
		||||
 | 
			
		||||
DOCKER_REPO=thingsboard
 | 
			
		||||
 | 
			
		||||
JS_EXECUTOR_DOCKER_NAME=tb-js-executor
 | 
			
		||||
 | 
			
		||||
@ -17,6 +17,13 @@ In order to set database type change the value of `DATABASE` variable in `.env`
 | 
			
		||||
 | 
			
		||||
**NOTE**: According to the database type corresponding docker service will be deployed (see `docker-compose.postgres.yml`, `docker-compose.hybrid.yml` for details).
 | 
			
		||||
 | 
			
		||||
In order to set cache type change the value of `CACHE` variable in `.env` file to one of the following:
 | 
			
		||||
 | 
			
		||||
- `redis` - use Redis standalone cache (1 node - 1 master);
 | 
			
		||||
- `redis-cluster` - use Redis cluster cache (6 nodes - 3 masters, 3 slaves);
 | 
			
		||||
 | 
			
		||||
**NOTE**: According to the cache type corresponding docker service will be deployed (see `docker-compose.redis.yml`, `docker-compose.redis-cluster.yml` for details).
 | 
			
		||||
 | 
			
		||||
Execute the following command to create log folders for the services and chown of these folders to the docker container users. 
 | 
			
		||||
To be able to change user, **chown** command is used, which requires sudo permissions (script will request password for a sudo access): 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -73,19 +73,51 @@ function additionalComposeMonitoringArgs() {
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function additionalComposeCacheArgs() {
 | 
			
		||||
    source .env
 | 
			
		||||
    CACHE_COMPOSE_ARGS=""
 | 
			
		||||
    CACHE="${CACHE:-redis}"
 | 
			
		||||
    case $CACHE in
 | 
			
		||||
        redis)
 | 
			
		||||
        CACHE_COMPOSE_ARGS="-f docker-compose.redis.yml"
 | 
			
		||||
        ;;
 | 
			
		||||
        redis-cluster)
 | 
			
		||||
        CACHE_COMPOSE_ARGS="-f docker-compose.redis-cluster.yml"
 | 
			
		||||
        ;;
 | 
			
		||||
        *)
 | 
			
		||||
        echo "Unknown CACHE value specified: '${CACHE}'. Should be either redis or redis-cluster." >&2
 | 
			
		||||
        exit 1
 | 
			
		||||
    esac
 | 
			
		||||
    echo $CACHE_COMPOSE_ARGS
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function additionalStartupServices() {
 | 
			
		||||
    source .env
 | 
			
		||||
    ADDITIONAL_STARTUP_SERVICES=""
 | 
			
		||||
    case $DATABASE in
 | 
			
		||||
        postgres)
 | 
			
		||||
        ADDITIONAL_STARTUP_SERVICES=postgres
 | 
			
		||||
        ADDITIONAL_STARTUP_SERVICES="$ADDITIONAL_STARTUP_SERVICES postgres"
 | 
			
		||||
        ;;
 | 
			
		||||
        hybrid)
 | 
			
		||||
        ADDITIONAL_STARTUP_SERVICES="postgres cassandra"
 | 
			
		||||
        ADDITIONAL_STARTUP_SERVICES="$ADDITIONAL_STARTUP_SERVICES postgres cassandra"
 | 
			
		||||
        ;;
 | 
			
		||||
        *)
 | 
			
		||||
        echo "Unknown DATABASE value specified: '${DATABASE}'. Should be either postgres or hybrid." >&2
 | 
			
		||||
        exit 1
 | 
			
		||||
    esac
 | 
			
		||||
 | 
			
		||||
    CACHE="${CACHE:-redis}"
 | 
			
		||||
    case $CACHE in
 | 
			
		||||
        redis)
 | 
			
		||||
        ADDITIONAL_STARTUP_SERVICES="$ADDITIONAL_STARTUP_SERVICES redis"
 | 
			
		||||
        ;;
 | 
			
		||||
        redis-cluster)
 | 
			
		||||
        ADDITIONAL_STARTUP_SERVICES="$ADDITIONAL_STARTUP_SERVICES redis-node-0 redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5"
 | 
			
		||||
        ;;
 | 
			
		||||
        *)
 | 
			
		||||
        echo "Unknown CACHE value specified: '${CACHE}'. Should be either redis or redis-cluster." >&2
 | 
			
		||||
        exit 1
 | 
			
		||||
    esac
 | 
			
		||||
 | 
			
		||||
    echo $ADDITIONAL_STARTUP_SERVICES
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -28,3 +28,24 @@ mkdir -p tb-transports/mqtt/log && sudo chown -R 799:799 tb-transports/mqtt/log
 | 
			
		||||
mkdir -p tb-transports/snmp/log && sudo chown -R 799:799 tb-transports/snmp/log
 | 
			
		||||
 | 
			
		||||
mkdir -p tb-vc-executor/log && sudo chown -R 799:799 tb-vc-executor/log
 | 
			
		||||
 | 
			
		||||
mkdir -p tb-node/postgres/ && sudo chown -R 999:999 tb-node/postgres/
 | 
			
		||||
 | 
			
		||||
source .env
 | 
			
		||||
CACHE="${CACHE:-redis}"
 | 
			
		||||
case $CACHE in
 | 
			
		||||
    redis)
 | 
			
		||||
    mkdir -p tb-node/redis-data/ && sudo chown -R 1001:0 tb-node/redis-data/
 | 
			
		||||
    ;;
 | 
			
		||||
    redis-cluster)
 | 
			
		||||
    mkdir -p tb-node/redis-cluster-data-0/ && sudo chown -R 1001:0 tb-node/redis-cluster-data-0/
 | 
			
		||||
    mkdir -p tb-node/redis-cluster-data-1/ && sudo chown -R 1001:0 tb-node/redis-cluster-data-1/
 | 
			
		||||
    mkdir -p tb-node/redis-cluster-data-2/ && sudo chown -R 1001:0 tb-node/redis-cluster-data-2/
 | 
			
		||||
    mkdir -p tb-node/redis-cluster-data-3/ && sudo chown -R 1001:0 tb-node/redis-cluster-data-3/
 | 
			
		||||
    mkdir -p tb-node/redis-cluster-data-4/ && sudo chown -R 1001:0 tb-node/redis-cluster-data-4/
 | 
			
		||||
    mkdir -p tb-node/redis-cluster-data-5/ && sudo chown -R 1001:0 tb-node/redis-cluster-data-5/
 | 
			
		||||
    ;;
 | 
			
		||||
    *)
 | 
			
		||||
    echo "Unknown CACHE value specified: '${CACHE}'. Should be either redis or redis-cluster." >&2
 | 
			
		||||
    exit 1
 | 
			
		||||
esac
 | 
			
		||||
@ -45,12 +45,14 @@ ADDITIONAL_COMPOSE_QUEUE_ARGS=$(additionalComposeQueueArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
ADDITIONAL_COMPOSE_ARGS=$(additionalComposeArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
ADDITIONAL_CACHE_ARGS=$(additionalComposeCacheArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
ADDITIONAL_STARTUP_SERVICES=$(additionalStartupServices) || exit $?
 | 
			
		||||
 | 
			
		||||
if [ ! -z "${ADDITIONAL_STARTUP_SERVICES// }" ]; then
 | 
			
		||||
    docker-compose -f docker-compose.yml docker-compose.redis.yml $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS up -d redis $ADDITIONAL_STARTUP_SERVICES
 | 
			
		||||
    docker-compose -f docker-compose.yml $ADDITIONAL_CACHE_ARGS $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS up -d $ADDITIONAL_STARTUP_SERVICES
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
docker-compose -f docker-compose.yml docker-compose.redis.yml $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS run --no-deps --rm -e INSTALL_TB=true -e LOAD_DEMO=${loadDemo} tb-core1
 | 
			
		||||
docker-compose -f docker-compose.yml $ADDITIONAL_CACHE_ARGS $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS run --no-deps --rm -e INSTALL_TB=true -e LOAD_DEMO=${loadDemo} tb-core1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -23,6 +23,8 @@ ADDITIONAL_COMPOSE_QUEUE_ARGS=$(additionalComposeQueueArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
ADDITIONAL_COMPOSE_ARGS=$(additionalComposeArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
ADDITIONAL_CACHE_ARGS=$(additionalComposeCacheArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
ADDITIONAL_COMPOSE_MONITORING_ARGS=$(additionalComposeMonitoringArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
docker-compose -f docker-compose.yml docker-compose.redis.yml $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS $ADDITIONAL_COMPOSE_MONITORING_ARGS down -v
 | 
			
		||||
docker-compose -f docker-compose.yml $ADDITIONAL_CACHE_ARGS $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS $ADDITIONAL_COMPOSE_MONITORING_ARGS down -v
 | 
			
		||||
 | 
			
		||||
@ -23,6 +23,8 @@ ADDITIONAL_COMPOSE_QUEUE_ARGS=$(additionalComposeQueueArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
ADDITIONAL_COMPOSE_ARGS=$(additionalComposeArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
ADDITIONAL_CACHE_ARGS=$(additionalComposeCacheArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
ADDITIONAL_COMPOSE_MONITORING_ARGS=$(additionalComposeMonitoringArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
docker-compose -f docker-compose.yml docker-compose.redis.yml $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS $ADDITIONAL_COMPOSE_MONITORING_ARGS up -d
 | 
			
		||||
docker-compose -f docker-compose.yml $ADDITIONAL_CACHE_ARGS $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS $ADDITIONAL_COMPOSE_MONITORING_ARGS up -d
 | 
			
		||||
 | 
			
		||||
@ -23,6 +23,8 @@ ADDITIONAL_COMPOSE_QUEUE_ARGS=$(additionalComposeQueueArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
ADDITIONAL_COMPOSE_ARGS=$(additionalComposeArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
ADDITIONAL_CACHE_ARGS=$(additionalComposeCacheArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
ADDITIONAL_COMPOSE_MONITORING_ARGS=$(additionalComposeMonitoringArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
docker-compose -f docker-compose.yml docker-compose.redis.yml $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS $ADDITIONAL_COMPOSE_MONITORING_ARGS stop
 | 
			
		||||
docker-compose -f docker-compose.yml $ADDITIONAL_CACHE_ARGS $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS $ADDITIONAL_COMPOSE_MONITORING_ARGS stop
 | 
			
		||||
 | 
			
		||||
@ -23,5 +23,7 @@ ADDITIONAL_COMPOSE_QUEUE_ARGS=$(additionalComposeQueueArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
ADDITIONAL_COMPOSE_ARGS=$(additionalComposeArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
docker-compose -f docker-compose.yml docker-compose.redis.yml $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS pull $@
 | 
			
		||||
docker-compose -f docker-compose.yml docker-compose.redis.yml $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS up -d --no-deps --build $@
 | 
			
		||||
ADDITIONAL_CACHE_ARGS=$(additionalComposeCacheArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
docker-compose -f docker-compose.yml $ADDITIONAL_CACHE_ARGS $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS pull $@
 | 
			
		||||
docker-compose -f docker-compose.yml $ADDITIONAL_CACHE_ARGS $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS up -d --no-deps --build $@
 | 
			
		||||
 | 
			
		||||
@ -44,10 +44,12 @@ ADDITIONAL_COMPOSE_QUEUE_ARGS=$(additionalComposeQueueArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
ADDITIONAL_COMPOSE_ARGS=$(additionalComposeArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
ADDITIONAL_CACHE_ARGS=$(additionalComposeCacheArgs) || exit $?
 | 
			
		||||
 | 
			
		||||
ADDITIONAL_STARTUP_SERVICES=$(additionalStartupServices) || exit $?
 | 
			
		||||
 | 
			
		||||
docker-compose -f docker-compose.yml docker-compose.redis.yml $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS pull tb-core1
 | 
			
		||||
docker-compose -f docker-compose.yml $ADDITIONAL_CACHE_ARGS $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS pull tb-core1
 | 
			
		||||
 | 
			
		||||
docker-compose -f docker-compose.yml docker-compose.redis.yml $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS up -d redis $ADDITIONAL_STARTUP_SERVICES
 | 
			
		||||
docker-compose -f docker-compose.yml $ADDITIONAL_CACHE_ARGS $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS up -d $ADDITIONAL_STARTUP_SERVICES
 | 
			
		||||
 | 
			
		||||
docker-compose -f docker-compose.yml docker-compose.redis.yml $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS run --no-deps --rm -e UPGRADE_TB=true -e FROM_VERSION=${fromVersion} tb-core1
 | 
			
		||||
docker-compose -f docker-compose.yml $ADDITIONAL_CACHE_ARGS $ADDITIONAL_COMPOSE_ARGS $ADDITIONAL_COMPOSE_QUEUE_ARGS run --no-deps --rm -e UPGRADE_TB=true -e FROM_VERSION=${fromVersion} tb-core1
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user