181802ba0e
message: add initial implementation of the http-server change_hash: APsMce7qqUtJPVAOn1p8FlI9/OazPFbSoL1Ycoxw5tU1 credentials: - type: pgp_signature pub_key_id: 95C46FA6A41148AC body: iQIzBAABAgAdFiEEJ6tQKp6olvZKJ0lwlcRvpqQRSKwFAl5It7AACgkQlcRvpqQRSKwVcA//ZjIpYtcGiZjVU39YzgzsN4JNO9wttzOMy3hC01wxe4XzLh0SCX9oCIHqaRMQbcdcvC3BEuu70IyJHKow+lBMhNTeGBOjVS4tHqKqskLP4LsU05U+jhXF4wZFxtApgOvEX43G/156g2RC28VFXCm5XDeNHiMggz3fbRzoY5YCPz7WudQTDFVW/t+ULLEKGyZMZ56vfScxziQqs1R1eQBCPvwGTD/h6pSOMGrdLSk8vrGtYdewqWum88H6eXsfgu1Lo1JGfe0Gf1R5CedzUATOfZ1J7T0WfYQRiBS0qpOmA/Ys1ef/YyKWyUnfvTrr+NR2cB3AqdS61mLwXcDqrGrasKos+aOF5N4v/3DvoEnlRFlln+LpQJFDIj8uDRw6ODvJh1sg7yVPnBiJcKWt8jkpHM2KS6gWAZ7iHBbyj+AsXpw4qs81WVZV4/Hq/uDp+OxHz/H+DALanULzXJCX8+WEC0Kf/rTtb5G9nuYlI6kJ09DQzD7Po20cHavmY8ZCc97F8bqNT2Pm5zkP/DemthazhU0gCh5Tyvph7v5xaWHK12gsBpANUI33h/tXfzirv4z7OWTiYIQ8fYEekt8/zBtujq7dTsbOpVDrD0M5NDKMi1rnYm/bH914Q2XdIh5ZXsgmYmM4aVI54fwfonUjCyf6rihAlkFZNdWXFsiTmzGLqyw= account: mediocregopher
94 lines
2.0 KiB
Bash
94 lines
2.0 KiB
Bash
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
QUIET=false
|
|
#SFLOG="/start.log"
|
|
|
|
#print timestamp
|
|
timestamp() {
|
|
date +"%Y-%m-%d %T"
|
|
}
|
|
|
|
#screen/file logger
|
|
sflog() {
|
|
#if $1 is not null
|
|
if [ ! -z ${1+x} ]; then
|
|
message=$1
|
|
else
|
|
#exit function
|
|
return 1;
|
|
fi
|
|
#if $QUIET is not true
|
|
if ! $($QUIET); then
|
|
echo "${message}"
|
|
fi
|
|
#if $SFLOG is not null
|
|
if [ ! -z ${SFLOG+x} ]; then
|
|
#if $2 is regular file or does not exist
|
|
if [ -f ${SFLOG} ] || [ ! -e ${SFLOG} ]; then
|
|
echo "$(timestamp) ${message}" >> ${SFLOG}
|
|
fi
|
|
fi
|
|
}
|
|
|
|
#start services function
|
|
startc() {
|
|
sflog "Services for container are being started..."
|
|
/etc/init.d/fcgiwrap start > /dev/null
|
|
/etc/init.d/nginx start > /dev/null
|
|
sflog "The container services have started..."
|
|
}
|
|
|
|
#stop services function
|
|
stopc() {
|
|
sflog "Services for container are being stopped..."
|
|
/etc/init.d/nginx stop > /dev/null
|
|
/etc/init.d/fcgiwrap stop > /dev/null
|
|
sflog "Services for container have successfully stopped. Exiting."
|
|
exit 0
|
|
}
|
|
|
|
#trap "docker stop <container>" and shuts services down cleanly
|
|
trap "(stopc)" TERM INT
|
|
|
|
#startup
|
|
|
|
#test for ENV varibale $FQDN
|
|
if [ ! -z ${FQDN+x} ]; then
|
|
sflog "FQDN is set to ${FQDN}"
|
|
else
|
|
export FQDN=dehub
|
|
sflog "FQDN is set to ${FQDN}"
|
|
fi
|
|
|
|
#modify config files with fqdn
|
|
sed -i "s,MYSERVER,${FQDN},g" /etc/nginx/nginx.conf &> /dev/null
|
|
|
|
# create the individual repo directories
|
|
while [ ! -z "$1" ]; do
|
|
dir="/repos/$1.git";
|
|
if [ ! -d "$dir" ]; then
|
|
echo "Initializing repo $1"
|
|
mkdir "$dir"
|
|
git init --bare "$dir"
|
|
git config -f "$dir/config" http.receivepack true
|
|
git config -f "$dir/config" receive.denyNonFastForwards true
|
|
chown -R git:git "$dir"
|
|
fi
|
|
|
|
mkdir -p "$dir/hooks"
|
|
cp /pre-receive "$dir/hooks/"
|
|
chmod +x "$dir/hooks/pre-receive"
|
|
|
|
shift
|
|
done
|
|
|
|
#start init.d services
|
|
startc
|
|
|
|
#pause script to keep container running...
|
|
sflog "Services for container successfully started."
|
|
sflog "Dumping logs"
|
|
tail -f /var/log/nginx/*.log
|