mirror of
				https://github.com/langgenius/dify.git
				synced 2025-11-03 20:33:00 +00:00 
			
		
		
		
	
		
			
	
	
		
			43 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			43 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								#!/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
							 |