2018-10-24 19:56:25 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								#!/bin/bash
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# 
							 
						 
					
						
							
								
									
										
										
										
											2025-02-25 09:39:16 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# Copyright © 2016-2025 The Thingsboard Authors 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-24 19:56:25 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								# 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# Licensed under the Apache License, Version 2.0 (the "License"); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# you may not use this file except in compliance with the License. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# You may obtain a copy of the License at 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								#     http://www.apache.org/licenses/LICENSE-2.0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# Unless required by applicable law or agreed to in writing, software 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# distributed under the License is distributed on an "AS IS" BASIS, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# See the License for the specific language governing permissions and 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# limitations under the License. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								function  additionalComposeArgs( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    source  .env
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ADDITIONAL_COMPOSE_ARGS = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    case  $DATABASE  in
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        postgres) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ADDITIONAL_COMPOSE_ARGS = "-f docker-compose.postgres.yml" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ; ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-02-27 19:09:32 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        hybrid) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ADDITIONAL_COMPOSE_ARGS = "-f docker-compose.hybrid.yml" 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-24 19:56:25 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        ; ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        *) 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-23 19:49:27 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        echo  " Unknown DATABASE value specified in the .env file: ' ${ DATABASE } '. Should be either 'postgres' or 'hybrid'. "  >& 2 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-24 19:56:25 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        exit  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    esac 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  $ADDITIONAL_COMPOSE_ARGS 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-08 18:02:45 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								function  additionalComposeQueueArgs( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    source  .env
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ADDITIONAL_COMPOSE_QUEUE_ARGS = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    case  $TB_QUEUE_TYPE  in
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        kafka) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ADDITIONAL_COMPOSE_QUEUE_ARGS = "-f docker-compose.kafka.yml" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ; ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-08-11 11:15:41 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        confluent) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ADDITIONAL_COMPOSE_QUEUE_ARGS = "-f docker-compose.confluent.yml" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ; ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-08 18:02:45 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        aws-sqs) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ADDITIONAL_COMPOSE_QUEUE_ARGS = "-f docker-compose.aws-sqs.yml" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ; ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        pubsub) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ADDITIONAL_COMPOSE_QUEUE_ARGS = "-f docker-compose.pubsub.yml" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ; ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rabbitmq) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ADDITIONAL_COMPOSE_QUEUE_ARGS = "-f docker-compose.rabbitmq.yml" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ; ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        service-bus) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ADDITIONAL_COMPOSE_QUEUE_ARGS = "-f docker-compose.service-bus.yml" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ; ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        *) 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-23 19:49:27 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        echo  " Unknown Queue service TB_QUEUE_TYPE value specified in the .env file: ' ${ TB_QUEUE_TYPE } '. Should be either 'kafka' or 'confluent' or 'aws-sqs' or 'pubsub' or 'rabbitmq' or 'service-bus'. "  >& 2 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-08 18:02:45 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        exit  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    esac 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  $ADDITIONAL_COMPOSE_QUEUE_ARGS 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-04-28 15:13:26 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								function  additionalComposeMonitoringArgs( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    source  .env
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [  " $MONITORING_ENABLED "  =  true  ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      ADDITIONAL_COMPOSE_MONITORING_ARGS = "-f docker-compose.prometheus-grafana.yml" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  $ADDITIONAL_COMPOSE_MONITORING_ARGS 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-06-22 23:24:05 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								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" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ; ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-01 14:47:47 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        redis-sentinel) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        CACHE_COMPOSE_ARGS = "-f docker-compose.redis-sentinel.yml" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ; ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-22 23:24:05 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        *) 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-01 14:47:47 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        echo  " Unknown CACHE value specified in the .env file: ' ${ CACHE } '. Should be either 'redis' or 'redis-cluster' or 'redis-sentinel'. "  >& 2 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-22 23:24:05 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        exit  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    esac 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  $CACHE_COMPOSE_ARGS 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-10-24 19:56:25 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								function  additionalStartupServices( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    source  .env
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ADDITIONAL_STARTUP_SERVICES = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    case  $DATABASE  in
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        postgres) 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-22 23:24:05 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        ADDITIONAL_STARTUP_SERVICES = " $ADDITIONAL_STARTUP_SERVICES  postgres " 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-24 19:56:25 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        ; ; 
							 
						 
					
						
							
								
									
										
										
										
											2020-02-27 19:09:32 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        hybrid) 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-22 23:24:05 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        ADDITIONAL_STARTUP_SERVICES = " $ADDITIONAL_STARTUP_SERVICES  postgres cassandra " 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-24 19:56:25 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        ; ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        *) 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-23 19:49:27 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        echo  " Unknown DATABASE value specified in the .env file: ' ${ DATABASE } '. Should be either 'postgres' or 'hybrid'. "  >& 2 
							 
						 
					
						
							
								
									
										
										
										
											2018-10-24 19:56:25 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        exit  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    esac 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-22 23:24:05 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    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 " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ; ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-01 14:47:47 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        redis-sentinel) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ADDITIONAL_STARTUP_SERVICES = " $ADDITIONAL_STARTUP_SERVICES  redis-master redis-slave redis-sentinel " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ; ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-22 23:24:05 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        *) 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-01 14:47:47 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        echo  " Unknown CACHE value specified in the .env file: ' ${ CACHE } '. Should be either 'redis' or 'redis-cluster' or 'redis-sentinel'. "  >& 2 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-22 23:24:05 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        exit  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    esac 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-10-24 19:56:25 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    echo  $ADDITIONAL_STARTUP_SERVICES 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-28 18:27:48 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-02-21 18:38:26 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								function  additionalComposeEdqsArgs( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    source  .env
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [  " $EDQS_ENABLED "  =  true  ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      ADDITIONAL_COMPOSE_EDQS_ARGS = "-f docker-compose.edqs.yml" 
							 
						 
					
						
							
								
									
										
										
										
											2025-04-11 17:38:12 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      echo  $ADDITIONAL_COMPOSE_EDQS_ARGS 
							 
						 
					
						
							
								
									
										
										
										
											2025-02-21 18:38:26 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-06-28 18:27:48 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								function  permissionList( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    PERMISSION_LIST = " 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      799   799   tb-node/log
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      799   799   tb-transports/lwm2m/log
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      799   799   tb-transports/http/log
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      799   799   tb-transports/mqtt/log
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      799   799   tb-transports/snmp/log
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      799   799   tb-transports/coap/log
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      799   799   tb-vc-executor/log
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      999   999   tb-node/postgres
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      " 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    source  .env
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [  " $DATABASE "  =  "hybrid"  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      PERMISSION_LIST = " $PERMISSION_LIST 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      999   999   tb-node/cassandra
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      " 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-03-03 14:54:00 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  [  " $EDQS_ENABLED "  =  true  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      PERMISSION_LIST = " $PERMISSION_LIST 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      799   799   edqs/log
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      " 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-06-28 18:27:48 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    CACHE = " ${ CACHE :- redis } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    case  $CACHE  in
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        redis) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          PERMISSION_LIST = " $PERMISSION_LIST 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          1001  1001  tb-node/redis-data
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          " 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ; ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        redis-cluster) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          PERMISSION_LIST = " $PERMISSION_LIST 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          1001  1001  tb-node/redis-cluster-data-0
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          1001  1001  tb-node/redis-cluster-data-1
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          1001  1001  tb-node/redis-cluster-data-2
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          1001  1001  tb-node/redis-cluster-data-3
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          1001  1001  tb-node/redis-cluster-data-4
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          1001  1001  tb-node/redis-cluster-data-5
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          " 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ; ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-01 14:47:47 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        redis-sentinel) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          PERMISSION_LIST = " $PERMISSION_LIST 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          1001  1001  tb-node/redis-sentinel-data-master
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          1001  1001  tb-node/redis-sentinel-data-slave
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          1001  1001  tb-node/redis-sentinel-data-sentinel
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          " 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ; ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-28 18:27:48 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        *) 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-01 14:47:47 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        echo  " Unknown CACHE value specified in the .env file: ' ${ CACHE } '. Should be either 'redis' or 'redis-cluster' or 'redis-sentinel'. "  >& 2 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-28 18:27:48 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        exit  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    esac 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  " $PERMISSION_LIST " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								function  checkFolders( )  { 
							 
						 
					
						
							
								
									
										
										
										
											2025-02-26 18:31:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  CREATE = false 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  SKIP_CHOWN = false 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  for  i in " $@ " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      case  $i  in
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          --create) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          CREATE = true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          shift 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          ; ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          --skipChown) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          SKIP_CHOWN = true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          shift 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          ; ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          *) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                  # unknown option 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          ; ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      esac 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    done 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-28 18:27:48 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  EXIT_CODE = 0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  PERMISSION_LIST = $( permissionList)  ||  exit  $? 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  set  -e
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  while  read  -r USR GRP DIR
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do 
							 
						 
					
						
							
								
									
										
										
										
											2025-02-26 18:31:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    IS_EXIST_CHECK_PASSED = false 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    IS_OWNER_CHECK_PASSED = false 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    # skip empty lines 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [  -z " $DIR "  ] ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-28 18:27:48 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								          continue 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2025-02-26 18:31:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    # checks section 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  " Checking if dir  ${ DIR }  exists... " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  -d " $DIR "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  "> OK" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      IS_EXIST_CHECK_PASSED = true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [  " $SKIP_CHOWN "  =  false  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  " Checking user  ${ USR }  group  ${ GRP }  ownership for dir  ${ DIR } ... " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  [ [  $( ls -ldn " $DIR "  |  awk '{print $3}' )  -eq " $USR "  ] ]  &&  [ [  $( ls -ldn " $DIR "  |  awk '{print $4}' )  -eq " $GRP "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          echo  "> OK" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          IS_OWNER_CHECK_PASSED = true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          echo  "...ownership check failed" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          if  [  " $CREATE "  =  false  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            EXIT_CODE = 1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-28 18:27:48 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2025-02-26 18:31:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      echo  "...does not exist" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [  " $CREATE "  =  false  ] ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-28 18:27:48 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        EXIT_CODE = 1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2025-02-26 18:31:18 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    # create/chown section 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [  " $CREATE "  =  true  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [  " $IS_EXIST_CHECK_PASSED "  =  false  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  " ...will create dir  ${ DIR } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  [  " $SKIP_CHOWN "  =  false  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  " ...will change ownership to user  ${ USR }  group  ${ GRP }  for dir  ${ DIR } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          mkdir -p " $DIR "  &&  sudo chown -R " $USR " :" $GRP "  " $DIR "  &&  echo  "> OK" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          mkdir -p " $DIR "  &&  echo  "> OK" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      elif  [  " $IS_OWNER_CHECK_PASSED "  =  false  ]  &&  [  " $SKIP_CHOWN "  =  false  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  " ...will change ownership to user  ${ USR }  group  ${ GRP }  for dir  ${ DIR } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        sudo chown -R " $USR " :" $GRP "  " $DIR "  &&  echo  "> OK" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-06-28 18:27:48 +03:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  done  < <( echo  " $PERMISSION_LIST " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  $EXIT_CODE 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
									
										
										
										
											2022-11-28 17:41:27 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								function  composeVersion( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    #Checking whether "set -e" shell option should be restored after Compose version check 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    FLAG_SET = false 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  $SHELLOPTS  = ~ errexit ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        set  +e
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        FLAG_SET = true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    #Checking Compose V1 availablity 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    docker-compose version >/dev/null 2>& 1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [  $?  -eq 0  ] ;  then  status_v1 = true;  else  status_v1 = false;  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    #Checking Compose V2 availablity 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    docker compose version >/dev/null 2>& 1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [  $?  -eq 0  ] ;  then  status_v2 = true;  else  status_v2 = false;  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    COMPOSE_VERSION = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  $status_v2  ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        COMPOSE_VERSION = "V2" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elif  $status_v1  ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        COMPOSE_VERSION = "V1" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  "Docker Compose plugin is not detected. Please check your environment."  >& 2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        exit  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  $COMPOSE_VERSION 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  $FLAG_SET  ;  then  set  -e;  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}