Move all scripts to /usr/local/bin to simplify dockerfile

Signed-off-by: Adam Warner <me@adamwarner.co.uk>
This commit is contained in:
Adam Warner 2022-08-29 11:48:07 +01:00
parent 55f4f89a0c
commit e6d4c3091f
No known key found for this signature in database
GPG Key ID: 872950F3ECF2B173
10 changed files with 10 additions and 13 deletions

View File

@ -6,7 +6,6 @@ ENV PIHOLE_DOCKER_TAG "${PIHOLE_DOCKER_TAG}"
ENV S6_OVERLAY_VERSION v3.1.1.2
COPY ./scripts/install.sh /usr/local/bin/install.sh
ENV PIHOLE_INSTALL /etc/.pihole/automated\ install/basic-install.sh
ENTRYPOINT [ "/s6-init" ]
@ -22,9 +21,6 @@ ARG PHP_ENV_CONFIG
ENV PHP_ENV_CONFIG /etc/lighttpd/conf-enabled/15-fastcgi-php.conf
ARG PHP_ERROR_LOG
ENV PHP_ERROR_LOG /var/log/lighttpd/error-pihole.log
COPY ./scripts/start.sh /
COPY ./scripts/bash_functions.sh /
COPY ./scripts/gravityonboot.sh /
# IPv6 disable flag for networks/devices that do not support it
ENV IPv6 True

View File

@ -1,2 +1,2 @@
#!/command/execlineb
background { bash -e /gravityonboot.sh }
background { bash -e /usr/local/bin/gravityonboot.sh }

View File

@ -0,0 +1 @@
_uid-gid-changer

View File

@ -1,2 +1,2 @@
#!/command/execlineb
foreground { bash -e /start.sh }
foreground { bash -e /usr/local/bin/start.sh }

View File

@ -6,7 +6,7 @@ fi
# The below functions are all contained in bash_functions.sh
# shellcheck source=/dev/null
. /bash_functions.sh
. /usr/local/bin/bash_functions.sh
# shellcheck source=/dev/null
SKIP_INSTALL=true . "${PIHOLE_INSTALL}"

View File

@ -43,7 +43,7 @@ def test_overrides_default_web_port(docker, slow, test_args):
CONFIG_LINE = r'server.port\s*=\s*999'
WEB_CONFIG = '/etc/lighttpd/lighttpd.conf'
function = docker.run('. /bash_functions.sh ; eval `grep setup_web_port /start.sh`')
function = docker.run('. /bash_functions.sh ; eval `grep setup_web_port /usr/local/bin/start.sh`')
assert "Custom WEB_PORT set to 999" in function.stdout
assert "INFO: Without proper router DNAT forwarding to 127.0.0.1:999, you may not get any blocked websites on ads" in function.stdout
slow(lambda: re.search(CONFIG_LINE, docker.run(_cat(WEB_CONFIG)).stdout) != None)
@ -55,7 +55,7 @@ def test_overrides_default_web_port(docker, slow, test_args):
('-e WEB_PORT="99999"', 'WARNING: Custom WEB_PORT not used - 99999 is not within valid port range of 1-65535'),
])
def test_bad_input_to_web_port(docker, test_args, expected_error):
function = docker.run('. /bash_functions.sh ; eval `grep setup_web_port /start.sh`')
function = docker.run('. /bash_functions.sh ; eval `grep setup_web_port /usr/local/bin/start.sh`')
assert expected_error in function.stdout
@ -64,7 +64,7 @@ def test_overrides_default_custom_cache_size(docker, slow, test_args, cache_size
''' Changes the cache_size setting to increase or decrease the cache size for dnsmasq'''
CONFIG_LINE = r'cache-size\s*=\s*{}'.format(cache_size)
function = docker.run('echo ${CUSTOM_CACHE_SIZE};. ./bash_functions.sh; echo ${CUSTOM_CACHE_SIZE}; eval `grep setup_FTL_CacheSize /start.sh`')
function = docker.run('echo ${CUSTOM_CACHE_SIZE};. ./bash_functions.sh; echo ${CUSTOM_CACHE_SIZE}; eval `grep setup_FTL_CacheSize /usr/local/bin/start.sh`')
assert "Custom CUSTOM_CACHE_SIZE set to {}".format(cache_size) in function.stdout
slow(lambda: re.search(CONFIG_LINE, docker.run(_cat(DNSMASQ_CONFIG_LOC)).stdout) != None)
@ -113,7 +113,7 @@ expected_debian_lines = [
def test_debian_setup_php_env(docker, expected_lines, repeat_function):
''' confirm all expected output is there and nothing else '''
for _ in range(repeat_function):
docker.run('. /bash_functions.sh ; eval `grep setup_php_env /start.sh`').stdout
docker.run('. /bash_functions.sh ; eval `grep setup_php_env /usr/local/bin/start.sh`').stdout
for expected_line in expected_lines:
search_config_cmd = "grep -c '{}' /etc/lighttpd/conf-enabled/15-fastcgi-php.conf".format(expected_line)
search_config_count = docker.run(search_config_cmd)

View File

@ -5,7 +5,7 @@ import time
docker containers (esp. musl based OSs) stripped down nature '''
# If the test runs /start.sh, do not let s6 run it too! Kill entrypoint to avoid race condition/duplicated execution
# If the test runs /usr/local/bin/start.sh, do not let s6 run it too! Kill entrypoint to avoid race condition/duplicated execution
@pytest.mark.parametrize('entrypoint,cmd', [('--entrypoint=tail','-f /dev/null')])
@pytest.mark.parametrize('args,error_msg,expect_rc', [
('-e FTLCONF_LOCAL_IPV4="1.2.3.z"', "FTLCONF_LOCAL_IPV4 Environment variable (1.2.3.z) doesn't appear to be a valid IPv4 address",1),
@ -13,7 +13,7 @@ import time
('-e FTLCONF_LOCAL_IPV4="1.2.3.4" -e FTLCONF_LOCAL_IPV6="kernel"', "ERROR: You passed in IPv6 with a value of 'kernel'",1),
])
def test_ftlconf_local_addr_invalid_ips_triggers_exit_error(docker, error_msg, expect_rc):
start = docker.run('/start.sh')
start = docker.run('/usr/local/bin/start.sh')
assert start.rc == expect_rc
assert 'ERROR' in start.stdout
assert error_msg in start.stdout