Add syslog & fix `/data/git` rights & SOCAT_LINK env var

- Resolve #1893
- Add syslogd to output sshd log on stdout (via `docker logs`)
- Enforce directory rights on `/data/git`, `/data/gogs` & `/data/ssh`
- Add `SOCAT_LINK` environment variable to prevent the creation of scout links when they are not needed (see #1815)
tokarchuk/v1.17
Jean-Philippe Roemer 9 years ago
parent 603c7389b8
commit 9a8aeef478
  1. 1
      docker/s6/gogs/setup
  2. 3
      docker/s6/openssh/setup
  3. 7
      docker/s6/syslogd/run
  4. 15
      docker/start.sh

@ -20,3 +20,4 @@ ln -sf /data/gogs/data ./data
ln -sf /data/git /home/git ln -sf /data/git /home/git
chown -R git:git /data /app/gogs ~git/ chown -R git:git /data /app/gogs ~git/
chmod 0755 /data /data/gogs ~git/

@ -23,4 +23,5 @@ fi
# Set correct right to ssh keys # Set correct right to ssh keys
chown -R root:root /data/ssh/* chown -R root:root /data/ssh/*
chmod 600 /data/ssh/* chmod 0700 /data/ssh
chmod 0600 /data/ssh/*

@ -0,0 +1,7 @@
#!/bin/sh
if test -f ./setup; then
source ./setup
fi
exec gosu root /sbin/syslogd -nS -O-

@ -13,8 +13,11 @@ 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
USED_PORT="3000:22"
while read NAME ADDR PORT; do
if test -z "$NAME$ADDR$PORT"; then if test -z "$NAME$ADDR$PORT"; then
continue continue
elif echo $USED_PORT | grep -E "(^|:)$PORT($|:)" > /dev/null; then elif echo $USED_PORT | grep -E "(^|:)$PORT($|:)" > /dev/null; then
@ -28,9 +31,11 @@ while read NAME ADDR PORT; do
USED_PORT="${USED_PORT}:${PORT}" USED_PORT="${USED_PORT}:${PORT}"
echo "init:socat | Linked container ${NAME} will be binded to localhost on port ${PORT}" 1>&2 echo "init:socat | Linked container ${NAME} will be binded to localhost on port ${PORT}" 1>&2
fi fi
done << EOT done << EOT
$(env | sed -En 's|(.*)_PORT_([0-9]+)_TCP=tcp://(.*):([0-9]+)|\1 \3 \4|p') $(env | sed -En 's|(.*)_PORT_([0-9]+)_TCP=tcp://(.*):([0-9]+)|\1 \3 \4|p')
EOT 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

Loading…
Cancel
Save