forgejo/docker/start.sh
Jean-Philippe Roemer ad5e0b833c Docker Container: Init 1 & Initialisation
- Now using a setup script before starting the app. The separation of
the run script and the setup script will make service initialisation a
little bit clearer
- Now calling start.sh script as ENTRYPOINT and S6 as CMD. This way
when running the container with just a shell script, the start.sh
script will be launched before, making debugging easier
- Added note about `.dockerignore` ignored during Docker Hub Automated
Build
2015-10-02 23:13:39 +01:00

16 lines
512 B
Bash
Executable file

#!/bin/sh
# Bind linked docker container to localhost socket using socat
env | sed -En 's|(.*)_PORT_([0-9]*)_TCP=tcp://(.*):(.*)|\1_\2 socat -ls TCP4-LISTEN:\2,fork,reuseaddr TCP4:\3:\4|p' | \
while read NAME CMD; do
mkdir -p /app/gogs/docker/s6/$NAME
echo -e "#!/bin/sh\nexec $CMD" > /app/gogs/docker/s6/$NAME/run
chmod +x /app/gogs/docker/s6/$NAME/run
done
# Exec CMD or S6 by default if nothing present
if [ $# -gt 0 ];then
exec "$@"
else
exec /usr/bin/s6-svscan /app/gogs/docker/s6/
fi