mirror of
				https://github.com/zokradonh/kopano-docker
				synced 2025-10-31 10:27:14 +00:00 
			
		
		
		
	* add scheduler container for gabsync Adds a general scheduler container to trigger tasks within containers. Also adds gabsync to zpush image * make scheduler dynamic execute each cron job once at startup to see if they would succeed * remove services scripts from core container (now is part of the scheduler) * add "CRONDELAY" for tasks that should not be executed at startup * add documentation * clear out crontab at startup
		
			
				
	
	
		
			38 lines
		
	
	
		
			806 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			806 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| set -eo pipefail
 | |
| 
 | |
| cronfile=/etc/crontab
 | |
| 
 | |
| # purge existing entries from crontab
 | |
| true > "$cronfile"
 | |
| 
 | |
| for cronvar in ${!CRON_*}; do
 | |
| 	cronvalue=${!cronvar}
 | |
| 	echo "Adding $cronvalue to crontab"
 | |
| 	echo "$cronvalue" >> "$cronfile"
 | |
| done
 | |
| 
 | |
| for cronvar in ${!CRONDELAYED_*}; do
 | |
| 	cronvalue=${!cronvar}
 | |
| 	echo "Adding $cronvalue to crontab"
 | |
| 	echo "$cronvalue" >> "$cronfile"
 | |
| done
 | |
| 
 | |
| # wait for kopano_server statup to run one-off commands
 | |
| dockerize \
 | |
| 	-wait tcp://kopano_server:236 \
 | |
| 	-timeout 360s
 | |
| echo "creating public store"
 | |
| docker exec kopano_server kopano-storeadm -h default: -P || true
 | |
| 
 | |
| # run sheduled cron jobs once
 | |
| for cronvar in ${!CRON_*}; do
 | |
| 	cronvalue=${!cronvar}
 | |
| 	croncommand=$(echo "$cronvalue" | cut -d ' ' -f 6-)
 | |
| 	echo "Running: $croncommand"
 | |
| 	$croncommand
 | |
| done
 | |
| 
 | |
| exec supercronic /etc/crontab
 |