@ -13,24 +13,29 @@ for f in /data/gogs/data /data/gogs/conf /data/gogs/log /data/git /data/ssh; do
done
done
# Bind linked docker container to localhost socket using socat
# Bind linked docker container to localhost socket using socat
USED_PORT = "3000:22"
LINK = $( echo " $SOCAT_LINK " | tr '[:upper:]' '[:lower:]' )
while read NAME ADDR PORT; do
if [ " $LINK " != "false" -a " $LINK " != "0" ] ; then
if test -z " $NAME $ADDR $PORT " ; then
continue
USED_PORT = "3000:22"
elif echo $USED_PORT | grep -E " (^|:) $PORT ( $|:) " > /dev/null; then
while read NAME ADDR PORT; do
echo " init:socat | Can't bind linked container ${ NAME } to localhost, port ${ PORT } already in use " 1>& 2
if test -z " $NAME $ADDR $PORT " ; then
else
continue
SERV_FOLDER = /app/gogs/docker/s6/SOCAT_${ NAME } _${ PORT }
elif echo $USED_PORT | grep -E " (^|:) $PORT ( $|:) " > /dev/null; then
mkdir -p ${ SERV_FOLDER }
echo " init:socat | Can't bind linked container ${ NAME } to localhost, port ${ PORT } already in use " 1>& 2
CMD = " socat -ls TCP4-LISTEN: ${ PORT } ,fork,reuseaddr TCP4: ${ ADDR } : ${ PORT } "
else
echo -e " #!/bin/sh\nexec $CMD " > ${ SERV_FOLDER } /run
SERV_FOLDER = /app/gogs/docker/s6/SOCAT_${ NAME } _${ PORT }
chmod +x ${ SERV_FOLDER } /run
mkdir -p ${ SERV_FOLDER }
USED_PORT = " ${ USED_PORT } : ${ PORT } "
CMD = " socat -ls TCP4-LISTEN: ${ PORT } ,fork,reuseaddr TCP4: ${ ADDR } : ${ PORT } "
echo " init:socat | Linked container ${ NAME } will be binded to localhost on port ${ PORT } " 1>& 2
echo -e " #!/bin/sh\nexec $CMD " > ${ SERV_FOLDER } /run
fi
chmod +x ${ SERV_FOLDER } /run
done << EOT
USED_PORT = " ${ USED_PORT } : ${ PORT } "
$( env | sed -En 's|(.*)_PORT_([0-9]+)_TCP=tcp://(.*):([0-9]+)|\1 \3 \4|p' )
echo " init:socat | Linked container ${ NAME } will be binded to localhost on port ${ PORT } " 1>& 2
EOT
fi
done << EOT
$( env | sed -En 's|(.*)_PORT_([0-9]+)_TCP=tcp://(.*):([0-9]+)|\1 \3 \4|p' )
EOT
fi
# Exec CMD or S6 by default if nothing present
# Exec CMD or S6 by default if nothing present
if [ $# -gt 0 ] ; then
if [ $# -gt 0 ] ; then