53 lines
1.8 KiB
Docker
53 lines
1.8 KiB
Docker
FROM alpine:edge
|
|
MAINTAINER adam@diginc.us <adam@diginc.us>
|
|
|
|
RUN apk add --update \
|
|
dnsmasq \
|
|
nginx \
|
|
ca-certificates \
|
|
php-fpm php-json libxml2 \
|
|
bc bash curl perl && \
|
|
apk add --update --repository http://dl-1.alpinelinux.org/alpine/edge/testing/ tini && \
|
|
rm -rf /var/cache/apk/*
|
|
|
|
# Customized from submodules
|
|
COPY ./alpine/gravity.sh /usr/local/bin/
|
|
COPY ./alpine/nginx.conf /etc/nginx/nginx.conf
|
|
# Original upstream pihole code being used
|
|
COPY ./pi-hole/adlists.default /etc/pihole/
|
|
COPY ./pi-hole/pihole /usr/local/bin/
|
|
COPY ./pi-hole/advanced/Scripts/* /usr/local/bin/
|
|
COPY ./pi-hole/advanced/dnsmasq.conf.original /etc/dnsmasq.conf
|
|
COPY ./pi-hole/advanced/01-pihole.conf /etc/dnsmasq.d/
|
|
COPY ./pi-hole/advanced/index.html /var/www/html/pihole/index.html
|
|
COPY ./AdminLTE /var/www/html/admin
|
|
COPY ./AdminLTE_version.txt /etc/
|
|
COPY ./pi-hole_version.txt /etc/
|
|
|
|
# Things installer did
|
|
RUN mkdir -p /etc/pihole/ && \
|
|
mkdir -p /var/www/html/pihole && \
|
|
mkdir -p /var/www/html/admin/ && \
|
|
chown nginx:nginx /var/www/html && \
|
|
chmod 775 /var/www/html && \
|
|
touch /var/log/pihole.log && \
|
|
chmod 644 /var/log/pihole.log && \
|
|
chown dnsmasq:root /var/log/pihole.log && \
|
|
sed -i "s/@INT@/eth0/" /etc/dnsmasq.d/01-pihole.conf && \
|
|
sed -i 's|"cd /etc/.pihole/ && git describe --tags --abbrev=0"|"cat /etc/pi-hole_version.txt"|g' /var/www/html/admin/footer.php && \
|
|
sed -i 's|"cd /var/www/html/admin/ && git describe --tags --abbrev=0"|"cat /etc/AdminLTE_version.txt"|g' /var/www/html/admin/footer.php
|
|
|
|
# This chould be eliminated if all (upstream) files were +x in git
|
|
RUN chmod +x /usr/local/bin/*.sh
|
|
|
|
# Fix dnsmasq in docker
|
|
RUN grep -q '^user=root' || echo 'user=root' >> /etc/dnsmasq.conf
|
|
|
|
COPY ./alpine/start.sh /
|
|
|
|
EXPOSE 53 53/udp
|
|
EXPOSE 80
|
|
|
|
ENTRYPOINT ["tini", "--"]
|
|
CMD /start.sh
|