update entrypoint
This commit is contained in:
		
							parent
							
								
									f60697d631
								
							
						
					
					
						commit
						6c062575be
					
				| @ -2,19 +2,17 @@ | |||||||
| 
 | 
 | ||||||
| # Function to generate a random salt | # Function to generate a random salt | ||||||
| generate_salt() { | generate_salt() { | ||||||
|   cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 48 | head -n 1 |   tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w 48 | head -n 1 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| # Read environment variables or set default values | # Read environment variables or set default values | ||||||
| DB_HOST=${DB_HOST:-db} | DB_HOST=${DB_HOST:-db} | ||||||
| DB_PORT_NUMBER=${DB_PORT_NUMBER:-5432} | DB_PORT_NUMBER=${DB_PORT_NUMBER:-5432} | ||||||
| MM_USERNAME=${MM_USERNAME:-mmuser} |  | ||||||
| MM_PASSWORD=${MM_PASSWORD:-mmuser_password} |  | ||||||
| MM_DBNAME=${MM_DBNAME:-mattermost} | MM_DBNAME=${MM_DBNAME:-mattermost} | ||||||
| MM_CONFIG=${MM_CONFIG:-/mattermost/config/config.json} | MM_CONFIG=${MM_CONFIG:-/mattermost/config/config.json} | ||||||
| 
 | 
 | ||||||
| if [ "${1:0:1}" = '-' ]; then | if [ "${1:0:1}" = '-' ]; then | ||||||
|     set -- platform "$@" |     set -- mattermost "$@" | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| if [ "$1" = 'platform' ]; then | if [ "$1" = 'platform' ]; then | ||||||
| @ -36,8 +34,8 @@ if [ "$1" = 'platform' ]; then | |||||||
|     cp /config.json.save $MM_CONFIG |     cp /config.json.save $MM_CONFIG | ||||||
|     # Substitue some parameters with jq |     # Substitue some parameters with jq | ||||||
|     jq '.ServiceSettings.ListenAddress = ":8000"' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG |     jq '.ServiceSettings.ListenAddress = ":8000"' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG | ||||||
|     jq '.LogSettings.EnableConsole = false' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG |     jq '.LogSettings.EnableConsole = true' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG | ||||||
|     jq '.LogSettings.ConsoleLevel = "INFO"' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG |     jq '.LogSettings.ConsoleLevel = "ERROR"' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG | ||||||
|     jq '.FileSettings.Directory = "/mattermost/data/"' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG |     jq '.FileSettings.Directory = "/mattermost/data/"' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG | ||||||
|     jq '.FileSettings.EnablePublicLink = true' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG |     jq '.FileSettings.EnablePublicLink = true' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG | ||||||
|     jq '.FileSettings.PublicLinkSalt = "'$(generate_salt)'"' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG |     jq '.FileSettings.PublicLinkSalt = "'$(generate_salt)'"' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG | ||||||
| @ -50,12 +48,13 @@ if [ "$1" = 'platform' ]; then | |||||||
|     jq '.RateLimitSettings.Enable = true' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG |     jq '.RateLimitSettings.Enable = true' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG | ||||||
|     jq '.SqlSettings.DriverName = "postgres"' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG |     jq '.SqlSettings.DriverName = "postgres"' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG | ||||||
|     jq '.SqlSettings.AtRestEncryptKey = "'$(generate_salt)'"' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG |     jq '.SqlSettings.AtRestEncryptKey = "'$(generate_salt)'"' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG | ||||||
|  |     jq '.PluginSettings.Directory = "/mattermost/plugins/"' $MM_CONFIG > $MM_CONFIG.tmp && mv $MM_CONFIG.tmp $MM_CONFIG | ||||||
|   else |   else | ||||||
|     echo "Using existing config file" $MM_CONFIG |     echo "Using existing config file" $MM_CONFIG | ||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
|   # Configure database access |   # Configure database access | ||||||
|   if [ -z "$MM_SQLSETTINGS_DATASOURCE" ] |   if [[ -z "$MM_SQLSETTINGS_DATASOURCE" && ! -z "$MM_USERNAME" && ! -z "$MM_PASSWORD" ]] | ||||||
|   then |   then | ||||||
|     echo -ne "Configure database connection..." |     echo -ne "Configure database connection..." | ||||||
|     # URLEncode the password, allowing for special characters |     # URLEncode the password, allowing for special characters | ||||||
| @ -66,18 +65,11 @@ if [ "$1" = 'platform' ]; then | |||||||
|     echo "Using existing database connection" |     echo "Using existing database connection" | ||||||
|   fi |   fi | ||||||
| 
 | 
 | ||||||
|   # Wait for database to be reachable |  | ||||||
|   echo "Wait until database $DB_HOST:$DB_PORT_NUMBER is ready..." |  | ||||||
|   until nc -z $DB_HOST $DB_PORT_NUMBER |  | ||||||
|   do |  | ||||||
|     sleep 1 |  | ||||||
|   done |  | ||||||
| 
 |  | ||||||
|   # Wait another second for the database to be properly started. |   # Wait another second for the database to be properly started. | ||||||
|   # Necessary to avoid "panic: Failed to open sql connection pq: the database system is starting up" |   # Necessary to avoid "panic: Failed to open sql connection pq: the database system is starting up" | ||||||
|   sleep 1 |   sleep 1 | ||||||
| 
 | 
 | ||||||
|   echo "Starting platform" |   echo "Starting mattermost" | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| exec "$@" | exec "$@" | ||||||
		Reference in New Issue
	
	Block a user
	 Carlos Panato
						Carlos Panato