You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							52 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
	
	
							52 lines
						
					
					
						
							1.2 KiB
						
					
					
				| #!/bin/bash
 | |
| 
 | |
| NAME="git-auto-deploy"
 | |
| GAD_UID="git-auto-deploy"
 | |
| GAD_GID="git-auto-deploy"
 | |
| 
 | |
| HOME_DIR="/etc/$NAME"
 | |
| DATA_DIR="/var/lib/$NAME"
 | |
| PID_DIR="/var/run/$NAME"
 | |
| PID_FILE="$PID_DIR/$NAME.pid"
 | |
| 
 | |
| # Add user and group
 | |
| adduser --quiet --system --home $HOME_DIR --no-create-home --ingroup nogroup --disabled-password $GAD_UID
 | |
| addgroup --system $GAD_GID
 | |
| adduser $GAD_UID $GAD_GID
 | |
| 
 | |
| # Create home dir
 | |
| mkdir -p $HOME_DIR
 | |
| mkdir -p $HOME_DIR/.ssh
 | |
| touch $HOME_DIR/.ssh/known_hosts
 | |
| 
 | |
| # Generate SSL certificate if openssl is installed
 | |
| if [ -x "$(command -v openssl)" ]; then
 | |
|   openssl req -new -x509 -keyout $HOME_DIR/cert.pem -out $HOME_DIR/cert.pem -days 365 -nodes -subj "/C=/ST=/L=/O=Git Auto Deploy/OU=/CN=localhost"
 | |
| fi
 | |
| 
 | |
| # Set permissions on home dirßß
 | |
| chown -R $GAD_UID:$GAD_GID $HOME_DIR
 | |
| chmod -R 750 $HOME_DIR
 | |
| 
 | |
| # Create log file
 | |
| touch /var/log/$NAME.log
 | |
| chown $GAD_UID:$GAD_GID /var/log/$NAME.log
 | |
| chmod 750 /var/log/$NAME.log
 | |
| 
 | |
| # Create data directory
 | |
| if [ ! -d "$DATA_DIR" ]; then
 | |
|     mkdir -p $DATA_DIR
 | |
|     chown -R $GAD_UID:$GAD_GID $DATA_DIR
 | |
|     chmod 750 $DATA_DIR
 | |
| fi
 | |
| 
 | |
| # Create pid file
 | |
| if [ ! -d "$PID_DIR" ]; then
 | |
|     mkdir $PID_DIR
 | |
|     touch $PID_FILE
 | |
|     chown $GAD_UID:$GAD_GID $PID_DIR $PID_FILE
 | |
|     chmod 750 $PID_FILE
 | |
| fi
 | |
| 
 | |
| update-rc.d $NAME defaults
 |