mirror of
https://gitee.com/dify_ai/dify.git
synced 2024-12-04 12:17:52 +08:00
488e3c3d56
Co-authored-by: 天魂 <365125264@qq.com>
43 lines
1.7 KiB
Bash
Executable File
43 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 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)
|
|
}
|
|
print
|
|
}' /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
|