diff --git a/src/Dockerfile b/src/Dockerfile index af8b4a4..d452acf 100644 --- a/src/Dockerfile +++ b/src/Dockerfile @@ -9,6 +9,6 @@ ENV XDG_CACHE_HOME=/cache VOLUME ["/usr/local/share/ca-certificates"] -ENTRYPOINT ["./update-ca.sh"] +ENTRYPOINT ["./entrypoint.sh"] -CMD ["./entrypoint.sh"] +CMD [] diff --git a/src/entrypoint.sh b/src/entrypoint.sh index a223b7b..bfc8c0d 100755 --- a/src/entrypoint.sh +++ b/src/entrypoint.sh @@ -1,11 +1,38 @@ #!/bin/sh -# Dump all env vars so we can source them in cron jobs -printenv | sed 's/^\(.*\)$/export \1/g' > /env.sh +set -e -# Write crontab -rcb crontab > crontab +setup_cacerts(){ -# start cron in the foreground -crontab crontab -crond -f + update-ca-certificates +} + +dump_env(){ + + # Dump all env vars so we can source them in cron jobs + printenv | sed 's/^\(.*\)$/export \1/g' > /env.sh +} + +setup_crontab(){ + + # Write crontab + rcb crontab > crontab + + # start cron in the foreground + crontab crontab + crond -f +} + +start_app(){ + + setup_cacerts + + if [ "$1" = '' ]; then + dump_env + setup_crontab + else + exec "$@" + fi +} + +start_app "$@" diff --git a/src/update-ca.sh b/src/update-ca.sh deleted file mode 100755 index 813f5f6..0000000 --- a/src/update-ca.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -# Update CA certificates -update-ca-certificates