2021-02-15 08:25:55 -08:00
|
|
|
#!/bin/bash
|
|
|
|
|
2022-01-01 06:52:31 -08:00
|
|
|
# Copyright 2022 Google LLC
|
2021-02-15 08:25:55 -08:00
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# https://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
#
|
|
|
|
# This container is based off Sameer Naik's existing squid container.
|
|
|
|
# https://github.com/sameersbn/docker-squid
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
create_log_dir() {
|
|
|
|
mkdir -p ${SQUID_LOG_DIR}
|
|
|
|
chmod -R 755 ${SQUID_LOG_DIR}
|
|
|
|
chown -R ${SQUID_USER}:${SQUID_USER} ${SQUID_LOG_DIR}
|
|
|
|
}
|
|
|
|
|
|
|
|
create_cache_dir() {
|
|
|
|
mkdir -p ${SQUID_CACHE_DIR}
|
|
|
|
chown -R ${SQUID_USER}:${SQUID_USER} ${SQUID_CACHE_DIR}
|
|
|
|
}
|
|
|
|
|
|
|
|
create_log_dir
|
|
|
|
create_cache_dir
|
|
|
|
|
|
|
|
# allow arguments to be passed to squid
|
|
|
|
if [[ ${1:0:1} = '-' ]]; then
|
|
|
|
EXTRA_ARGS="$@"
|
|
|
|
set --
|
|
|
|
elif [[ ${1} == squid || ${1} == $(which squid) ]]; then
|
|
|
|
EXTRA_ARGS="${@:2}"
|
|
|
|
set --
|
|
|
|
fi
|
|
|
|
|
|
|
|
# default behaviour is to launch squid
|
|
|
|
if [[ -z ${1} ]]; then
|
|
|
|
if [[ ! -d ${SQUID_CACHE_DIR}/00 ]]; then
|
|
|
|
echo "Initializing cache..."
|
|
|
|
$(which squid) -N -f /etc/squid/squid.conf -z
|
|
|
|
fi
|
|
|
|
echo "Starting squid..."
|
|
|
|
exec $(which squid) -f /etc/squid/squid.conf -NYCd 1 ${EXTRA_ARGS}
|
|
|
|
else
|
|
|
|
exec "$@"
|
|
|
|
fi
|