2017-05-14 00:03:24 +02:00
|
|
|
#!/usr/bin/with-contenv bash
|
|
|
|
|
2019-02-06 11:02:30 +01:00
|
|
|
s6-echo "Starting pihole-FTL ($FTL_CMD) as ${DNSMASQ_USER}"
|
2021-02-17 00:09:49 +01:00
|
|
|
# Remove possible leftovers from previous pihole-FTL processes
|
|
|
|
rm -f /dev/shm/FTL-* 2> /dev/null
|
|
|
|
rm /run/pihole/FTL.sock 2> /dev/null
|
2022-01-18 00:28:02 +01:00
|
|
|
|
2022-04-01 20:45:16 +02:00
|
|
|
# install /dev/null files to ensure they exist (create if non-existing, preserve if existing)
|
2022-01-18 00:28:02 +01:00
|
|
|
mkdir -pm 0755 /run/pihole
|
2022-04-01 20:45:16 +02:00
|
|
|
[[ ! -f /run/pihole-FTL.pid ]] && install /dev/null /run/pihole-FTL.pid
|
|
|
|
[[ ! -f /run/pihole-FTL.port ]] && install /dev/null /run/pihole-FTL.port
|
2022-06-12 13:59:18 +02:00
|
|
|
[[ ! -f /var/log/pihole/pihole-FTL.log ]] && install /dev/null /var/log/pihole/pihole-FTL.log
|
|
|
|
[[ ! -f /var/log/pihole/pihole.log ]] && install /dev/null /var/log/pihole/pihole.log
|
2022-04-01 20:45:16 +02:00
|
|
|
[[ ! -f /etc/pihole/dhcp.leases ]] && install /dev/null /etc/pihole/dhcp.leases
|
2022-01-18 00:28:02 +01:00
|
|
|
|
|
|
|
# Ensure that permissions are set so that pihole-FTL can edit all necessary files
|
2022-06-12 13:59:18 +02:00
|
|
|
chown pihole:pihole /run/pihole-FTL.pid /run/pihole-FTL.port /var/log/pihole/pihole-FTL.log /var/log/pihole/pihole.log /etc/pihole/dhcp.leases /run/pihole /etc/pihole
|
|
|
|
chmod 0644 /run/pihole-FTL.pid /run/pihole-FTL.port /var/log/pihole/pihole-FTL.log /var/log/pihole/pihole.log /etc/pihole/dhcp.leases
|
2022-01-18 00:28:02 +01:00
|
|
|
|
|
|
|
# Ensure that permissions are set so that pihole-FTL can edit the files. We ignore errors as the file may not (yet) exist
|
|
|
|
chmod -f 0644 /etc/pihole/macvendor.db
|
|
|
|
# Chown database files to the user FTL runs as. We ignore errors as the files may not (yet) exist
|
|
|
|
chown -f pihole:pihole /etc/pihole/pihole-FTL.db /etc/pihole/gravity.db /etc/pihole/macvendor.db
|
|
|
|
# Chown database file permissions so that the pihole group (web interface) can edit the file. We ignore errors as the files may not (yet) exist
|
|
|
|
chmod -f 0664 /etc/pihole/pihole-FTL.db
|
|
|
|
|
2022-06-12 13:59:18 +02:00
|
|
|
# Backward compatibility for user-scripts that still expect log files in /var/log instead of /var/log/pihole/
|
|
|
|
# Should be removed with Pi-hole v6.0
|
|
|
|
if [ ! -f /var/log/pihole.log ]; then
|
|
|
|
ln -s /var/log/pihole/pihole.log /var/log/pihole.log
|
|
|
|
chown -h pihole:pihole /var/log/pihole.log
|
|
|
|
|
|
|
|
fi
|
|
|
|
if [ ! -f /var/log/pihole-FTL.log ]; then
|
|
|
|
ln -s /var/log/pihole/pihole-FTL.log /var/log/pihole-FTL.log
|
|
|
|
chown -h pihole:pihole /var/log/pihole-FTL.log
|
|
|
|
fi
|
|
|
|
|
2022-04-02 20:58:42 +02:00
|
|
|
# Call capsh with the detected capabilities
|
2022-04-04 19:07:08 +02:00
|
|
|
capsh --inh=${CAP_STR:1} --addamb=${CAP_STR:1} --user=$DNSMASQ_USER --keep=1 -- -c "/usr/bin/pihole-FTL $FTL_CMD >/dev/null 2>&1"
|
2019-02-08 02:51:15 +01:00
|
|
|
|
|
|
|
# Notes on above:
|
2022-01-02 15:29:54 +01:00
|
|
|
# - DNSMASQ_USER default of pihole is in Dockerfile & can be overwritten by runtime container env
|
2022-06-12 14:10:12 +02:00
|
|
|
# - /var/log/pihole/pihole*.log has FTL's output that no-daemon would normally print in FG too
|
2019-02-08 02:51:15 +01:00
|
|
|
# prevent duplicating it in docker logs by sending to dev null
|