Spaces:
Paused
Paused
| # Modified based on Squid OCI image entrypoint | |
| # This entrypoint aims to forward the squid logs to stdout to assist users of | |
| # common container related tooling (e.g., kubernetes, docker-compose, etc) to | |
| # access the service logs. | |
| # Moreover, it invokes the squid binary, leaving all the desired parameters to | |
| # be provided by the "command" passed to the spawned container. If no command | |
| # is provided by the user, the default behavior (as per the CMD statement in | |
| # the Dockerfile) will be to use Ubuntu's default configuration [1] and run | |
| # squid with the "-NYC" options to mimic the behavior of the Ubuntu provided | |
| # systemd unit. | |
| # [1] The default configuration is changed in the Dockerfile to allow local | |
| # network connections. See the Dockerfile for further information. | |
| echo "[ENTRYPOINT] re-create snakeoil self-signed certificate removed in the build process" | |
| if [ ! -f /etc/ssl/private/ssl-cert-snakeoil.key ]; then | |
| /usr/sbin/make-ssl-cert generate-default-snakeoil --force-overwrite > /dev/null 2>&1 | |
| fi | |
| tail -F /var/log/squid/access.log 2>/dev/null & | |
| tail -F /var/log/squid/error.log 2>/dev/null & | |
| tail -F /var/log/squid/store.log 2>/dev/null & | |
| tail -F /var/log/squid/cache.log 2>/dev/null & | |
| # Replace environment variables in the template and output to the squid.conf | |
| echo "[ENTRYPOINT] replacing environment variables in the template" | |
| awk '{ | |
| while(match($0, /\${[A-Za-z_][A-Za-z_0-9]*}/)) { | |
| var = substr($0, RSTART+2, RLENGTH-3) | |
| val = ENVIRON[var] | |
| $0 = substr($0, 1, RSTART-1) val substr($0, RSTART+RLENGTH) | |
| } | |
| }' /etc/squid/squid.conf.template > /etc/squid/squid.conf | |
| /usr/sbin/squid -Nz | |
| echo "[ENTRYPOINT] starting squid" | |
| /usr/sbin/squid -f /etc/squid/squid.conf -NYC 1 | |